📄 salesmanfrm.pas
字号:
unit SalesManFrm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DBCtrls, Mask, MainDM, Grids, DBGrids, ExtDlgs,
CommonFunc;
type
TSalesManDlg = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
DBEdtId: TDBEdit;
DBEdtname: TDBEdit;
DBCBSex: TDBComboBox;
DBCBStatus: TDBComboBox;
DBImage: TDBImage;
DBMRemark: TDBMemo;
CBDepartId: TComboBox;
BtnAdd: TButton;
BtnEdit: TButton;
BtnDelete: TButton;
BtnBrowse: TButton;
DBGrid: TDBGrid;
OpenPicDlg: TOpenPictureDialog;
BtnOK: TButton;
BtnCancel: TButton;
procedure FormShow(Sender: TObject);
procedure BtnBrowseClick(Sender: TObject);
procedure BtnAddClick(Sender: TObject);
procedure BtnEditClick(Sender: TObject);
procedure BtnDeleteClick(Sender: TObject);
procedure BtnOKClick(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure DBGridCellClick(Column: TColumn);
procedure BtnCancelClick(Sender: TObject);
procedure DBGridKeyPress(Sender: TObject; var Key: Char);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure DBGridMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
FMode: string;
procedure MakeMode(AValue: string);
procedure RefreshDepartId;
public
{ Public declarations }
end;
var
SalesManDlg: TSalesManDlg;
implementation
{$R *.dfm}
procedure TSalesManDlg.FormShow(Sender: TObject);
begin
CBDepartId.Clear;
DMMAin.ADOConnectionMain.Open;
DMMain.ADOTDepart.Open;
DMMain.ADOTDepart.First;
while not DMMain.ADOTDepart.Eof do
begin
CBDepartId.Items.Add(DMMain.ADOTDepart.FieldByName('Id').AsString);
DMMain.ADOTDepart.Next;
end;
DMMain.ADOTDepart.Close;
end;
procedure TSalesManDlg.BtnBrowseClick(Sender: TObject);
begin
if OpenPicDlg.Execute then
begin
DBImage.Picture.LoadFromFile(OpenPicDlg.FileName);
end;
end;
procedure TSalesManDlg.MakeMode(AValue: string);
begin
FMode := AValue;
if AValue = 'add' then
begin
DBEdtId.Enabled := true;
BtnEdit.Enabled := false;
BtnDelete.Enabled := false;
BtnOK.Enabled := true;
BtnCancel.Enabled := true;
end
else if AValue = 'del' then
begin
DBEdtId.Enabled := true;
BtnAdd.Enabled := false;
BtnEdit.Enabled := false;
BtnOK.Enabled := true;
BtnCancel.Enabled := true;
end
else if AValue = 'edit' then
begin
DBEdtId.Enabled := false;
BtnAdd.Enabled := false;
BtnDelete.Enabled := false;
BtnOK.Enabled := true;
BtnCancel.Enabled := true;
end
else if AValue = 'ok' then
begin
DBEdtId.Enabled := true;
BtnAdd.Enabled := true;
BtnDelete.Enabled := true;
BtnEdit.Enabled := true;
BtnOK.Enabled := false;
BtnCancel.Enabled := false;
end;
end;
procedure TSalesManDlg.BtnAddClick(Sender: TObject);
begin
MakeMode('add');
DMMain.ADOTSalesMan.Open;
DMMain.ADOTSalesMan.Insert;
DMMain.ADOTSalesMan.Append;
DMMain.ADOTSalesMan.FieldByName('DepartId').AsString :=
CBDepartId.Text;
end;
procedure TSalesManDlg.BtnEditClick(Sender: TObject);
begin
MakeMode('edit');
DMMain.ADOTSalesMan.Open;
DMMain.ADOTSalesMan.Edit;
DMMain.ADOTSalesMan.FieldByName('DepartId').AsString :=
CBDepartId.Text;
end;
procedure TSalesManDlg.BtnDeleteClick(Sender: TObject);
begin
MakeMode('del');
if LCConfirmEx('salsmandel','您真的想删除此数据吗?') = mrYes then
begin
DMMain.ADOTSalesMan.Delete;
end;
MakeMode('ok');
end;
procedure TSalesManDlg.BtnOKClick(Sender: TObject);
begin
if (FMode = 'add') then
begin
DMMain.ADOQueryMain.Close;
DMMain.ADOQueryMain.SQL.Clear;
DMMain.ADOQueryMain.SQL.Add('select id from T_SalesMan ');
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.ADOTSalesMan.Cancel;
if FMode = 'add' then
MakeMode('add')
else if FMode = 'edit' then
MakeMode('edit');
DBEdtId.SetFocus;
Exit;
end;
end;
DMMain.ADOTSalesMan.FieldByName('DepartId').AsString :=
CBDepartId.Text;
DMMain.ADOTSalesMan.Post;
MakeMode('ok');
end;
procedure TSalesManDlg.Button1Click(Sender: TObject);
begin
LCShowMessage(GetApplicationPath);
end;
procedure TSalesManDlg.DBGridCellClick(Column: TColumn);
begin
RefreshDepartId;
end;
procedure TSalesManDlg.BtnCancelClick(Sender: TObject);
begin
DMMain.ADOTSalesMan.Cancel;
end;
procedure TSalesManDlg.DBGridKeyPress(Sender: TObject; var Key: Char);
begin
Key := #0;
end;
procedure TSalesManDlg.FormKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
Perform(WM_NEXTDLGCTL, 0, 0);
end;
procedure TSalesManDlg.DBGridMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
RefreshDepartId;
end;
procedure TSalesManDlg.RefreshDepartId;
begin
CBDepartId.Text := DMMain.ADOTSalesMan.FieldByName('DepartId').AsString;
end;
procedure TSalesManDlg.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action := caFree;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -