⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 check.pas

📁 此为 汽车维修管理系统 采用ODBC驱动 控制面板里设置 数据库名:qcwxgl 说明:汽车维修管理 SQL服务器名:yangfeng 默认数据库名:qcwxgl
💻 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 + -