📄 unit7.pas
字号:
unit Unit7;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, ComCtrls, DB, ADODB;
type
TForm7 = class(TForm)
GroupBox3: TGroupBox;
GroupBox4: TGroupBox;
GroupBox5: TGroupBox;
stb: TStatusBar;
GroupBox1: TGroupBox;
ListBox1: TListBox;
Splitter1: TSplitter;
GroupBox2: TGroupBox;
ListBox2: TListBox;
Splitter2: TSplitter;
Label1: TLabel;
Edit1: TEdit;
Button1: TButton;
Button2: TButton;
Button5: TButton;
Label6: TLabel;
ComboBox1: TComboBox;
Label2: TLabel;
Edit2: TEdit;
Button3: TButton;
Button4: TButton;
Button6: TButton;
Label3: TLabel;
Edit3: TEdit;
Edit4: TEdit;
Label4: TLabel;
Label5: TLabel;
Edit5: TEdit;
Button7: TButton;
Button8: TButton;
ADOQuery1: TADOQuery;
ADOQuery1DSDesigner: TAutoIncField;
ADOQuery1DSDesigner2: TWideStringField;
procedure AddXtToList(xtm:string);
procedure AddDwToList(xtm,dwm:string);
procedure LoadXTtoList();
procedure LoadDWtoList(strxt:string);
procedure selectDB(_strsql:string;_Query: TADOQuery;select:boolean);
procedure FormCreate(Sender: TObject);
procedure ListBox1Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure ListBox2Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form7: TForm7;
dw:string;
mypath:string;
implementation
uses Unit6, Unit5;
{$R *.dfm}
procedure TForm7.AddXtToList(xtm:string);
var
tmptree:TTreeNode;
begin
try
tmptree:=form6.Treeclass.Items.Add(form6.Treeclass.Items.GetFirstNode,xtm);
tmptree.ImageIndex:=0;
except
end;
end;
procedure TForm7.AddDwToList(xtm,dwm:string);
var
tmptree:TTreeNode;
i,j:integer;
begin
for i:=0 to form6.Treeclass.Items.Count-1 do begin
if form6.Treeclass.Items[i].Level<>0 then continue ;
if form6.Treeclass.Items[i].Text=xtm then begin
tmptree:= form6.treeclass.Items.AddChild(form6.treeclass.Items[i],dwm);
tmptree.ImageIndex:=1;
end;
end;
end;
procedure TForm7.LoadXTtoList();
var
strsql:string;
begin
strsql:='select 所属系统 from txt order by 系统编号';
selectdb(strsql,adoquery1,true);
listbox1.Items.BeginUpdate;
if adoquery1.RecordCount =0 then begin
exit;
end;
listbox1.Items.Clear;
listbox1.Items.Add('所有单位');
adoquery1.First;
while not adoquery1.Eof do
begin
listbox1.Items.Add(adoquery1.FieldValues['所属系统'] );
ADOquery1.Next;
end;
listbox1.Items.EndUpdate ;
ADOquery1.Close;
combobox1.Items :=listbox1.Items ;
listbox1.ItemIndex:=0;
end;
procedure TForm7.LoadDWtoList(strxt:string);
var
strsql:string;
begin
if strxt='所有单位' then
strsql:='select 单位 from tdw order by 单位编号'
else
strsql:='select 单位 from tdw where 所属系统='''+strxt+''' order by 单位编号';
selectdb(strsql,adoquery1,true);
listbox2.Clear;
if adoquery1.RecordCount =0 then begin
exit;
end;
listbox2.Items.BeginUpdate;
while not adoquery1.Eof do
begin
listbox2.Items.Add(adoquery1.FieldValues['单位']);
ADOquery1.Next;
end;
ADOquery1.Close;
listbox2.Items.EndUpdate;
end;
procedure TForm7.selectDB(_strsql:string;_Query: TADOQuery;select:boolean);
begin
_query.Close;
_query.SQL.Text:=_strsql;
if select then _query.Open
else
_query.ExecSQL;
end;
procedure TForm7.FormCreate(Sender: TObject);
begin
MyPath:=ExtractFilePath(ParamStr(0));
LoadXTtoList();
LoadDWtoList('所有单位');
end;
procedure TForm7.ListBox1Click(Sender: TObject);
var
strxt:string;
begin
strxt:= listbox1.Items.Strings[listbox1.ItemIndex];
LoadDWtoList(strxt);
edit1.Text:=strxt;
stb.Panels[0].Text :='当前系统:'+strxt;
combobox1.ItemIndex:=listbox1.ItemIndex;
//xt:=strxt;
end;
procedure TForm7.Button1Click(Sender: TObject);
var
strsql,strxt:string;
begin
if (trim(edit1.Text)='') or (trim(edit1.Text)='所有单位') then exit;
strxt:=edit1.Text ;
strsql:='select 所属系统 from txt where 所属系统='''+strxt+'''';
selectdb(strsql,adoquery1,true);
if adoquery1.RecordCount >0 then begin
showmessage('系统['+strxt+']已经存在,系统名不可以重复');
exit;
end;
strsql:='insert into txt(所属系统) values('''+strxt+''')' ;
try
selectdb(strsql,adoquery1,false);
listbox1.Items.Add(strxt);
combobox1.Items.Add(strxt);
AddXtToList(strxt);
showmessage('成功添加了系统:['+strxt+']');
except
showmessage('操作数据库时发生错误,添加系统失败');
end;
end;
procedure TForm7.Button2Click(Sender: TObject);
var
strxt,strxt2,strsql:string;
begin
if trim(edit1.Text)='' then exit;
if listbox1.ItemIndex <1 then begin
showmessage('请先选择要修改的系统名');
listbox1.SetFocus;
exit;
end;
strxt:= listbox1.Items.Strings[listbox1.ItemIndex];
if (trim(edit1.Text)=strxt) or (trim(edit1.Text)='所有单位') then exit;
if MessageDlg('点YES确定修改系统:['+strxt+'],放弃点NO', mtConfirmation, [mbYes, mbNo], 0) = mrYes then begin
strxt2:=edit1.Text;
strsql:='select 所属系统 from txt where 所属系统='''+strxt2+'''';
selectdb(strsql,adoquery1,true);
if adoquery1.RecordCount >0 then begin
showmessage('系统['+strxt2+']已经存在,系统名不可以重复');
exit;
end;
strsql:='update txt set 所属系统 ='''+strxt2+''' where 所属系统 = '''+strxt+'''';
try
selectdb(strsql,adoquery1,false);
listbox1.Items.Strings[listbox1.ItemIndex]:=strxt2;
combobox1.Items.Strings[listbox1.ItemIndex]:=strxt2;
showmessage('成功将:['+strxt+']修改为['+strxt2+']');
except
showmessage('操作数据库时发生错误,修改系统失败');
end;
end;
end;
procedure TForm7.Button5Click(Sender: TObject);
var
strsql,strxt:string;
begin
if listbox1.ItemIndex <1 then begin
showmessage('请先选择要删除的系统名');
listbox1.SetFocus;
exit;
end;
strxt:= listbox1.Items.Strings[listbox1.ItemIndex];
if MessageDlg('点YES确定删除系统:['+strxt+'],将删除该系统下的所有单位', mtConfirmation, [mbYes, mbNo], 0) = mrYes then begin
strsql:='delete from txt where 所属系统='''+strxt+'''';
try
selectdb(strsql,adoquery1,false);
listbox1.DeleteSelected;
combobox1.DeleteSelected;
listbox2.Clear;
showmessage('成功删除系统:['+strxt+']');
except
showmessage('操作数据库时发生错误,删除系统失败');
end;
end;
end;
procedure TForm7.Button3Click(Sender: TObject);
var
strxt,strdw,strsql:string;
begin
if trim(edit2.Text)='' then exit;
if combobox1.ItemIndex <1 then begin
showmessage('请在选择新系统下拉框中选择新单位的所属系统');
combobox1.SetFocus;
exit;
end;
strxt:=listbox1.Items.Strings[listbox1.ItemIndex];
strdw:=edit2.Text ;
strsql:='select 单位 from tdw where 单位='''+strdw+'''';
selectdb(strsql,adoquery1,true);
if adoquery1.RecordCount >0 then begin
showmessage('单位名['+strdw+']已经存在,单位名不可以重复');
exit;
end;
strsql:='insert into tdw(单位,所属系统) values('''+strdw+''','''+strxt+''')' ;
try
selectdb(strsql,adoquery1,false);
listbox2.Items.Add(strdw);
AddDwToList(strxt,strdw);
showmessage('成功添加了单位:['+strdw+']');
except
showmessage('操作数据库时发生错误,添加系统失败');
end;
end;
procedure TForm7.Button4Click(Sender: TObject);
var
strxt2,strdw,strdw2,strsql:string;
begin
if trim(edit2.Text)='' then exit;
if combobox1.ItemIndex <1 then begin
showmessage('请在选择新系统下拉框中选择单位修改后的所属系统');
combobox1.SetFocus;
exit;
end;
strdw:= dw;
strdw2:=edit2.Text;
strxt2:= listbox1.Items.Strings[listbox1.ItemIndex];
if (strdw=strdw2) and (combobox1.Text=strxt2) then exit;
if MessageDlg('点YES确定修改单位:['+strdw+'],放弃点NO', mtConfirmation, [mbYes, mbNo], 0) = mrNo then exit;
strxt2:=combobox1.Text;
strsql:='select 单位 from tdw where 单位='''+strdw2+''' and 所属系统='''+strxt2+'''';
selectdb(strsql,adoquery1,true);
if adoquery1.RecordCount >0 then begin
showmessage('系统['+strxt2+']下已经存在单位['+strdw2+'],单位名不可以重复');
exit;
end;
strsql:='update tdw set 单位 ='''+strdw2+''',所属系统 ='''+
strxt2+''' where 单位 ='''+strdw+'''';
try
selectdb(strsql,adoquery1,false);
listbox2.Items.Strings[listbox2.ItemIndex]:=strdw2;
showmessage('成功将:['+strdw+']修改为['+strdw2+']');
except
showmessage('操作数据库时发生错误,修改系统失败');
end;
end;
procedure TForm7.Button6Click(Sender: TObject);
var
strsql,strdw:string;
begin
if listbox2.ItemIndex <0 then begin
showmessage('请先选择要删除的单位名');
listbox2.SetFocus;
exit;
end;
strdw:= listbox2.Items.Strings[listbox2.ItemIndex];
if MessageDlg('点YES确定删除单位:['+strdw+'],将删除该单位下的所有人员档案', mtConfirmation, [mbYes, mbNo], 0) = mrYes then begin
strsql:='delete from tdw where 单位='''+strdw+'''';
try
selectdb(strsql,adoquery1,false);
listbox2.DeleteSelected;
//combobox1.DeleteSelected;
//listbox2.Clear;
showmessage('成功删除单位:['+strdw+']');
except
showmessage('操作数据库时发生错误,删除单位失败');
end;
end;
end;
procedure TForm7.Button7Click(Sender: TObject);
var
strfile:string;
F: TextFile;
S: string;
begin
if edit4.Text <>edit5.Text then begin
showmessage('两次输入的密码不一致');
exit;
end;
strfile:=mypath +'data\p.lyr';
if not FileExists(strfile) then begin
showmessage('找不到密码初始化文件,操作终止');
exit;
end;
AssignFile(f,strfile);
Reset(F);
Readln(F, S);
CloseFile(F);
if edit3.Text <>s then begin
showmessage('旧密码输入不正确,请仔细检查大小写');
edit3.SetFocus ;
exit;
end;
s:= edit4.Text;
rewrite(f);
writeln(f,s);
closefile(f);
showmessage('修改密码成功');
edit3.Text :='';
edit4.Text :='';
edit5.text:='';
end;
procedure TForm7.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action:=cafree;
end;
procedure TForm7.ListBox2Click(Sender: TObject);
var
strdw:string;
begin
strdw:= listbox2.Items.Strings[listbox2.ItemIndex];
edit2.Text:=strdw;
stb.Panels[1].Text :='当前单位:'+strdw;
dw:=strdw;
end;
procedure TForm7.Button8Click(Sender: TObject);
begin
self.Close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -