⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 makefrm.pas

📁 考勤管理是企业内部管理的重要环节和基础
💻 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 + -