📄 uckdj.~pas
字号:
unit Uckdj;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, jpeg, ExtCtrls, ComCtrls, StdCtrls, DB, ADODB, Buttons, Grids,
DBGrids, DBTables;
type
Tfrmckdj = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label5: TLabel;
Label6: TLabel;
edhwjg: TLabel;
Label8: TLabel;
edckh: TEdit;
edgysm: TEdit;
edhujg: TEdit;
edrkdate: TDateTimePicker;
DBGrid1: TDBGrid;
Panel1: TPanel;
StatusBar1: TStatusBar;
sbtnxz: TSpeedButton;
edhum: TEdit;
edhus: TEdit;
DataSource1: TDataSource;
sbtnexit: TSpeedButton;
Table1: TTable;
Table1BDEDesigner: TStringField;
Table1BDEDesigner2: TStringField;
Table1BDEDesigner3: TStringField;
Table1BDEDesigner4: TCurrencyField;
Table1BDEDesigner5: TStringField;
Table1BDEDesigner6: TStringField;
GroupBox1: TGroupBox;
Label4: TLabel;
Query1: TQuery;
comhwh: TComboBox;
Table2: TTable;
procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
procedure edhwhKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure edhumKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure edhusKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure edhujgKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure edckhKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure edgysmKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure sbtnexitClick(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
procedure FormCreate(Sender: TObject);
procedure comhwhSelect(Sender: TObject);
procedure sbtnxzClick(Sender: TObject);
procedure comhwhKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure edrkdateKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
ui:integer;
{ Public declarations }
end;
var
frmckdj: Tfrmckdj;
implementation
uses udm;
{$R *.dfm}
procedure Tfrmckdj.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
//query1.open;
//edhwh.Text:=query1.FieldValues['货物号'];
//edhum.Text:=query1.FieldValues['货物名'];
//edhus.Text:=query1.FieldValues['货物数'];
//edhujg.Text:=query1.FieldValues['货物价格'];
//edgysm.Text:=query1.FieldValues['供应商号'];
//edckh.Text:=query1.FieldValues['仓库号'];
//query1.Close;
end;
procedure Tfrmckdj.edhwhKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=13 then edhum.SetFocus; edhum.SelectAll;
if key=39 then
begin
edhujg.SetFocus;
edhujg.SelectAll;
abort;
end;
if key=40 then
begin
edhum.SetFocus;
edhum.SelectAll;
abort;
end;
end;
procedure Tfrmckdj.edhumKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=13 then edhus.SetFocus; edhus.SelectAll;
if key=38 then
begin
comhwh.SetFocus;
comhwh.SelectAll;
abort;
end;
if key=40 then
begin
edhus.SetFocus;
edhus.SelectAll;
abort;
end;
if key=39 then
begin
edgysm.SetFocus;
edgysm.SelectAll;
abort;
end;
end;
procedure Tfrmckdj.edhusKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=13 then edckh.SetFocus; edckh.SelectAll;
if key=38 then
begin
edhum.SetFocus;
edhum.SelectAll;
abort;
end;
if key=40 then
begin
edckh.SetFocus;
edckh.SelectAll;
abort;
end;
if key=39 then
begin
edrkdate.SetFocus;
abort;
end;
end;
procedure Tfrmckdj.edhujgKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=13 then edgysm.SetFocus; edgysm.SelectAll;
if key=37 then
begin
comhwh.SetFocus;
comhwh.SelectAll;
abort;
end;
if key=40 then
begin
edgysm.SetFocus;
edgysm.SelectAll;
abort;
end;
end;
procedure Tfrmckdj.edckhKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=13 then edhujg.SetFocus; edhujg.SelectAll;
if key=38 then
begin
edhus.SetFocus;
edhus.SelectAll;
abort;
end;
end;
procedure Tfrmckdj.edgysmKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=13 then edrkdate.SetFocus;
if key=38 then
begin
edhujg.SetFocus;
edhujg.SelectAll;
abort;
end;
if key=37 then
begin
edhum.SetFocus;
edhum.SelectAll;
abort;
end;
if key=40 then
begin
edrkdate.SetFocus;
abort;
end;
end;
procedure Tfrmckdj.sbtnexitClick(Sender: TObject);
begin
query1.Close;
close;
end;
procedure Tfrmckdj.DBGrid1CellClick(Column: TColumn);
var
h:string;
begin
h:=dbgrid1.Fields[0].AsString;
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('select * from hwb where 货物号='+#39+h+#39+ '');
query1.Open;
comhwh.Text:=query1.Fieldbyname('货物号').asstring;
edhum.Text:=query1.Fieldbyname('货物名').AsString;
edhujg.Text:=query1.Fieldbyname('货物价格').AsString;
edgysm.Text:=query1.Fieldbyname('供应商号').AsString;
edckh.Text:=query1.Fieldbyname('仓库号').AsString;
query1.Close;
end;
procedure Tfrmckdj.FormCreate(Sender: TObject);
var
j:integer;
begin
query1.Close;
query1.open;
table1.Active:=true;
for j:=1 to table1.RecordCount do
begin
comhwh.Items.Add(table1.fieldbyname('货物号').AsString );
table1.Next;
end;
edrkdate.DateTime:=now;
end;
procedure Tfrmckdj.comhwhSelect(Sender: TObject);
begin
table1.Active:=true;
query1.close;
query1.SQL.Clear;
query1.SQL.Add('select * from hwb where 货物号=' + #39 + trim(comhwh.Text) + #39);
query1.Open;
edhum.text:=query1.FieldByName('货物名').AsString;
edckh.text:=query1.FieldByName('仓库号').AsString;
edhujg.text:=query1.FieldByName('货物价格').AsString;
edgysm.text:=query1.FieldByName('供应商号').AsString;
end;
procedure Tfrmckdj.sbtnxzClick(Sender: TObject);
var
hws,cksl,table2records:integer;
begin
if (trim(comhwh.Text)='')or(trim(edhum.Text)='')or (trim(edckh.Text)='')or
(trim(edhujg.Text)='') or(trim(edgysm.Text)='') then
application.MessageBox('请输入完整的出库信息!','系统提示',mb_ok + mb_iconinformation)
else
begin
query1.close;
query1.SQL.Clear;
query1.SQL.Add('select * from hwb where 货物号=' + #39 + trim(comhwh.Text) + #39);
query1.Open;
if query1.Eof then
application.MessageBox('没有此货物号!请重新选择!', '系统提示', mb_ok + mb_iconinformation)
else
begin
if trim(edhus.Text)='' then
begin
application.MessageBox('请输入您要出库的数量!', '系统提示', mb_ok + mb_iconinformation);
edhus.SetFocus;
end
else
begin
query1.close;
query1.SQL.Clear;
query1.SQL.Add('select * from hwb where 货物号=' + #39 + trim(comhwh.Text) + #39);
query1.Open;
hws:=strtoint(query1.FieldByName('货物数').asstring);
cksl:=strtoint(trim(edhus.Text));
if cksl>=hws then
begin
application.MessageBox(Pchar('对不起!您填写的出库数量已不在公司所规定的合理范围内'+#13+'您的选择范围为1--'+inttostr(hws-1)+#13+'请重新输入您要出库的数量!'), '系统提示', mb_ok + mb_iconinformation);
edhus.Text:='';
edhus.SetFocus;
end
else
begin
table1.Edit;
table1.FieldByName('货物数').AsString:=inttostr(hws-cksl);
if (hws-cksl)<=1 then
application.MessageBox('此货物库存量已不足,请及时进货!', '系统提示', mb_ok + mb_iconinformation);
table1.Post;
crflag:=0;
table2.Active:=true;
table2records:=table2.RecordCount;
table2.Insert;
table2.FieldByName('编号').AsString:=inttostr(table2records+1);
table2.FieldByName('货物号').AsString:= comhwh.Text;
table2.FieldByName('货物数').AsString:= edhus.Text;
table2.FieldByName('仓库号').AsString:= edckh.Text;
table2.FieldByName('货物价格').AsString:=edhujg.Text;
table2.FieldByName('供应商号').AsString:= edgysm.Text;
table2.FieldByName('日期').AsDateTime:= edrkdate.datetime;
table2.FieldByName('出入标志').AsString:=inttostr(crflag) ;
table2.Post;
table2.Active:=false;
application.MessageBox('货物已经成功出库!','系统提示',mb_ok + mb_iconinformation);
comhwh.Text:=' ';
edckh.Text:=' ' ;
edgysm.Text:=' ';
edhum.Text:=' ' ;
edhus.Text:=' ' ;
edhujg.Text:=' ';
edrkdate.DateTime:=now ;
comhwh.SetFocus;
end;
end
end;
end;
end;
procedure Tfrmckdj.comhwhKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=13 then edhum.SetFocus; edhum.SelectAll;
if key=39 then
begin
edhujg.SetFocus;
edhujg.SelectAll;
abort;
end;
if key=40 then
begin
edhum.SetFocus;
edhum.SelectAll;
abort;
end;
end;
procedure Tfrmckdj.edrkdateKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=37 then
begin
edhus.SetFocus;
edhus.SelectAll;
abort;
end;
if key=38 then
begin
edgysm.SetFocus;
edgysm.SelectAll;
abort;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -