📄 makefrm.pas
字号:
unit MakeFrm;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
BillFrm, Menus, Db, DBCtrls, Buttons, StdCtrls, Grids, DBGrids, ExtCtrls,
Mask, DBGridEh, PrnDbgeh;
resourcestring
sSave='保存已改变的数据吗?';
type
TMakeForm = class(TBillForm)
Label2: TLabel;
DBEdit1: TDBEdit;
Label4: TLabel;
DBEdit3: TDBEdit;
Label5: TLabel;
DBEdit4: TDBEdit;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
Label1: TLabel;
DBGridEh1: TDBGridEh;
PrintDBGridEh1: TPrintDBGridEh;
procedure SourceStateChange(Sender: TObject);
procedure DBGridEh1Exit(Sender: TObject);
procedure DBGridEh1Enter(Sender: TObject);
procedure DBGridEh1DblClick(Sender: TObject);
procedure DBMemo1Enter(Sender: TObject);
procedure DBMemo1Exit(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure bbtnSaveClick(Sender: TObject);
procedure bbtnCancelClick(Sender: TObject);
procedure DBNavigator1BeforeAction(Sender: TObject;
Button: TNavigateBtn);
procedure sbFindClick(Sender: TObject);
procedure sbPreviewClick(Sender: TObject);
procedure sbPrintClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
MakeForm: TMakeForm;
implementation
uses unDM2, srchdlg, Pickdate, Globals, dialog;
{$R *.DFM}
procedure TMakeForm.SourceStateChange(Sender: TObject);
begin
bbtnSave.Enabled := DM2.tblMakeNo.State in dsEditModes;
bbtnCancel.Enabled := bbtnSave.Enabled;
bbtnClose.Enabled := DM2.tblMakeNo.State = dsBrowse;
end;
procedure TMakeForm.DBGridEh1Exit(Sender: TObject);
begin
inherited;
with DM2.tblMakeList do
if ((State in dsEditModes) or UpdatesPending) then
Edit;
ActiveSource.Dataset := DM2.tblMakeNo;
sbFind.Enabled:=True;
end;
procedure TMakeForm.DBGridEh1Enter(Sender: TObject);
begin
inherited;
ActiveSource.Dataset := DM2.tblMakeList;
sbFind.Enabled:=False;
end;
procedure TMakeForm.DBGridEh1DblClick(Sender: TObject);
begin
inherited;
DM2.qryWorkPro.Open;
if DBGridEh1.SelectedField = DM2.tblMakeListGoodsID then
begin
SearchDlg:=TSearchDlg.Create(self);
if Trim(DM2.tblMakeListGoodsID.Value) <> '' then
SearchDlg.WareID := DM2.tblMakeListGoodsID.Value;
if SearchDlg.ShowModalParts(DM2.qryWorkPro) = mrOk then begin
DM2.tblMakeList.Edit;
DM2.tblMakeListGoodsID.Value :=SearchDlg.WareID;
end;
end;
DM2.qryWorkPro.Close;
end;
procedure TMakeForm.DBMemo1Enter(Sender: TObject);
begin
inherited;
ActiveSource.Dataset := DM2.tblMakeList;
sbFind.Enabled:=False;
end;
procedure TMakeForm.DBMemo1Exit(Sender: TObject);
begin
inherited;
with DM2.tblMakeList do
if ((State in dsEditModes) or UpdatesPending) then
Edit;
ActiveSource.Dataset := DM2.tblMakeNo;
sbFind.Enabled:=True;
end;
procedure TMakeForm.SpeedButton1Click(Sender: TObject);
begin
inherited;
BrDateForm.Date := DM2.tblMakeNoFirstdate.Value; { start with current date }
if BrDateForm.ShowModal = mrOk then
begin
DM2.tblMakeNo.Edit;
DM2.tblMakeNoFirstDate.Value := BrDateForm.Date;
end;
end;
procedure TMakeForm.SpeedButton2Click(Sender: TObject);
begin
inherited;
BrDateForm.Date := DM2.tblMakeNoCompletedate.Value; { start with current date }
if BrDateForm.ShowModal = mrOk then
begin
DM2.tblMakeNo.Edit;
DM2.tblMakeNoCompleteDate.Value := BrDateForm.Date;
end;
end;
procedure TMakeForm.FormCreate(Sender: TObject);
begin
inherited;
DM2.dsMakeNo.OnStateChange := SourceStateChange;
DM2.qryWorkPro1.Close;
DM2.qryWorkPro1.Open;
DM2.tblMakeNo.Open;
DM2.tblMakeNo.Insert;
end;
procedure TMakeForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
inherited;
CanClose := DM2.DataSetApplyUpdates(DM2.tblMakeNo, ModalResult = mrOK);
DM2.tblMakeNo.Close;
end;
procedure TMakeForm.bbtnSaveClick(Sender: TObject);
begin
inherited;
DM2.tblMakeNo.Post;
end;
procedure TMakeForm.bbtnCancelClick(Sender: TObject);
begin
inherited;
DM2.tblMakeNoAfterCancel(DM2.tblMakeNo);
end;
procedure TMakeForm.DBNavigator1BeforeAction(Sender: TObject;
Button: TNavigateBtn);
begin
inherited;
with DM2.tblMakeNo do
if ((State in dsEditModes) or UpdatesPending) then
if messagedlg(Pchar(sSave),mtconfirmation,[mbyes,mbno,mbcancel]
,0)<>mryes then
DM2.tblMakeNoAfterCancel(DM2.tblMakeNo)
else
DM2.tblMakeNo.Post;
end;
procedure TMakeForm.sbFindClick(Sender: TObject);
begin
inherited;
DM2.qryMakeID.Close;
DM2.qryMakeID.Open;
if ActiveSource.DataSet = DM2.tblMakeNo then
begin
SearchDlg:=TSearchDlg.Create(self);
if not DM2.tblMakeNoMakeID.IsNull then
SearchDlg.WareID := DM2.tblMakeNoMakeID.Value;
if SearchDlg.ShowModalParts(DM2.qryMakeID) = mrOk then begin
DM2.tblMakeNo.Locate('MakeID',SearchDlg.WareID,[]);
end;
end;
end;
procedure TMakeForm.sbPreviewClick(Sender: TObject);
begin
inherited;
PrintDBGridEh1.DBGridEh := DBGridEh1;
PrintDBGridEh1.BeforeGridText.Clear;
PrintDBGridEh1.BeforeGridText.Add(Label2.Caption+' '+DBEdit1.Text);
PrintDBGridEh1.BeforeGridText.Add(Label4.Caption+' '+DBEdit3.Text);
PrintDBGridEh1.BeforeGridText.Add(Label5.Caption+' '+DBEdit4.Text);
PrintDBGridEh1.PageHeader.CenterText.Add(Caption);
PrintDBGridEh1.SetSubstitutes(['%[Today]',DateToStr(Now)]);
PrintDBGridEh1.Preview;
end;
procedure TMakeForm.sbPrintClick(Sender: TObject);
begin
inherited;
PrintDBGridEh1.DBGridEh := DBGridEh1;
PrintDBGridEh1.BeforeGridText.Clear;
PrintDBGridEh1.BeforeGridText.Add(Label2.Caption+' '+DBEdit1.Text);
PrintDBGridEh1.BeforeGridText.Add(Label4.Caption+' '+DBEdit3.Text);
PrintDBGridEh1.BeforeGridText.Add(Label5.Caption+' '+DBEdit4.Text);
PrintDBGridEh1.PageHeader.CenterText.Add(Caption);
PrintDBGridEh1.SetSubstitutes(['%[Today]',DateToStr(Now)]);
PrintDBGridEh1.Print;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -