📄 salebackfrm.pas
字号:
unit SaleBackFrm;
interface
uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,
Buttons, ExtCtrls, ComCtrls, Mask, DBCtrls, MainDM, CommonFunc, ToolWin,
Grids, DBGrids, Messages;
type
TSaleBackInputDlg = class(TForm)
Label1: TLabel;
DBEdtGoodId: TDBEdit;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
DBEdtAmount: TDBEdit;
DBMReason: TDBMemo;
ToolBar1: TToolBar;
TBAdd: TToolButton;
TBEdit: TToolButton;
TBDelete: TToolButton;
TBCancel: TToolButton;
TBOK: TToolButton;
TBQuit: TToolButton;
DBGrid1: TDBGrid;
DTPBackDate: TDateTimePicker;
procedure TBAddClick(Sender: TObject);
procedure TBEditClick(Sender: TObject);
procedure TBDeleteClick(Sender: TObject);
procedure TBCancelClick(Sender: TObject);
procedure TBOKClick(Sender: TObject);
procedure TBQuitClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
procedure DBEdtAmountKeyPress(Sender: TObject; var Key: Char);
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
SaleBackInputDlg: TSaleBackInputDlg;
implementation
{$R *.dfm}
procedure TSaleBackInputDlg.MakeMode(AValue: string);
begin
FMode := AValue;
if AValue = 'add' then
begin
DBEdtGoodId.Enabled := true;
TBEdit.Enabled := false;
TBDelete.Enabled := false;
TBOK.Enabled := true;
TBCancel.Enabled := true;
TBAdd.Enabled := false;
end
else if AValue = 'edit' then
begin
DBEdtGoodId.Enabled := false;
TBAdd.Enabled := false;
TBDelete.Enabled := false;
TBOK.Enabled := true;
TBCancel.Enabled := true;
TBAdd.Enabled := false;
end
else if AValue = 'ok' then
begin
DBEdtGoodId.Enabled := true;
TBAdd.Enabled := true;
TBDelete.Enabled := true;
TBEdit.Enabled := true;
TBOK.Enabled := false;
TBCancel.Enabled := false;
TBAdd.Enabled := true;
end
else
begin
LCShowMessage('无法识别的状态!');
end;
end;
procedure TSaleBackInputDlg.TBAddClick(Sender: TObject);
begin
DMMain.ADOTSaleBack.Append;
MakeMode('add');
end;
procedure TSaleBackInputDlg.TBEditClick(Sender: TObject);
begin
DMMain.ADOTSaleBack.Edit;
MakeMode('edit');
end;
procedure TSaleBackInputDlg.TBDeleteClick(Sender: TObject);
begin
if LCConfirmEx('departinput','您确实想删除此条记录吗?') = mrYes then
begin
DMMain.ADOTSaleBack.Delete;
MakeMode('ok');
end;
end;
procedure TSaleBackInputDlg.TBCancelClick(Sender: TObject);
begin
DMMain.ADOTSaleBack.Cancel;
MakeMode('ok');
end;
procedure TSaleBackInputDlg.TBOKClick(Sender: TObject);
begin
CheckInput(DBEdtGoodId);
CheckInput(DBEdtAmount);
if (FMode = 'add') then
begin
DMMain.ADOQueryMain.Close;
DMMain.ADOQueryMain.SQL.Clear;
DMMain.ADOQueryMain.SQL.Add('select id from T_Good ');
DMMain.ADOQueryMain.SQL.Add('where id=:id');
DMMain.ADOQueryMain.Parameters.ParamByName('id').Value := DBEdtGoodId.Text;
DMMain.ADOQueryMain.Open;
if DMMain.ADOQueryMain.RecordCount > 0 then
begin
LCShowMessage('编号已经存在!');
DMMain.ADOTSaleBack.Cancel;
if FMode = 'add' then
MakeMode('add')
else if FMode = 'edit' then
MakeMode('edit');
DBEdtGoodId.SetFocus;
Exit;
end;
end;
DMMain.ADOTSaleBack.FieldByName('BackDate').Value:=
DTPBackDate.Date;
DMMain.ADOTSaleBack.Post;
MakeMode('ok');
end;
procedure TSaleBackInputDlg.TBQuitClick(Sender: TObject);
begin
Close;
end;
procedure TSaleBackInputDlg.FormShow(Sender: TObject);
begin
DMMain.ADOTSaleBack.Open;
end;
procedure TSaleBackInputDlg.DBGrid1CellClick(Column: TColumn);
begin
DTPBackDate.Date :=
DMMain.ADOTSaleBack.FieldByName('BackDate').Value;
end;
procedure TSaleBackInputDlg.DBEdtAmountKeyPress(Sender: TObject;
var Key: Char);
begin
ForbitInValidNum(Key);
end;
procedure TSaleBackInputDlg.DBGrid1KeyPress(Sender: TObject;
var Key: Char);
begin
Key := #0;
end;
procedure TSaleBackInputDlg.FormKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
Perform(WM_NEXTDLGCTL, 0, 0);
end;
procedure TSaleBackInputDlg.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action := caFree;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -