📄 uplancase.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 + -