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

📄 uplancase.pas

📁 是分布式粮库程序,是采用Delphi实现的
💻 PAS
字号:
unit UPlanCase;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, UnitStandard1, DBTables, DB, Menus, ImgList, Grids, DBGrids,
  ComCtrls, StdCtrls, ExtCtrls, Buttons, ToolWin, DBCtrls, Mask;

type
  TFrmPlanCase = class(TFrmStandard1)
    DBLookupComboBox1: TDBLookupComboBox;
    DBEdit2: TDBEdit;
    DBMemo1: TDBMemo;
    Label26: TLabel;
    Label27: TLabel;
    Label28: TLabel;
    Label29: TLabel;
    Label30: TLabel;
    Label31: TLabel;
    Label32: TLabel;
    QrySQLPLAN_ID: TStringField;
    QrySQLPLAN_QUANTITY: TFloatField;
    QrySQLCLERK: TStringField;
    QrySQLMEMO: TStringField;
    QrySQLCOM_FLAG: TIntegerField;
    Table1: TTable;
    DataSource2: TDataSource;
    QrySQLFOOD_TYPE: TStringField;
    Table1FOOD_TYPE: TStringField;
    Table1MEMO: TStringField;
    Table1COM_FLAG: TIntegerField;
    Table2: TTable;
    DataSource3: TDataSource;
    DBLookupComboBox2: TDBLookupComboBox;
    DBEditStartDate: TDBEdit;
    DBEditEndDate: TDBEdit;
    DBEditMakeDate: TDBEdit;
    QrySQLUNIT_ID: TIntegerField;
    Label25: TLabel;
    Table3: TTable;
    DataSource4: TDataSource;
    DBLkpCmbxUnitName: TDBLookupComboBox;
    qryTemp: TQuery;
    QrySQLSTART_TIME: TDateTimeField;
    QrySQLFINISH_TIME: TDateTimeField;
    QrySQLMAKE_TIME: TDateTimeField;
    procedure BitBtnSaveClick(Sender: TObject);
   // procedure BitBtnNewClick(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure BitBtnNewClick(Sender: TObject);
    procedure DBLkpCmbxUnitNameExit(Sender: TObject);
    procedure DBEditKeyExit(Sender: TObject);
    procedure QrySQLAfterScroll(DataSet: TDataSet);
    procedure BitBtnCancelClick(Sender: TObject);
    procedure BitBtnRefreshClick(Sender: TObject);
    procedure QrySQLSTART_TIMESetText(Sender: TField; const Text: String);
    procedure DBEditStartDateExit(Sender: TObject);
    procedure DBEditEndDateExit(Sender: TObject);
    procedure QrySQLFINISH_TIMESetText(Sender: TField; const Text: String);
    procedure QrySQLMAKE_TIMESetText(Sender: TField; const Text: String);
    procedure QrySQLPLAN_QUANTITYSetText(Sender: TField;
      const Text: String);
   // procedure QrySQLSTART_TIMEGetText(Sender: TField; var Text: String;
   //   DisplayText: Boolean);
   // procedure QrySQLSTART_TIMESetText(Sender: TField; const Text: String);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FrmPlanCase: TFrmPlanCase;

implementation
 uses Global,untPub;
{$R *.dfm}

procedure TFrmPlanCase.BitBtnSaveClick(Sender: TObject);
begin

  if DBEditkey.Text='' then
  begin
    Showmessage('计划编号不能为空,请输入!');
    DBEditkey.SetFocus;
    exit;
  end;

  if DBLkpCmbxUnitName.Text=''  then
  begin
    Showmessage('计划下发公司不能为空,请输入!');
    DBLkpCmbxUnitName.SetFocus;
    exit;
  end;
  if DBLookupCombobox1.Text='' then
  begin
    Showmessage('货物名称不能为空,请输入!');
    DBLookupCombobox1.SetFocus;
    exit;
  end;
  if DBEdit2.Text='' then
  begin
    Showmessage('货物数量不能为空,请输入!');
    DBEdit2.SetFocus;
    exit;
  end;
  if DBEditStartDate.Text='' then
  begin
    Showmessage('开始日期不能为空,请输入!');
    DBEditStartDate.SetFocus;
    exit;
  end;
   if DBEditEnddate.Text='' then
  begin
    Showmessage('结束日期不能为空,请输入!');
    DBEditEndDate.SetFocus;
    exit;
  end;
   if strtodate(DBEditStartDate.EditText)>strtodate(DBEditEndDate.EditText) then
  begin
    Showmessage('开始日期不能大于结束日期,请重输!');
    DBEditStartDate.SetFocus;
    exit;
  end;
  inherited;
  DBLkpCmbxUnitName.Enabled:=false;
end;


procedure TFrmPlanCase.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  inherited;
  ConvertKey(ActiveControl, HANDLE, Key, Shift);
end;

procedure TFrmPlanCase.BitBtnNewClick(Sender: TObject);
begin
  inherited;
  DBLkpCmbxUnitName.Enabled:=true;
  DBEditStartDate.Field.AsDateTime := date;
  DBEditEndDate.Field.AsDateTime := date;
  DBEditMakeDate.Field.AsDateTime := date;
end;

procedure TFrmPlanCase.DBLkpCmbxUnitNameExit(Sender: TObject);
var
  QryCX: Tquery;
  Str : string;
begin
  inherited;
  if DBLkpCmbxUnitName.Text='' then
  begin
    Showmessage('分公司不能为空,请输入!');
    DBLkpCmbxUnitName.SetFocus;
    exit;
  end;
  try
    QryCX:= TQuery.Create(nil);
    QryCX.DatabaseName := 'LYDB';
    QryCX.SQL.Clear;
    str:='select * from ENT_PLAN_CASE where PLAN_ID='''+trim(DBEditKey.Text)+''' and UNIT_ID='+intToStr(DBLkpCmbxUnitName.Field.AsInteger);
    QryCX.SQL.Add(Str);
    QryCX.Open;
    if QryCX.RecordCount>0 then
    begin
      showmessage('计划编号重复,请重新输入!');
      DBEditKey.SetFocus;
    end;
  finally
    QryCX.Close;
    QryCX.Free;
  end;
end;

procedure TFrmPlanCase.DBEditKeyExit(Sender: TObject);
begin
  inherited;
  if DBEditKey.Text='' then
  begin
    showmessage('计划编号不能为空,请输入!');
    DBEditKey.SetFocus;
    exit;
  end;
  DBLkpCmbxUnitName.SetFocus;
end;            

procedure TFrmPlanCase.QrySQLAfterScroll(DataSet: TDataSet);
begin
  inherited;
  DBLkpCmbxUnitName.Enabled:=false;
end;

procedure TFrmPlanCase.BitBtnCancelClick(Sender: TObject);
begin
  inherited;
  DBLkpCmbxUnitName.Enabled:=false;
end;

procedure TFrmPlanCase.BitBtnRefreshClick(Sender: TObject);
begin
  inherited;
  DBLkpCmbxUnitName.Enabled:=false;
end;

procedure TFrmPlanCase.QrySQLSTART_TIMESetText(Sender: TField;
  const Text: String);
begin
  inherited;
  if DBEditStartDate.Text<>'    -  -  ' then
    try
      Sender.AsDateTime:=strtodate(DBEditStartDate.EditText);
    except
      Application.MessageBox(PChar(DBEditStartDate.EditText+'不是有效的日期!'),'错误',mb_Ok+mb_IconError);
      abort;
    end
  else
    Sender.Clear;
end;

procedure TFrmPlanCase.DBEditStartDateExit(Sender: TObject);
begin
  inherited;
  if DBEditStartDate.Text='    -  -  ' then
    begin
      showmessage('计划开始时间不能为空!');
      DBEditStartDate.SetFocus;
    end;
end;

procedure TFrmPlanCase.DBEditEndDateExit(Sender: TObject);
begin
  inherited;
  if DBEditEndDate.Text='    -  -  ' then
    begin
      showmessage('计划结束时间不能为空!');
      DBEditEndDate.SetFocus;
    end;
end;

procedure TFrmPlanCase.QrySQLFINISH_TIMESetText(Sender: TField;
  const Text: String);
begin
  inherited;
  if DBEditEndDate.Text<>'    -  -  ' then
    try
      Sender.AsDateTime:=strtodate(DBEditEndDate.EditText);
    except
      Application.MessageBox(PChar(DBEditEndDate.EditText+'不是有效的日期!'),'错误',mb_Ok+mb_IconError);
      abort;
    end
  else
    Sender.Clear;
end;

procedure TFrmPlanCase.QrySQLMAKE_TIMESetText(Sender: TField;
  const Text: String);
begin
  inherited;
  if DBEditmakeDate.Text<>'    -  -  ' then
    try
      Sender.AsDateTime:=strtodate(DBEditMakeDate.EditText);
    except
      Application.MessageBox(PChar(DBEditMakeDate.EditText+'不是有效的日期!'),'错误',mb_Ok+mb_IconError);
      abort;
    end
  else
    Sender.Clear;
end;

procedure TFrmPlanCase.QrySQLPLAN_QUANTITYSetText(Sender: TField;
  const Text: String);
begin
  inherited;
  if DBEdit2.EditText<>'' then
    begin
      try
        Sender.AsFloat:=strtofloat(DBEdit2.EditText);
      except
        Application.MessageBox(PChar(DBEdit2.EditText+'不是有效的数值或超出范围'),'错误',mb_Ok+mb_IconError);
        abort;
      end;
      if (DBEdit2.Field.AsFloat>9999999.99) or (DBEdit2.Field.AsFloat<0) then
        begin
          Application.MessageBox(PChar(DBEdit2.EditText+'数值超出范围'),'错误',mb_Ok+mb_IconError);
          abort;
        end;
    end
  else
    Sender.Clear;

end;

end.

⌨️ 快捷键说明

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