?? useroparet.pas
字號:
Unit UserOparet;
Interface
Uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, StdCtrls, LbButton, AAFont, AACtrls;
Type
TUserOparet = Class(TForm)
GroupBox2: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
Edit2: TEdit;
ADOQuery1: TADOQuery;
Label4: TLabel;
Edit3: TEdit;
StaticText1: TStaticText;
LbButton1: TLbButton;
LbButton2: TLbButton;
LbButton3: TLbButton;
AAText1: TAAText;
DataSource1: TDataSource;
Function IsExists(username: String): Boolean;
Procedure FlashGrid;
Procedure Button1Click(Sender: TObject);
Procedure Button2Click(Sender: TObject);
Procedure Edit1Exit(Sender: TObject);
Procedure Button3Click(Sender: TObject);
Procedure FormCreate(Sender: TObject);
Procedure FormClose(Sender: TObject; Var Action: TCloseAction);
Procedure Edit1Change(Sender: TObject);
Private
{ Private declarations }
Public
{ Public declarations }
End;
Const
CSNAME = 'ADMIN';
Var
UserOparetform : TUserOparet;
currusername : String;
Implementation
Uses CnBase64, DM;
{$R *.dfm}
Procedure TUserOparet.FlashGrid;
Begin
ADOQuery1.sql.Clear;
ADOQuery1.sql.Add('SELECT * FROM 用戶登入表');
ADOQuery1.open;
End;
Procedure TUserOparet.Edit1Exit(Sender: TObject);
Var
code : String;
Begin
If IsExists(Edit1.Text) Then Begin
Base64Decode(ADOQuery1.fieldbyname('密碼').AsString, code);
Edit2.Text := code;
End;
End;
//新增
Procedure TUserOparet.Button1Click(Sender: TObject);
Var
Psw64 : String;
Begin
If StrComp(pchar(Edit2.Text), pchar(Edit3.Text)) <> 0 Then Begin
Application.MessageBox('兩次輸入的密碼不一致,請重新輸入。',
'提示信息',
mb_OK + MB_ICONINFORMATION);
Exit;
End;
ADOQuery1.sql.Text := 'select * from 用戶登入表';
ADOQuery1.open;
If ADOQuery1.recordcount = 0 Then Begin
ADOQuery1.Append;
ADOQuery1.fieldbyname('用戶名').AsString := Trim(Edit1.Text);
Base64Encode(Edit2.Text, Psw64);
ADOQuery1.fieldbyname('密碼').AsString := Psw64;
ADOQuery1.post;
Application.MessageBox('用戶名添加成功', '提示信息', mb_OK +
MB_ICONINFORMATION);
Exit;
End;
If (Edit1.Text = '') Or (Edit2.Text = '') Then Begin
Application.MessageBox('設置的用戶名和密碼不能為空,請重新輸入!',
'提示信息', mb_OK + MB_ICONERROR);
Edit1.SetFocus;
Exit;
End;
If IsExists(Edit1.Text) Then Begin
Application.MessageBox('用戶名重復,請重新輸入!', '提示信息', mb_OK +
MB_ICONERROR);
Edit1.Clear;
Edit2.Clear;
Edit3.Clear;
Edit1.SetFocus;
Exit;
End;
FlashGrid;
ADOQuery1.Append;
ADOQuery1.fieldbyname('用戶名').AsString := Trim(Edit1.Text);
Base64Encode(Edit2.Text, Psw64);
ADOQuery1.fieldbyname('密碼').AsString := Psw64;
ADOQuery1.post;
Application.MessageBox('用戶名添加成功', '提示信息', mb_OK +
MB_ICONINFORMATION);
End;
Function TUserOparet.IsExists(username: String): Boolean;
Begin
ADOQuery1.sql.Text := 'select * from 用戶登入表 where 用戶名=''' +
username + '''';
ADOQuery1.open;
result := (ADOQuery1.recordcount = 1);
End;
Procedure TUserOparet.Button2Click(Sender: TObject);
Begin
If UpperCase(Edit1.Text) = CSNAME Then Begin
Application.MessageBox(CSNAME + '是超級用戶,無法刪除!', '提示信息',
mb_OK);
Edit1.SetFocus;
Exit;
End;
If Not IsExists(Edit1.Text) Then Begin
Application.MessageBox('沒有該用戶名,請檢查!', '提示信息', mb_OK);
Edit1.SetFocus;
Exit;
End;
If ADOQuery1.recordcount = 0 Then Exit;
ADOQuery1.Delete;
Edit1.Clear;
Edit2.Clear;
Application.MessageBox('用戶名刪除成功', '提示信息', mb_OK +
MB_ICONINFORMATION);
FlashGrid;
End;
Procedure TUserOparet.Button3Click(Sender: TObject);
Var
Psw64 : String;
Begin
If (Edit1.Text = '') Or (Edit2.Text = '') Then Begin
Application.MessageBox('設置的用戶名和密碼不能為空,請重新輸入!',
'提示信息', mb_OK + MB_ICONERROR);
Edit1.SetFocus;
Exit;
End;
If StrComp(pchar(Edit2.Text), pchar(Edit3.Text)) <> 0 Then Begin
Application.MessageBox('兩次輸入的密碼不一致,請重新輸入。',
'提示信息',
mb_OK + MB_ICONINFORMATION);
Exit;
End;
If Not IsExists(Edit1.Text) Then Begin
Application.MessageBox('沒有該用戶名,請檢查!', '提示信息', mb_OK);
Edit1.SetFocus;
Exit;
End;
If StrComp(pchar(currusername), pchar(Edit1.Text)) <> 0 Then Begin
Application.MessageBox('你無權修改這個用戶的密碼', '提示信息', mb_OK +
MB_ICONERROR);
Exit;
End;
ADOQuery1.edit;
If UpperCase(Edit1.Text) <> CSNAME Then
ADOQuery1.fieldbyname('用戶名').AsString := Trim(Edit1.Text);
Base64Encode(Edit2.Text, Psw64);
ADOQuery1.fieldbyname('密碼').AsString := Psw64;
ADOQuery1.post;
FlashGrid;
Application.MessageBox('密碼已修改成功', '提示信息', mb_OK +
MB_ICONINFORMATION);
End;
Procedure TUserOparet.FormCreate(Sender: TObject);
Begin
Edit1.Text := currusername;
StaticText1.Caption := '當前用戶:' + currusername;
If currusername = CSNAME Then
StaticText1.Caption := StaticText1.Caption + ' (超級用戶)';
End;
Procedure TUserOparet.FormClose(Sender: TObject; Var Action: TCloseAction);
Begin
ADOQuery1.Close;
Action := cafree;
UserOparetform := Nil;
End;
Procedure TUserOparet.Edit1Change(Sender: TObject);
Begin
If UpperCase(currusername) = CSNAME Then Begin
LbButton1.Enabled := true;
LbButton2.Enabled := true;
LbButton3.Enabled := true;
End
Else If UpperCase(currusername) = UpperCase(Edit1.Text) Then Begin
LbButton1.Enabled := false;
LbButton2.Enabled := false;
LbButton3.Enabled := true;
End
Else Begin
LbButton1.Enabled := false;
LbButton2.Enabled := false;
LbButton3.Enabled := false;
End;
End;
End.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -