📄 sysoperatorinputfrm.pas
字号:
unit SysOperatorInputFrm;
interface
uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,
Buttons, ExtCtrls, ComCtrls, ToolWin, MainDM, DBCtrls, Mask, CommonFunc,
Grids, DBGrids, Messages;
type
TSysOperatorInputDlg = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label7: TLabel;
Label6: TLabel;
ToolBar1: TToolBar;
TBAdd: TToolButton;
TBEdit: TToolButton;
TBDelete: TToolButton;
TBOK: TToolButton;
TBCancel: TToolButton;
TBExit: TToolButton;
DBEdtUserName: TDBEdit;
DBEdtUserRealName: TDBEdit;
DBEdtPassword: TDBEdit;
EdtPasswordAgain: TEdit;
DBCBSex: TDBComboBox;
DBMRemark: TDBMemo;
DBGrid1: TDBGrid;
DBCBPermission: TDBComboBox;
procedure TBExitClick(Sender: TObject);
procedure TBOKClick(Sender: TObject);
procedure TBAddClick(Sender: TObject);
procedure TBEditClick(Sender: TObject);
procedure TBDeleteClick(Sender: TObject);
procedure TBCancelClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure DBGrid1KeyPress(Sender: TObject; var Key: Char);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
FMode: string;
procedure MakeMode(AValue: string);
public
{ Public declarations }
end;
var
SysOperatorInputDlg: TSysOperatorInputDlg;
implementation
{$R *.dfm}
{ TODO : 需要增加检查编号是否重复 }
procedure TSysOperatorInputDlg.MakeMode(AValue: string);
begin
FMode := AValue;
if AValue = 'add' then
begin
DBEdtUserName.Enabled := true;
TBEdit.Enabled := false;
TBDelete.Enabled := false;
TBOK.Enabled := true;
TBCancel.Enabled := true;
TBAdd.Enabled := false;
end
else if AValue = 'edit' then
begin
TBAdd.Enabled := false;
TBDelete.Enabled := false;
TBOK.Enabled := true;
TBCancel.Enabled := true;
TBAdd.Enabled := false;
DBEdtUserName.Enabled := false;
end
else if AValue = 'ok' then
begin
DBEdtUserName.Enabled := true;
TBAdd.Enabled := true;
TBDelete.Enabled := true;
TBEdit.Enabled := true;
TBOK.Enabled := false;
TBCancel.Enabled := false;
TBAdd.Enabled := true;
end
else
begin
DBEdtUserName.Enabled := true;
LCShowMessage('无法识别的状态!');
end;
end;
procedure TSysOperatorInputDlg.TBExitClick(Sender: TObject);
begin
Close;
end;
procedure TSysOperatorInputDlg.TBOKClick(Sender: TObject);
begin
CheckInput(DBEdtUserName);
CheckInput(DBEdtUserRealName);
if (FMode = 'add') then
begin
DMMain.ADOQueryMain.Close;
DMMain.ADOQueryMain.SQL.Clear;
DMMain.ADOQueryMain.SQL.Add('select UserName from T_SysOperator ');
DMMain.ADOQueryMain.SQL.Add('where UserName=:UserName');
DMMain.ADOQueryMain.Parameters.ParamByName('UserName').Value := DBEdtUserName.Text;
DMMain.ADOQueryMain.Open;
if DMMain.ADOQueryMain.RecordCount > 0 then
begin
LCShowMessage('编号已经存在!');
DMMain.ADOTOperator.Cancel;
if FMode = 'add' then
MakeMode('add')
else if FMode = 'edit' then
MakeMode('edit');
DBEdtUserName.SetFocus;
Exit;
end;
end;
MakeMode('ok');
DMMain.ADOTOperator.Post;
end;
procedure TSysOperatorInputDlg.TBAddClick(Sender: TObject);
begin
MakeMode('add');
DMMain.ADOTOperator.Append;
end;
procedure TSysOperatorInputDlg.TBEditClick(Sender: TObject);
begin
MakeMode('edit');
DMMain.ADOTOperator.Edit;
end;
procedure TSysOperatorInputDlg.TBDeleteClick(Sender: TObject);
begin
if LCConfirmEx('sysoperatordel', '您真的想删除此条记录吗?') = mrYes then
begin
MakeMode('ok');
DMMain.ADOTOperator.Delete;
end;
end;
procedure TSysOperatorInputDlg.TBCancelClick(Sender: TObject);
begin
MakeMode('ok');
DMMain.ADOTOperator.Cancel;
end;
procedure TSysOperatorInputDlg.FormShow(Sender: TObject);
var
s: string;
begin
DMMain.ADOTPermission.Open;
DMMain.ADOTPermission.First;
while not DMMain.ADOTPermission.Eof do
begin
s := DMMain.ADOTPermission.FieldByName('Name').AsString;
DBCBPermission.Items.Add(s);
DMMain.ADOTPermission.Next;
end;
DMMain.ADOTOperator.Open;
end;
procedure TSysOperatorInputDlg.DBGrid1KeyPress(Sender: TObject;
var Key: Char);
begin
Key := #0;
end;
procedure TSysOperatorInputDlg.FormKeyPress(Sender: TObject;
var Key: Char);
begin
if Key = #13 then
Perform(WM_NEXTDLGCTL, 0, 0);
end;
procedure TSysOperatorInputDlg.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action := caFree;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -