📄 storagemanage.~pas
字号:
unit storagemanage;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Mask, DBCtrls, ExtCtrls, Grids, DBGrids, DB, DBTables,
ComCtrls;
type
TCusForm = class(TForm)
goodsQuery: TQuery;
goodssource: TDataSource;
exportQuery: TQuery;
exportsource: TDataSource;
pchQuery: TQuery;
customersource: TDataSource;
changeQuery: TQuery;
importsource: TDataSource;
GKQuery: TQuery;
GKsource: TDataSource;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
Label3: TLabel;
Label1: TLabel;
goodsdisp: TDBGrid;
goodsnavigator1: TDBNavigator;
exportGrid: TDBGrid;
Button2: TButton;
Edit1: TEdit;
Edit2: TEdit;
TabSheet2: TTabSheet;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Button4: TButton;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Edit7: TEdit;
goodsnavigator0: TDBNavigator;
db2: TDatabase;
goodsQueryGOODSID: TFloatField;
goodsQueryNAME: TStringField;
goodsQueryPRODUCTDATE: TDateTimeField;
goodsQueryPRICE: TFloatField;
goodsQuerySTORAGE: TFloatField;
goodsQueryGKID: TFloatField;
GKselect: TDBLookupComboBox;
Button1: TButton;
gdsinfoQuery: TQuery;
expshowQuery: TQuery;
Label2: TLabel;
Edit8: TEdit;
cusTable: TTable;
findkeyQuery: TQuery;
cuschangeQuery: TQuery;
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure selectGK(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
CusForm: TCusForm;
implementation
uses Access,Manager;
{$R *.dfm}
procedure TCusForm.Button2Click(Sender: TObject);
begin
CusForm.ModalResult:=mrCancel; //close the cusform
//AccessForm.showmodal; //show the accessform
end;
procedure TCusForm.FormCreate(Sender: TObject);
begin
if Access.cusctrl=0
then
begin
CusForm.goodsnavigator0.Visible:=TRUE;
CusForm.goodsnavigator1.Visible:=FALSE;
GKQuery.Close;
GKQuery.Open;
expshowQuery.Close;
expshowQuery.ParamByName('cusname').Value:=accessForm.Edit1.Text;
expshowQuery.Open;
//GKselect.Items:=GKQuery['Name'];
end
else
begin
CusForm.goodsnavigator1.Visible:=TRUE;
CusForm.goodsnavigator0.Visible:=FALSE;
GKQuery.Close;
GKQuery.Open;
end;
end;
procedure TCusForm.selectGK(Sender: TObject);
var
gkname:string[20];
begin
gkname:=GKselect.Text;
goodsQuery.Close;
goodsQuery.ParamByName('goodsname').Value:=gkname;
goodsQuery.Open;
end;
procedure TCusForm.Button1Click(Sender: TObject);
var
pchid:integer;
pchamount:integer;
gkname:string[20];
cusname:string[20];
gdsname:string[20];
allprice:integer;
begin
try
pchid:=strtoint(Edit1.Text);
pchamount:=strtoint(Edit2.Text);
except
showmessage('Please input the goods info correctly');
end;
pchQuery.Close;
pchQuery.ParamByName('inputID').Value:=pchid;
pchQuery.Open;
//finish the searching
if pchQuery['GoodsID']=NULL then
begin
showmessage('No such Goods');
Edit1.Text:='';
end
else if pchQuery['Storage']<pchamount then
begin
showmessage('The Perchasing amount is too large!');
Edit2.Text:='';
end
else //can excute the perchsing
begin
changeQuery.Close;
changeQuery.ParamByName('inputamount').Value:=pchamount;
changeQuery.ParamByName('inputid').Value:=pchid;
changeQuery.ExecSQL;
//successfully buy the goods
//need to fresh
gkname:=GKselect.Text;
goodsQuery.Close;
goodsQuery.ParamByName('goodsname').Value:=gkname;
goodsQuery.Open;
//write the export table
gdsinfoQuery.Close;
gdsinfoQuery.ParamByName('gdsid').Value:=pchid;
gdsinfoQuery.Open;
gdsname:=gdsinfoQuery['Name'];
allprice:=gdsinfoQuery['Price']*pchamount;
cusname:=accessForm.Edit1.Text;
exportQuery.Close;
exportQuery.ParamByName('cusname').Value:=cusname;
exportQuery.ParamByName('gdsname').Value:=gdsname;
exportQuery.ParamByName('pchnum').Value:=pchamount;
exportQuery.ParamByName('allprice').Value:=allprice;
exportQuery.ExecSQL;
//display the export table
expshowQuery.Close;
expshowQuery.ParamByName('cusname').Value:=cusname;
expshowQuery.Open;
end;
end;
procedure TCusForm.Button4Click(Sender: TObject);
var
cusname:string[20];
cuskey:string[20];
loc:bool;
cusnewname:string[20];
cusnewkey1:string[20];
cusnewkey2:string[20];
custel:integer;
begin
cusname:=Edit3.Text;
cuskey:=Edit4.Text;
loc:=cusTable.Locate('Name',cusname,[]);
cusnewname:=Edit5.Text;
cusnewkey1:=Edit6.Text;
cusnewkey2:=Edit7.Text;
custel:=strtoint(Edit8.Text);
if loc=false then
begin
showmessage('No such customer');
Edit3.Text:='';
Edit4.Text:='';
end
else
begin
findkeyQuery.Close;
findkeyQuery.ParamByName('cusname').Value:=cusname;
findkeyQuery.Open;
if cuskey=findkeyQuery['Key'] then
begin
if cusnewkey1<>cusnewkey2 then
begin
showmessage('Password Disgree');
Edit6.Text:='';
Edit7.Text:='';
end
else
begin
cuschangeQuery.Close;
cuschangeQuery.ParamByName('newname').Value:=cusnewname;
cuschangeQuery.ParamByName('newkey').Value:=cusnewkey1;
cuschangeQuery.ParamByName('newtel').Value:=custel;
cuschangeQuery.ParamByName('cusname').Value:=cusname;
cuschangeQuery.ExecSQL;
showmessage('You have successfully changed your info');
end;
end
else
begin
showmessage('Invalid Password');
Edit4.Text:='';
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -