?? usermanunit.pas
字號(hào):
unit UserManUnit;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls, ExtCtrls, Buttons, ImgList, StdCtrls;
type
TUserManForm = class(TForm)
Panel1: TPanel;
ControlPanel: TPanel;
EditPanel: TPanel;
AddPanel: TPanel;
ExitButton: TSpeedButton;
AddButton: TSpeedButton;
EditButton: TSpeedButton;
DelButton: TSpeedButton;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Edit7: TEdit;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
EditYesButton: TSpeedButton;
EditCancelButton: TSpeedButton;
AddYesButton: TSpeedButton;
AddCancelButton: TSpeedButton;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
EditSignPanel: TPanel;
AddSignPanel: TPanel;
Label6: TLabel;
Label7: TLabel;
Label1: TLabel;
Label2: TLabel;
ListView1: TListView;
ImageList1: TImageList;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure ExitButtonClick(Sender: TObject);
procedure EditCancelButtonClick(Sender: TObject);
procedure AddCancelButtonClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure AddButtonClick(Sender: TObject);
procedure Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit3KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure AddYesButtonClick(Sender: TObject);
procedure ListView1Click(Sender: TObject);
procedure DelButtonClick(Sender: TObject);
procedure EditButtonClick(Sender: TObject);
procedure EditYesButtonClick(Sender: TObject);
procedure Edit4KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit7KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
end;
var
UserManForm: TUserManForm;
implementation
uses DataUnit,MainUnit,PublicUnit;
{$R *.DFM}
procedure TUserManForm.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
DataForm.qryEdit.close;
end;
procedure TUserManForm.ExitButtonClick(Sender: TObject);
begin
close;
end;
procedure TUserManForm.EditCancelButtonClick(Sender: TObject);
begin
Edit4.Clear;
Edit5.clear;
Edit6.clear;
Edit7.clear;
EditPanel.Visible := False;
end;
procedure TUserManForm.AddCancelButtonClick(Sender: TObject);
begin
Edit1.clear;
Edit2.clear;
Edit3.clear;
AddPanel.Visible := False;
end;
procedure TUserManForm.FormShow(Sender: TObject);
var
UserName:String;
Mylist:TListItem;
begin
ListView1.Items.Clear;
Try
OpenSQL(DataForm.qrySource,'Select * From UserInfo');
If DataForm.qrySource.IsEmpty Then Exit;
DataForm.qrySource.FindFirst;
While Not DataForm.qrySource.Eof Do
Begin
UserName := DataForm.qrySource.FieldbyName('UserName').AsString;
Mylist :=Listview1.Items.Add;
Mylist.Caption := UserName;
Mylist.ImageIndex:= 0;
DataForm.qrySource.Next;
end;
Finally
DataForm.qrySource.Close;
End;
end;
procedure TUserManForm.AddButtonClick(Sender: TObject);
begin
If AddPanel.Visible Then
AddPanel.Visible:=False
Else
Begin
AddPanel.Visible:=True;
Edit1.Text:='';
Edit1.SetFocus;
End;
end;
procedure TUserManForm.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (key = 13) or (key = vk_down) then
selectnext(ActiveControl,true,true);
if key = vk_up then
selectnext(ActiveControl,false,true);
end;
procedure TUserManForm.Edit3KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = 13 then
AddYesButton.Click;
if key = vk_up then
selectnext(ActiveControl,false,true);
end;
procedure TUserManForm.AddYesButtonClick(Sender: TObject);
Var
UserName,QryText:String;
Mylist:TListItem;
begin
If Trim(Edit1.Text) = '' Then
Begin
ShowMessage('用戶名稱不能為空。');
Edit1.SetFocus;
Exit;
End;
If Trim(Edit2.Text)<>Trim(Edit3.Text) Then
Begin
ShowMessage('口令校驗(yàn)錯(cuò)誤,請(qǐng)重新輸入。');
Edit2.SetFocus;
Edit2.SelectAll;
Edit3.Text:='';
Exit;
End;
Try
QryText := 'Select * From userinfo Where UserName = '+''''+Trim(Edit1.Text)+''' ';
OpenSQL(DataForm.qryEdit,QryText); //測(cè)試用戶名稱是否被使用
IF Not DataForm.qryEdit.IsEmpty Then
Begin
ShowMessage('該用戶名稱已被占用,請(qǐng)重新輸入。');
Edit1.SelectAll;
Edit1.SetFocus;
Exit;
End;
QryText := 'Insert Into userinfo(UserName,Pwd) Values('''+Trim(Edit1.Text)+''','''+Trim(Edit2.Text)+''')';
ExecSQL(DataForm.qryEdit,qrytext); //保存
Try //重新刷新數(shù)據(jù)
OpenSQL(DataForm.qrySource,'Select * From UserInfo');
ListView1.Items.Clear;
DataForm.qrySource.First;
While Not DataForm.qrySource.Eof Do
Begin
UserName:=DataForm.qrySource.FieldbyName('UserName').AsString;
Mylist :=Listview1.Items.Add;
Mylist.Caption := UserName;
Mylist.ImageIndex:= 0;
DataForm.qrySource.Next;
end;
Finally
DataForm.qrySource.Close;
End;
Except
ShowMessage('訪問(wèn)數(shù)據(jù)庫(kù)發(fā)生異常,添加用戶操作失敗。');
Exit;
End;
AddCancelButton.Click;
end;
procedure TUserManForm.ListView1Click(Sender: TObject);
begin
If ListView1.Selected <> Nil Then
Begin
AddButton.Enabled:=False;
EditButton.Enabled:=True;
DelButton.Enabled:=True;
If EditPanel.Visible Then
EditButton.Click;
End
Else
Begin
AddButton.Enabled:=True;
EditButton.Enabled:=False;
DelButton.Enabled:=False;
End;
end;
procedure TUserManForm.DelButtonClick(Sender: TObject);
var
MyGetlist,MyDellist:Tlistitem;
DelName:string;
Myindex:integer;
Begin
IF Listview1.Selected = nil Then Exit;
MyGetlist := Listview1.Selected; //獲得鼠標(biāo)單擊的圖標(biāo)索引及名稱
DelName := Trim(MyGetlist.Caption);
Myindex := Mygetlist.Index ;
if Trim(DelName) = trim(MainForm.StatusBar1.Panels[1].Text) then
begin
ShowMessage('不能刪除當(dāng)前用戶。');
Exit;
end;
if MessageDlg('確實(shí)要?jiǎng)h除用戶‘'+DelName+'’嗎?',mtConfirmation,[mbyes,mbno],0) = mryes then
begin
Try
ExecSQL(DataForm.qryEdit,'Delete From UserInfo Where UserName ='+''''+DelName+''' ');
MyDelList:=Listview1.Items.Item[myindex];
Mydellist.Delete;
Except
ShowMessage('訪問(wèn)數(shù)據(jù)庫(kù)發(fā)生異常,刪除操作失敗。');
Exit;
End;
end;
end;
procedure TUserManForm.EditButtonClick(Sender: TObject);
Var
SelectItem:TListItem;
UserName:String;
begin
If EditPanel.Visible Then EditPanel.Visible := False;
EditPanel.Visible := True;
Try
SelectItem := ListView1.Selected;
UserName := SelectItem.Caption;
OpenSQL(DataForm.qryEdit,'Select * From UserInfo Where UserName='+''''+UserName+''' ');
Edit4.Text:=DataForm.qryEdit.fieldbyName('UserName').AsString;
Edit5.SetFocus;
Except
ShowMessage('訪問(wèn)數(shù)據(jù)庫(kù)發(fā)生異常,用戶編輯操作失敗。');
Exit;
End;
end;
procedure TUserManForm.EditYesButtonClick(Sender: TObject);
begin
Try
OpenSQL(DataForm.qryEdit,'Select * From UserInfo Where UserName='+''''+Trim(Edit4.Text)+''' ');
If Trim(Edit5.Text)<>Trim(DataForm.qryEdit.fieldbyname('Pwd').AsString) Then
Begin
ShowMessage('老口令校驗(yàn)不正確,請(qǐng)重新輸入.');
Edit5.SetFocus;
Edit5.SelectAll;
Exit;
End;
If Trim(Edit6.Text)<>Trim(Edit7.Text) Then
Begin
ShowMessage('口令校驗(yàn)不正確,請(qǐng)重新輸入.');
Edit6.SetFocus;
Edit6.SelectAll;
Edit7.Text:='';
Exit;
End;
ExecSQL(DataForm.qryEdit,'Update UserInfo SET Pwd='+''''+Trim(Edit6.Text)+''''+' Where UserName = '+''''+Trim(Edit4.Text)+''' ');
Except
ShowMessage('訪問(wèn)數(shù)據(jù)庫(kù)發(fā)生異常,用戶編輯操作失敗。');
Exit;
End;
EditCancelButton.Click;
end;
procedure TUserManForm.Edit4KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (key = 13) or (key = vk_down) then
selectnext(ActiveControl,true,true);
if key = vk_up then
selectnext(ActiveControl,false,true);
end;
procedure TUserManForm.Edit7KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = 13 then
EditYesButton.Click;
if key = vk_up then
selectnext(ActiveControl,false,true);
end;
end.
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -