?? 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 + -