📄 bookin.pas
字号:
edit6.Enabled:=true;
speedbutton1.Enabled:=true;
edit3.SetFocus;
end; //>0 else
end;
if label9.Caption <> ''then
with data.PublicQuery do
begin //显示详单
close;
SQL.Clear;
sql.Add('select BillID 单号,BookID 编号,BookName 书名,Indate 入库日期,InNumber 入库数量,HandMan 经手人,price 单价,sumprice 总额 from '+label9.Caption);
open;
end;
end; // begin
except
if label9.Caption<>'' then
begin //删除临时表
data.ADOCommand1.CommandText:='delete table '+label9.Caption;
data.ADOCommand1.Execute;
end;
label9.Caption:='';
end;
end;
procedure TBookInform.clearedit(value:boolean);
var
i:integer;
begin
for i:=0 to panel1.ControlCount-1 do
begin
if (panel1.Controls[i])is Tedit then
begin
(panel1.Controls[i] as Tedit).Clear;
(panel1.Controls[i] as Tedit).enabled:=value;
end;
end;
end;
procedure TBookInForm.DBGrid1CellClick(Column: TColumn);
begin
clearedit(true);
edit1.Enabled:=false;
edit2.Enabled:=false;
edit4.Enabled:=False;
Edit6.Enabled:=False;
if data.PublicQuery.Active then
begin
with data.PublicQuery do
begin
Edit1.text:=fieldbyname('编号').AsString;
Edit3.Text:=fieldbyname('书名').AsString;
edit5.Text:=inttostr(fieldbyname('入库数量').asinteger);
edit7.Text:=fieldbyname('经手人').asstring;
edit4.Text:=fieldbyname('单价').asstring;
edit6.Text:=fieldbyname('总额').asstring;
end;
speedbutton1.Enabled:=true;
insertorchange:=true;
end;
end;
procedure TBookInForm.SpeedButton1Click(Sender: TObject);
begin
if (trim(edit5.Text) ='')or (trim(edit4.Text) ='')or (trim(edit6.Text) ='') or (trim(edit1.Text)='') or(trim(edit3.Text)='')then
begin
myshowmessage('请详细填写资料!');
exit;
end;
with data.SellQuery do
begin
if not insertorchange then
begin
close;
sql.Clear;
sql.Add('insert into '+label9.Caption);
sql.Add(' (BillID,BookID,BookName,Indate,InNumber,HandMan,Price,SumPrice,worker) ');
sql.Add('values(:BillID,:BookID,:BookName,:indate,:InNumber,:HandMan,:Price,:SumPrice,:worker)');
parameters.ParamByName('BillID').Value:=label9.Caption;
parameters.ParamByName('BookID').Value:=edit1.text;
parameters.ParamByName('BookName').Value:=Edit3.Text;
if trim(edit6.Text)<>'' then
parameters.ParamByName('InNumber').Value:=strtoint(edit5.Text)
else
parameters.ParamByName('InNumber').Value:=1;
parameters.ParamByName('Indate').Value:=date;
if trim(edit6.Text)<>'' then
parameters.ParamByName('SumPrice').Value:=strtofloat(edit6.Text)
else
parameters.ParamByName('SumPrice').Value:=0;
if trim(edit4.Text)<>'' then
parameters.ParamByName('Price').Value:=strtofloat(edit4.Text)
else
parameters.ParamByName('Price').Value:=0;
parameters.ParamByName('HandMan').Value:=edit7.Text;
parameters.ParamByName('worker').Value:=main.userPurview.username;
execsql;
//booksave
close;
sql.Clear;
sql.Add('insert into booksave (ID,barcode,BookName,Price,BookSum,SumInStore)');
sql.Add(' values(:ID,:barcode,:BookName,:Price,0,0)');
parameters.ParamByName('ID').Value:=edit1.text;
parameters.ParamByName('barcode').Value:=edit2.Text;
parameters.ParamByName('BookName').Value:=Edit3.Text;
if trim(edit4.Text)<>'' then
parameters.ParamByName('Price').Value:=strtofloat(edit4.Text)
else
parameters.ParamByName('Price').Value:=0;
execsql;
close;
sql.Clear;
sql.Add('insert into bookinfo (BookId,barcode,BookName)');
sql.Add(' values(:ID,:barcode,:BookName)');
parameters.ParamByName('ID').Value:=edit1.text;
parameters.ParamByName('barcode').Value:=edit2.Text;
parameters.ParamByName('BookName').Value:=Edit3.Text;
execsql;
speedbutton2.Enabled:=true;
end
else
begin
close;
sql.Clear;
sql.Add('update '+label9.Caption+' set InNumber=:ruku,Price=:price,HandMan=:hum,SumPrice=:sum where bookid=:ID');
parameters.ParamByName('ruku').Value:=strtoint(edit5.Text);
parameters.ParamByName('price').Value:=strtofloat(edit4.Text);
parameters.ParamByName('hum').Value:=edit7.Text;
parameters.ParamByName('sum').Value:=edit6.Text;
parameters.ParamByName('ID').Value:=edit1.Text;
execsql;
end;
end;
speedbutton1.Enabled:=false;
insertorchange:=false;
clearedit(false);
edit7.Text:=main.userPurview.username;
edit2.Enabled:=true;
with data.PublicQuery do
begin
close;
SQL.Clear;
sql.Add('select BillID 单号,BookID 编号,BookName 书名,Indate 入库日期,InNumber 入库数量,HandMan 经手人,price 单价,sumprice 总额 from '+label9.Caption);
open;
end;
edit2.SetFocus;
end;
procedure TBookInForm.Edit4KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9','.',char(VK_BACK),#13]) then
key:=#0;
if key=#13 then
edit5.SetFocus;
end;
procedure TBookInForm.Edit5KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9',char(VK_BACK),#13]) then
key:=#0;
if key=#13 then
begin
if Edit5.Text<>'' then
begin
try
strtoint(edit5.Text);
except
Myshowmessage('请输入数字');
exit;
end;
if fond then
begin
with data.PublicQuery do
begin
if Active and (RecordCount>0)then
Begin
edit;
fieldbyname('入库数量').AsInteger:=strtoint(edit5.Text);
post;
clearedit(false);
edit7.Text:=main.userPurview.username;
edit2.Enabled:=true;
edit2.SetFocus;
End;
end;
end;
if edit6.Enabled then
Edit6.SetFocus;
end;
end;
end;
procedure TBookInForm.SpeedButton2Click(Sender: TObject);
begin
clearedit(false);
edit7.Text:=main.userPurview.username;
edit2.Enabled:=true;
try
with data.PublicQuery do
begin
close;
sql.Clear;
sql.Add('insert into bookin select BillID,BookID,BookName,Price,InNumber,SumPrice,Indate,HandMan,worker from '+label9.Caption);
execsql;
end;
finally
with data.SellQuery do
begin
close;
sql.Clear;
sql.Add('Drop table '+label9.Caption);
execsql;
end;
label9.Caption:='';
end;
speedbutton2.Enabled:=false;
Label9.Caption:='';
Edit2.SetFocus;
end;
procedure TBookInForm.SpeedButton3Click(Sender: TObject);
begin
close;
end;
procedure TBookInForm.FormShow(Sender: TObject);
begin
data.PublicQuery.Close;
data.LendQuery.Close;
data.SellQuery.Close;
Edit2.SetFocus;
Edit7.Text:=main.userPurview.username;
end;
procedure TBookInForm.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
edit3.SetFocus;
end;
procedure TBookInForm.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
edit4.SetFocus;
end;
procedure TBookInForm.FormDestroy(Sender: TObject);
begin
if label9.Caption<>'' then
begin
with data.PublicQuery do
begin
close;
sql.Clear;
sql.Add('Drop table '+label9.Caption);
execsql;
end;
end;
data.PublicQuery.Close;
data.SellQuery.Close;
data.LendQuery.Close;
end;
procedure TBookInForm.Edit6KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9','.',char(VK_BACK),#13]) then
key:=#0;
if key=#13 then
speedbutton1click(speedbutton1);
end;
procedure TBookInForm.Edit5Change(Sender: TObject);
begin
if (Trim(edit4.Text)<>'') and (Trim(Edit5.Text)>'') then
begin
try
Edit6.Text:=Floattostr(Strtofloat(edit4.Text)*Strtofloat(Edit5.Text));
Except
Edit6.Text:='';
MyShowMessage('价格计算错误!!');
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -