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

📄 bas_batch_d.pas

📁 一个MRPII系统源代码版本
💻 PAS
字号:
unit Bas_Batch_D;

Interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Base_Entry_Detail, Db, AdODB, ExtCtrls, StdCtrls, Mask, ExtEdit;

Type
  TFrm_Bas_Batch_D = Class(TFrm_Base_Entry_Detail)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label10: TLabel;
    Lbl_ItemName: TLabel;
    Edt_VendorBatchno: TEdit;
    Edt_usefuldate: TEdit;
    Label11: TLabel;
    Lbl_UomName: TLabel;
    Label12: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    edt_Batchno: TEdit;
    edt_BatchName: TEdit;
    lbl_VendorName: TLabel;
    edt_remArk: TEdit;
    cmbx_usefulCtrl: TComboBox;
    lbl_ItemCode: TLabel;
    Extedt_VendorCode: TExtEdit;
    procedure edt_BatchnoExit(Sender: TObject);
    procedure cmbx_usefulCtrlChange(Sender: TObject);
    procedure FloatCheck(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FormActivate(Sender: TObject);
    procedure edt_BatchNameExit(Sender: TObject);
    procedure btn_okClick(Sender: TObject);
    procedure Extedt_VendorCodeKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    { Pr
    procedure Extedt_VendorCodeKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);ivate declarations }
  public
    { Public declarations }
    procedure InitControls; Override;
    procedure SaveBodyData; Override;
    procedure SetStatus(CurrentStatus:String;var EnableControls:String); Override;
  end;

var
  Frm_Bas_Batch_D: TFrm_Bas_Batch_D;

implementation

uses Sys_Global,Bas_Batch_B;

{$R *.DFM}

procedure TFrm_Bas_Batch_D.InitControls;
begin
  inherited;
  lbl_ItemCode.Caption:=AdoQry_Head.fieldbyname('ItemCode').asstring;
  Lbl_ItemName.Caption:=AdoQry_Head.fieldbyname('ItemName').asstring;
  Lbl_UomName.Caption:=AdoQry_Head.fieldbyname('UomName').asstring;
  Extedt_VendorCode.ReadOnly :=False;
  edt_Batchno.Enabled :=False;
  with AdoQry_Body do
  begin
    if (Status='Add') then
    begin
      edt_Batchno.Text :='';
      edt_BatchName.Text :='';
      Extedt_VendorCode.Text :='';
      lbl_VendorName.Caption :='';
      edt_VendorBatchno.Text :='';
      edt_usefuldate.Text :='0';
      edt_remArk.Text :='';
      if not Extedt_VendorCode.Enabled then
         Extedt_VendorCode.Enabled :=True;
      cmbx_usefulCtrl.ItemIndex :=0;
      edt_usefuldate.Enabled :=False;
      edt_BatchName.SetFocus ;
    end
    else
    begin
      if AdoQry_Body.fieldbyname('Firstindate').Asstring<>'' then
        Extedt_VendorCode.ReadOnly :=False
      else
        Extedt_VendorCode.ReadOnly :=True;
      if fieldbyname('Firstindate').asstring='' then
         Extedt_VendorCode.Enabled :=True
      else
         Extedt_VendorCode.Enabled :=False;   
      edt_Batchno.Text :=fieldbyname('Batchno').asstring;
      edt_BatchName.Text :=fieldbyname('BatchName').asstring;
      Extedt_VendorCode.Text :=fieldbyname('VendorCode').asstring;
      cmbx_usefulCtrl.ItemIndex :=fieldbyname('usefulCtrl').asinteger;
      edt_VendorBatchno.Text :=fieldbyname('VendorBatchno').asstring;
      edt_usefuldate.Text :=fieldbyname('usefuldate').asstring;
      edt_remArk.Text :=fieldbyname('BatchlineremArk').asstring;
      lbl_VendorName.Caption :=fieldbyname('VendorName').asstring;
    end;
  end;

end;

procedure TFrm_Bas_Batch_D.SaveBodyData;
begin//把Form的控件值写入缓存,要Post
  inherited;
  with AdoQry_Body do
  begin
    fieldbyname('Batchno').AsString:=edt_Batchno.Text;
    fieldbyname('BatchName').AsString:=edt_BatchName.text;
    fieldbyname('VendorCode').AsString:=Extedt_VendorCode.text;
    fieldbyname('VendorName').AsString:=lbl_VendorName.Caption;
    fieldbyname('VendorBatchno').AsString:=Edt_VendorBatchno.Text;
    fieldbyname('usefulCtrl').Asinteger:=cmbx_usefulCtrl.ItemIndex;
    fieldbyname('usefuldate').AsString:=Edt_usefuldate.Text;
    fieldbyname('BatchlineremArk').AsString:=Edt_remArk.Text;
    if status='Add' then
       fieldbyname('tmpfield').asinteger:=1
    else if fieldbyname('tmpfield').asinteger=1 then
       fieldbyname('tmpfield').asinteger:=1
    else
       fieldbyname('tmpfield').asinteger:=2;
    Post;
  end;
end;

procedure TFrm_Bas_Batch_D.SetStatus(CurrentStatus: String;
  var EnableControls: String);
begin
  inherited;
end;

procedure TFrm_Bas_Batch_D.edt_BatchnoExit(Sender: TObject);
begin
  inherited;
  if edt_Batchno.Text='' then
  begin
    DispInfo('批次号不能为空',3);
    (sender as tedit).setfocus;
    abort;
  end;
end;

procedure TFrm_Bas_Batch_D.cmbx_usefulCtrlChange(Sender: TObject);
begin
  inherited;
  if cmbx_usefulCtrl.ItemIndex =0 then
   begin
     edt_usefuldate.Enabled :=False;
     edt_usefuldate.Text :='0';
   end
   else
     edt_usefuldate.Enabled :=True;  
end;

procedure TFrm_Bas_Batch_D.FloatCheck(Sender: TObject);
begin
  inherited;
  if edt_usefuldate.Text<>'' then
    begin
      try
       if (strtofloat(edt_usefuldate.text)<=0) and (cmbx_usefulCtrl.ItemIndex<>0) and (activecontrol.TabOrder>(sender as tedit).tabOrder) then
       begin
         DispInfo('有效期必须大于0!',3);
         edt_usefuldate.SetFocus ;
         abort;
       end;
      except
      end;
    end;
end;

procedure TFrm_Bas_Batch_D.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
 { if key=vk_eScApe THEN
     begin
        btn_Cancel.SetFocus ;
        btn_Cancel.Click ;
     end;  }
  inherited;

end;

procedure TFrm_Bas_Batch_D.Extedt_VendorCodeKeyDown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
begin
  inherited;
  if ((Extedt_VendorCode.Text='') and (Extedt_VendorCode.ReadOnly)) or (status='Add') then
     if(Key=120)then
           CommonHint(Sender,AdoQry_Tmp,'VendorName','供应商名称','VendorCode',
             '供应商代码','Vendor','VendorUsable=1');
end;

procedure TFrm_Bas_Batch_D.FormActivate(Sender: TObject);
begin
  inherited;
  if cmbx_usefulCtrl.Text='否' then
    begin
     edt_usefuldate.Text:='0';
     edt_usefuldate.Enabled:=False;
    end;
end;

procedure TFrm_Bas_Batch_D.edt_BatchNameExit(Sender: TObject);
begin
  inherited;
  if (edt_BatchName.Text='') and (activecontrol.Name<>'btn_Cancel') then
  begin
     DispInfo('批次描述不能为空!',3);
     edt_BatchName.SetFocus ;
  end;
end;

procedure TFrm_Bas_Batch_D.btn_okClick(Sender: TObject);
begin
  if (edt_BatchName.Text='') and (activecontrol.Name<>'btn_Cancel') then
  begin
     DispInfo('批次描述不能为空!',3);
     edt_BatchName.SetFocus ;
     abort;
  end;
  inherited;

end;


end.
procedure TFrm_Bas_Batch_D.Extedt_VendorCodeKeyDown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
begin
  inherited;

end;


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -