📄 departinputfrm.pas
字号:
unit DepartInputFrm;
interface
uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,
Buttons, ExtCtrls, ComCtrls, ToolWin, Grids, DBGrids, DBCtrls, Mask,
MainDM, CommonFunc, Messages;
type
TDepartInputDlg = class(TForm)
ToolBar1: TToolBar;
TBAdd: TToolButton;
TBEdit: TToolButton;
TBDelete: TToolButton;
TBExit: TToolButton;
Label1: TLabel;
Label2: TLabel;
DBEdtId: TDBEdit;
DBEdtName: TDBEdit;
Label3: TLabel;
DBMRemark: TDBMemo;
DBGridDisplay: TDBGrid;
TBCancel: TToolButton;
TBOK: TToolButton;
procedure TBExitClick(Sender: TObject);
procedure TBAddClick(Sender: TObject);
procedure TBEditClick(Sender: TObject);
procedure TBDeleteClick(Sender: TObject);
procedure TBCancelClick(Sender: TObject);
procedure TBOKClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure DBGridDisplayKeyPress(Sender: TObject; var Key: Char);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
FMode: string;
public
{ Public declarations }
procedure MakeMode(AValue: string);
end;
var
DepartInputDlg: TDepartInputDlg;
implementation
{$R *.dfm}
procedure TDepartInputDlg.MakeMode(AValue: string);
begin
FMode := AValue;
if AValue = 'add' then
begin
DBEdtId.Enabled := true;
TBEdit.Enabled := false;
TBDelete.Enabled := false;
TBOK.Enabled := true;
TBCancel.Enabled := true;
TBAdd.Enabled := false;
end
else if AValue = 'edit' then
begin
DBEdtId.Enabled := false;
TBAdd.Enabled := false;
TBDelete.Enabled := false;
TBOK.Enabled := true;
TBCancel.Enabled := true;
TBAdd.Enabled := false;
end
else if AValue = 'ok' then
begin
DBEdtId.Enabled := true;
TBAdd.Enabled := true;
TBDelete.Enabled := true;
TBEdit.Enabled := true;
TBOK.Enabled := false;
TBCancel.Enabled := false;
TBAdd.Enabled := true;
end
else
begin
DBEdtId.Enabled := true;
LCShowMessage('无法识别的状态!');
end;
end;
procedure TDepartInputDlg.TBExitClick(Sender: TObject);
begin
Close;
end;
procedure TDepartInputDlg.TBAddClick(Sender: TObject);
begin
DMMain.ADOTDepart.Open;
DMMain.ADOTDepart.Append;
MakeMode('add');
end;
procedure TDepartInputDlg.TBEditClick(Sender: TObject);
begin
DMMain.ADOTDepart.Edit;
MakeMode('edit');
end;
procedure TDepartInputDlg.TBDeleteClick(Sender: TObject);
begin
if LCConfirmEx('departinput','您确实想删除此条记录吗?') = mrYes then
begin
DMMain.ADOTDepart.Delete;
MakeMode('ok');
end;
end;
procedure TDepartInputDlg.TBCancelClick(Sender: TObject);
begin
DMMain.ADOTDepart.Cancel;
MakeMode('cancel');
end;
procedure TDepartInputDlg.TBOKClick(Sender: TObject);
begin
CheckInput(DBEdtId);
CheckInput(DBEdtName);
if (FMode = 'add') then
begin
DMMain.ADOQueryMain.Close;
DMMain.ADOQueryMain.SQL.Clear;
DMMain.ADOQueryMain.SQL.Add('select id from T_Department ');
DMMain.ADOQueryMain.SQL.Add('where id=:id');
DMMain.ADOQueryMain.Parameters.ParamByName('id').Value := DBEdtId.Text;
DMMain.ADOQueryMain.Open;
if DMMain.ADOQueryMain.RecordCount > 0 then
begin
LCShowMessage('编号已经存在!');
DMMain.ADOTDepart.Cancel;
if FMode = 'add' then
MakeMode('add')
else if FMode = 'edit' then
MakeMode('edit');
DBEdtId.SetFocus;
Exit;
end;
end;
DMMain.ADOTDepart.Post; { TODO : 需要增加检查编号是否重复 }
MakeMode('ok');
end;
procedure TDepartInputDlg.FormShow(Sender: TObject);
begin
DMMain.ADOTDepart.Open;
end;
procedure TDepartInputDlg.DBGridDisplayKeyPress(Sender: TObject;
var Key: Char);
begin
Key := #0;
end;
procedure TDepartInputDlg.FormKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
Perform(WM_NEXTDLGCTL, 0, 0);
end;
procedure TDepartInputDlg.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action := caFree;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -