📄 check.pas
字号:
unit check;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Buttons,Unit3,Unit5, Unit6,Unit7,lj_report,StdCtrls, ExtCtrls, Mask, DBCtrls, DB, DBTables;
type
Tcheck_out = class(TForm)
Timer1: TTimer;
Table1: TTable;
DataSource1: TDataSource;
Panel1: TPanel;
Label2: TLabel;
Label3: TLabel;
Label5: TLabel;
Label4: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Bevel1: TBevel;
Bevel2: TBevel;
Label10: TLabel;
SpeedButton1: TSpeedButton;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
DBEdit5: TDBEdit;
DBEdit6: TDBEdit;
DBEdit7: TDBEdit;
Edit1: TEdit;
procedure FormShow(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure SpeedButton1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
check_out: Tcheck_out;
implementation
{$R *.dfm}
procedure Tcheck_out.FormShow(Sender: TObject);
begin
edit1.SetFocus;
end;
procedure Tcheck_out.Timer1Timer(Sender: TObject);
begin
Label5.Caption:=datetimeTostr(now);
end;
procedure Tcheck_out.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=13 then
SpeedButton1.Click;
end;
procedure Tcheck_out.SpeedButton1Click(Sender: TObject);
var str1,str2,str3,str4: string;
str5:double;
begin
Table1.Active:=false;
Table1.Active:=true;
str5:=0.0;
if edit1.Text='' then
begin
edit1.SetFocus;
messagebeep(0);
showmessage('请输入修理单号');
exit;
end;
if Table1.Locate('修理单号',edit1.Text,[locaseinsensitive]) then
begin
edit1.SetFocus;
messagebeep(0);
showmessage('错误!此单已结完帐!!');
exit;
end;
qcxlzc.Table1.Active:=false;
qcxlzc.Table1.Active:=true;
if qcxlzc.Table1.Locate('修理单号',edit1.Text,[locaseinsensitive]) then
begin
with qcxlzc.Table1 do
begin
open;
if fieldbyname('修理单号').AsString=edit1.Text then
begin
qcdj.Table1.Active:=false;
qcdj.Table1.Active:=true;
qcdj.Table1.Open;
//计算车主和地址
if qcdj.Table1.Locate('牌号',fieldvalues['牌号'],[locaseinsensitive]) then
begin
if qcdj.Table1.FieldByName('牌号').AsString=fieldvalues['牌号'] then
begin
str1:=qcdj.Table1.FieldValues['车主名'];
str2:=qcdj.Table1.FieldValues['地址'];
end;
end
else
begin
showmessage('不存在此车牌号');
exit;
end;
//计算修理费
worker.Table1.Active:=false;
worker.Table1.Active:=true;
if worker.Table1.Locate('工号',fieldvalues['工号'],[locaseinsensitive]) then
begin
if worker.Table1.FieldByName('工号').AsString=fieldvalues['工号'] then
begin
str3:=worker.Table1.FieldValues['小时工资']*FieldValues['修理小时'];
end;
end;
//计算零件费
ljkcgl.Table1.Active:=false;
ljkcgl.Table1.Active:=true;
if ljkcgl.Table1.Locate('零件号',fieldvalues['零件号'],[locaseinsensitive]) then
begin
if ljkcgl.Table1.FieldByName('零件号').AsString=fieldvalues['零件号'] then
begin
str4:=ljkcgl.Table1.FieldValues['价格']*FieldValues['零件数量'];
//计算总价
str5:=strTofloat(str3)+strTofloat(str4);
end;
end;
edit;
Table1.AppendRecord([edit1.Text,str1,fieldvalues['牌号'],str2,fieldvalues['完修日期'],fieldvalues['修理项目'],str3,str4,str5]);
if messagedlg('是否要打印发票??',mtconfirmation,[mbYes,mbNO],0)=mryes then
begin
xcfp.Table1.Active:=false;
xcfp.Table1.Active:=true;
xcfp.Table1.Filtered:=false;
xcfp.Table1.Filter:='修理单号'+'='+''''+edit1.Text+'''';
xcfp.QuickRep1.Print;
end;
end;
end;
edit1.Clear;
messagebeep(0);
edit1.SetFocus;
end
else
begin
edit1.SetFocus;
messagebeep(0);
showmessage('没有此修理单号,请重新输入一次');
exit;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -