📄 pm_enter_passpo_d.pas
字号:
unit Pm_Enter_PassPo_D;
Interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Base_Common, ExtEdit, Mask, StdCtrls, Db, AdODB;
Type
TFrm_Pm_Enter_PassPo_D = Class(TFrm_Base_Common)
btn_ok: TButton;
btn_Cancel: TButton;
Label1: TLabel;
Label2: TLabel;
Lbl_UomName: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Lbl_ItemName: TLabel;
Edt_LineNo: TEdit;
Edt_PoQty: TEdit;
Medt_PoDate: TMaskEdit;
MEdt_PoStArtWorkDate: TMaskEdit;
Edt_ItemCode: TExtEdit;
Label11: TLabel;
Label12: TLabel;
Edt_PoNoFinishQty: TEdit;
Edt_Pono: TEdit;
Edt_ItemName: TExtEdit;
Label6: TLabel;
procedure btn_okClick(Sender: TObject);
procedure Medt_PoDateChange(Sender: TObject);
procedure MEdt_PoStArtWorkDateChange(Sender: TObject);
procedure Medt_PoDateExit(Sender: TObject);
procedure MEdt_PoStArtWorkDateExit(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure Edt_PoQtyChange(Sender: TObject);
private
POFinishQty:double;
{ Private declarations }
public
{ Public declarations }
end;
var
Frm_Pm_Enter_PassPo_D: TFrm_Pm_Enter_PassPo_D;
implementation
uses Sys_Global;
{$R *.DFM}
procedure TFrm_Pm_Enter_PassPo_D.btn_okClick(Sender: TObject);
begin
inherited;
If (StrToDate(MEdt_PoStArtWorkDate.Text)>StrToDate(Medt_PoDate.Text))
Or (StrToDate(MEdt_PoStArtWorkDate.Text)<Date()) Then
begin
DispInfo('约定开工日必须为系统工作日与约定交货日之间的日期,请修改!',3);
MEdt_PoStArtWorkDate.SetFocus;
Abort;
end;
If (StrToDate(MEdt_PoStArtWorkDate.Text)>StrToDate(Medt_PoDate.Text)) Then
begin
DispInfo('约定开工日必须小于约定交货日,请修改!',3);
MEdt_PoStArtWorkDate.SetFocus;
Abort;
end;
modalResult:=mrok;
end;
procedure TFrm_Pm_Enter_PassPo_D.Medt_PoDateChange(Sender: TObject);
begin
inherited;
btn_ok.Enabled:=True;
end;
procedure TFrm_Pm_Enter_PassPo_D.MEdt_PoStArtWorkDateChange(
Sender: TObject);
begin
inherited;
btn_ok.Enabled:=True;
end;
procedure TFrm_Pm_Enter_PassPo_D.Medt_PoDateExit(Sender: TObject);
begin
inherited;
If ActiveControl.Name ='btn_Cancel' Then
Exit;
Try
StrToDateTime(Medt_PoDate.Text);
Except
DispInfo('约定交货日错误,请重新输入!',3);
TWinControl(Sender).SetFocus;
Abort;
end;
If (StrToDate(Medt_PoDate.Text)<Date()) Then
begin
DispInfo('约定交货日必须大于等于当前系统日期!',3);
TWinControl(Sender).SetFocus;
Abort;
end;
If SlCalendar(AdoQry_tmp.Connection,Medt_PoDate.Text,0)<>Medt_PoDate.Text Then
begin
DispInfo(Medt_PoDate.Text+'不是工作日!',3);
Medt_PoDate.Text:=SlCalendar(AdoQry_tmp.Connection,Medt_PoDate.Text,-1);
Medt_PoDate.SetFocus;
Abort;
end;
end;
procedure TFrm_Pm_Enter_PassPo_D.MEdt_PoStArtWorkDateExit(Sender: TObject);
begin
inherited;
If (ActiveControl.Name ='btn_Cancel') Or (ActiveControl.Name='Medt_PoDate') Then
Exit;
inherited;
If SlCalendar(AdoQry_tmp.Connection,Medt_PoStArtWorkDate.Text,0)<>Medt_PoStArtWorkDate.Text Then
begin
DispInfo(Medt_PoStArtWorkDate.Text+'不是工作日!',3);
Medt_PoStArtWorkDate.Text:=SlCalendar(AdoQry_tmp.Connection,Medt_PoStArtWorkDate.Text,-1);
Medt_PoStArtWorkDate.SetFocus;
Abort;
end; //约定开工日必须是工作日,否则返回前一个工作日
If (StrToDate(MEdt_PoStArtWorkDate.Text)>StrToDate(Medt_PoDate.Text))
Or (StrToDate(MEdt_PoStArtWorkDate.Text)<Date()) Then
begin
DispInfo('约定开工日必须为系统工作日与约定交货日之间的日期,请修改!',3);
TWinControl(Sender).SetFocus;
Abort;
end;
If (StrToDate(MEdt_PoStArtWorkDate.Text)>StrToDate(Medt_PoDate.Text)) Then
begin
DispInfo('约定开工日必须小于约定交货日,请修改!',3);
TWinControl(Sender).SetFocus;
Abort;
end;
end;
procedure TFrm_Pm_Enter_PassPo_D.FormShow(Sender: TObject);
begin
inherited;
Medt_PoDate.SetFocus;
POFinishQty:=strtofloat(Edt_PoQty.text)-strtofloat(Edt_PoNoFinishQty.text);
end;
procedure TFrm_Pm_Enter_PassPo_D.Edt_PoQtyChange(Sender: TObject);
begin
inherited;
btn_ok.Enabled:=True;
Edt_PoNoFinishQty.Text := floattostr(strtofloat(Edt_PoQty.Text)-POFinishQty)
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -