?? unitsysman.pas
字號:
unit unitSysMan;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DBCtrls, Mask, ExtCtrls, DB, ADODB, jpeg;
type
TfrmPerMan = class(TForm)
dbLL: TDBLookupListBox;
edtName: TLabeledEdit;
edtPass: TLabeledEdit;
edtWeight: TLabeledEdit;
cbAdmin: TCheckBox;
btnAdd: TButton;
btnModi: TButton;
btnDel: TButton;
btnCancel: TButton;
btnOK: TButton;
Bevel1: TBevel;
Label1: TLabel;
Image1: TImage;
Bevel2: TBevel;
procedure FormShow(Sender: TObject);
procedure btnAddClick(Sender: TObject);
procedure dbLLClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure btnDelClick(Sender: TObject);
procedure btnModiClick(Sender: TObject);
procedure btnOKClick(Sender: TObject);
procedure edtNameKeyPress(Sender: TObject; var Key: Char);
procedure cbAdminMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
Modi: Boolean;
tabPass: TADOTable;
tempDS: TDataSource;
procedure EnableControl;
public
{ Public declarations }
end;
var
frmPerMan: TfrmPerMan;
function frmCreate(index:integer):integer;
implementation
uses unitDM;
{$R *.dfm}
function frmCreate(index:integer):integer;
var
temp: TfrmPerMan;
begin
temp:=TfrmPerMan.Create(Application);
try
frmCreate:=temp.ShowModal;
finally
temp.Free ;
end;
end;
procedure TfrmPerMan.EnableControl;
begin
btnDel.Enabled := (tabPass.RecordCount <> 0) ;
btnModi.Enabled := Modi and btnDel.Enabled;
end;
procedure TfrmPerMan.FormShow(Sender: TObject);
begin
dbLLClick(sender);
end;
procedure TfrmPerMan.btnAddClick(Sender: TObject);
begin
tabPass.Append;
btnModiClick(sender);
Modi:=false;
EnableControl;
end;
procedure TfrmPerMan.dbLLClick(Sender: TObject);
begin
with tabPass do
begin
edtName.Text := FieldByName('user').AsString;
edtPass.Text := FieldByName('passwd').AsString;
edtWeight.Text := FieldByName('userweight').AsString;
cbAdmin.Checked := FieldByName('isAdmin').AsBoolean;
end;
end;
procedure TfrmPerMan.FormCreate(Sender: TObject);
begin
Modi:=false;
tabPass:=TADOTable.Create(Application);
tabPass.Connection := DM.AC;
tabPass.TableName := 'SysPassword';
tempDS:= TDataSource.Create(Application);
tempDS.DataSet := tabPass;
if tabPass.Active = false then
tabPass.Active := true;
dbLL.ListSource:=tempDS;
dbLL.ListField := 'user';
dbLL.KeyField := 'ID';
EnableControl;
end;
procedure TfrmPerMan.btnDelClick(Sender: TObject);
var
s:string;
begin
if not tabPass.Fields.FieldByName('candel').AsBoolean then
begin
s:= '確實要刪除"'+edtName.text+'"嗎?';
if MessageBox(handle,pchar(s),'提示',mb_IconInformation+mb_YesNo)=id_yes then
begin
tabPass.Delete;
dbLLClick(sender);
end;
end
else
MessageBox(handle,'不能刪除系統管理員!','提示',mb_IconInformation+mb_OK);
EnableControl;
end;
procedure TfrmPerMan.btnModiClick(Sender: TObject);
begin
with tabPass do
begin
Edit;
FieldByName('user').AsString := edtName.Text;
FieldByName('passwd').AsString:=edtPass.Text;
FieldByName('userweight').AsFloat :=strtofloatdef(edtWeight.Text ,0);
FieldByName('isAdmin').AsBoolean:=cbAdmin.Checked;
Post;
end;
EnableControl;
end;
procedure TfrmPerMan.btnOKClick(Sender: TObject);
begin
if btnModi.Enabled then
btnModiClick(Sender);
end;
procedure TfrmPerMan.edtNameKeyPress(Sender: TObject; var Key: Char);
begin
Modi:= true;
EnableControl;
end;
procedure TfrmPerMan.cbAdminMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Modi:= true;
EnableControl;
end;
procedure TfrmPerMan.FormClose(Sender: TObject; var Action: TCloseAction);
begin
tempDS.Free;
tabPass.Free ;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -