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

📄 xuzu.pas

📁 本系统为演示Delphi的功能而开发设计
💻 PAS
字号:
unit xuzu;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Spin, ComCtrls, DBCtrls, Mask, Db;

type
  TXuzuForm = class(TForm)
    Label13: TLabel;
    Label14: TLabel;
    ButtonOk: TButton;
    Label3: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label10: TLabel;
    Label12: TLabel;
    ButtonReturn: TButton;
    Label1: TLabel;
    Label2: TLabel;
    SpinEditshu: TSpinEdit;
    ButtonChange: TButton;
    DBEdit2: TDBEdit;
    DBEdit3: TDBEdit;
    DBEdit4: TDBEdit;
    DBEdit5: TDBEdit;
    DBEdit6: TDBEdit;
    DateTimePickerContinue: TDateTimePicker;
    EditCarNo: TEdit;
    DateTimePickerReturn: TDateTimePicker;
    DBEdit1: TDBEdit;
    Label4: TLabel;
    Label5: TLabel;
    DBEdit7: TDBEdit;
    DBEdit9: TDBEdit;
    ButtonNext: TButton;
    ButtonForward: TButton;
    Label11: TLabel;
    DBEdit10: TDBEdit;
    Label15: TLabel;
    DBEdit11: TDBEdit;
    procedure EditCarNoExit(Sender: TObject);
    procedure ButtonChangeClick(Sender: TObject);
    procedure ButtonOkClick(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure SpinEditshuExit(Sender: TObject);
    procedure SpinEditshuChange(Sender: TObject);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure ButtonReturnClick(Sender: TObject);
    procedure ButtonForwardClick(Sender: TObject);
    procedure ButtonNextClick(Sender: TObject);
    procedure DateTimePickerReturnChange(Sender: TObject);
    procedure DateTimePickerReturnExit(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure DateTimePickerContinueChange(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  XuzuForm: TXuzuForm;
  jiahao,jihao,paihao,yanse,xinghao,compcode,sitecode,idnumber,leasecompcode,leaseway,Client:String;
  returndate,begindate:Tdatetime;
  Bookmark:TBookMark;

implementation
uses Shenfen, HuaXia, FindHit, ErrorHit, Genghuan, Login;
{$R *.DFM}

procedure TXuzuForm.EditCarNoExit(Sender: TObject);
begin
Try
If EditCarNo.text<>'' Then
Begin
     With HuaXiaData.QueryLeaseCar Do
     Begin
          Close;
          Unprepare;
          With Sql Do
          Begin
           Clear;
           Add('Select * From lease_car_info ');
           Add('where id_number=:idnumber');
           Add(' and bad_record_tag<>:tag');
           Add(' and comp_code=:code');
         end;
         RequestLive:=True;
         ParamByName('idnumber').AsString:=XuZuForm.EditCarNo.text;
         ParamByName('tag').AsString:='00';
         ParamByName('code').AsString:=Login.CodeComp;
         prepare;
         Open;
     End;
     If HuaXiaData.QueryLeaseCar.RecordCount>0 Then
       Begin
       DateTimePickerReturn.Enabled:=True;
       SpinEditshu.Enabled:=True;
       ButtonOk.Enabled:=True;
       If HuaXiaData.QueryLeaseCar.Eof Then
          ButtonNext.Enabled:=False
       Else
          ButtonNext.Enabled:=True;
       If HuaXiaData.QueryLeaseCar.Bof Then
          ButtonForward.Enabled:=False
       Else
          ButtonForward.Enabled:=True;
       HuaXiaData.QueryLeaseCar.Edit;
       ButtonChange.Enabled:=True;
       DateTimePickerReturn.DateTime:=HuaXiaData.QueryLeaseCar.FieldByName('return_date').Value;
       ActiveControl:=DateTimePickerReturn;
       End
     Else
       Begin
       FindForm.ShowModal;
       ButtonChange.Enabled:=False;
       DateTimePickerReturn.Enabled:=False;
       DateTimePickerContinue.Enabled:=False;
       SpinEditshu.Enabled:=False;
       XuZuForm.ActiveControl:=ButtonReturn;
       End;
  End
  Else
  Begin
    ErrorForm.ShowModal;
    XuZuForm.ActiveControl:=ButtonReturn;
  End;
Except
     On E:Exception Do
     Begin
     ShowMessage('数据库连接失败,请检验网络连接是否正常');
     Exit;
     End;
End;
end;

procedure TXuzuForm.ButtonChangeClick(Sender: TObject);
begin
Try
If MessageDlg('确实需要更换所租赁的车辆吗?', mtConfirmation, [mbYes, mbNo],0)=mrYes Then
   Begin
   BookMark:=HuaXiaData.QueryLeaseCar.GetBookmark;
   {HuaXiaData.QueryLeaseCar.DisableControls;}
   Try
   paihao:=HuaXiaData.QueryLeaseCar.FieldByName('car_card_number').Asstring;
   Except
   paihao:='';
   End;
   Try
   jihao:=HuaXiaData.QueryLeaseCar.FieldByName('engine_number').Asstring;
   Except
   jihao:='';
   End;
   Try
   xinghao:=HuaXiaData.QueryLeaseCar.FieldByName('car_type').Asstring;
   Except
   xinghao:='';
   End;
   Try
   jiahao:=HuaXiaData.QueryLeaseCar.FieldByName('car_number').Asstring;
   Except
   jihao:='';
   End;
   Try
   yanse:=HuaXiaData.QueryLeaseCar.FieldByName('car_color').Asstring;
   Except
   yanse:='';
   End;
   compcode:=HuaXiaData.QueryLeaseCar.FieldByName('comp_code').Asstring;
   sitecode:=HuaXiaData.QueryLeaseCar.FieldByName('site_code').AsString;
   idnumber:=HuaXiaData.QueryLeaseCar.FieldByName('id_number').AsString;
   leasecompcode:=HuaXiaData.QueryLeaseCar.FieldByName('lease_comp_code').AsString;
   leaseway:=HuaXiaData.QueryLeaseCar.FieldByName('lease_way').AsString;
   client:=HuaXiaData.QueryLeaseCar.FieldByName('client_name').AsString;
   returndate:=HuaXiaData.QueryLeaseCar.FieldByName('return_date').Value;
   begindate:=HuaXiaData.QueryLeaseCar.FieldByName('begin_date').Value;
   GengHuanForm.ShowModal;
   {With HuaXiaData.QueryLeaseCar Do
     Begin
          Close;
          Unprepare;
          With Sql Do
          Begin
           Clear;
           Add('Select * From lease_car_info ');
           Add('where id_number=:idnumber');
           Add(' and bad_record_tag=:tag');
         end;
         RequestLive:=True;
         ParamByName('idnumber').AsString:=XuZuForm.EditCarNo.text;
         ParamByName('tag').AsString:='-1';
         prepare;
         Open;
     End;}
   HuaXiaData.QueryLeaseCar.GotoBookmark(Bookmark);
   {HuaXiaData.QueryLeaseCar.EnableControls;}
   HuaXiaData.QueryLeaseCar.FreeBookmark(Bookmark);
   End;
Except
      On E:Exception Do
      Begin
      ShowMessage('数据库连接失败,请检验网络连接是否正常');
      Exit;
      End;
End;
end;

procedure TXuzuForm.ButtonOkClick(Sender: TObject);
begin
Try
HuaXiaData.QueryLeaseCar.Active:=True;
HuaXiaData.QueryLeaseCar.Edit;
If(HuaXiaData.QueryLeaseCar.State=DsEdit) Or (HuaXiaData.QueryLeaseCar.State=DsInsert) Then
Begin
   HuaXiaData.QueryLeaseCar.FieldByName('continue_date').Value:=DateTimePickerContinue.Date;
   HuaXiaData.QueryLeaseCar.FieldByName('continue_days').Value:=SpinEditshu.Value;
   HuaXiaData.QueryLeaseCar.FieldByName('return_date').Value:=DateTimePickerReturn.Date;
   HuaXiaData.QueryLeaseCar.Post;
   ShowMessage('续租内容已成功保存');
End;
{HuaXiaData.QueryLeaseCar.Close;
Close;}
Except
      On E:Exception Do
      Begin
      ShowMessage('数据库连接失败,请检验网络连接是否正常');
      Exit;
      End;
End;
end;

procedure TXuzuForm.FormActivate(Sender: TObject);
begin
EditCarNo.Text:='';
Label2.Visible:=True;
EditCarNo.Visible:=True;
DateTimePickerContinue.Date:=Now;
ButtonChange.Enabled:=False;
Label11.Visible:=True;
ButtonForward.Enabled:=False;
ButtonNext.Enabled:=False;
ButtonOk.Enabled:=False;
DateTimePickerReturn.DateTime:=Now;
DateTimePickerContinue.DateTime:=Now;
DateTimePickerReturn.Enabled:=False;
SpinEditshu.Enabled:=False;
ActiveControl:=EditCarNo;
end;

procedure TXuzuForm.SpinEditshuExit(Sender: TObject);
begin
Try
DateTimePickerReturn.DateTime:=HuaXiaData.QueryLeaseCar.FieldByName('return_date').Value+SpinEditshu.Value;
HuaXiaData.QueryLeaseCar.Edit;
Except
DateTimePickerReturn.DateTime:=Now;
End;
end;

procedure TXuzuForm.SpinEditshuChange(Sender: TObject);
begin
Try
DateTimePickerReturn.DateTime:=HuaXiaData.QueryLeaseCar.FieldByName('return_date').Value+SpinEditshu.Value;
HuaXiaData.QueryLeaseCar.Edit;
Except
DateTimePickerReturn.DateTime:=Now;
End;
end;

procedure TXuzuForm.FormKeyPress(Sender: TObject; var Key: Char);
begin
If key=#13 then { 判断是按执行键}
 Begin { 不是在TDbgrid控件内}
    key:=#0;
    perform(WM_NEXTDLGCTL,0,0);{移动到下一个控件}
  End;

end;

procedure TXuzuForm.ButtonReturnClick(Sender: TObject);
begin
Close;
end;

procedure TXuzuForm.ButtonForwardClick(Sender: TObject);
begin
Try
If (HuaXiaData.QueryLeaseCar.State=dsEdit) or (HuaXiaData.QueryLeaseCar.State=dsInsert) Then
   Begin
   HuaXiaData.QueryLeaseCar.FieldByName('return_date').Value:=DateTimePickerReturn.DateTime;
   HuaXiaData.QueryLeaseCar.FieldByName('continue_date').Value:=DateTimePickerContinue.DateTime;
   HuaXiaData.QueryLeaseCar.FieldByName('continue_days').Value:=SpinEditshu.Value;
   HuaXiaData.QueryLeaseCar.Post;
   End;
HuaXiaData.QueryLeaseCar.Prior;
ButtonChange.Enabled:=True;
Try
SpinEditshu.Value:=HuaXiaData.QueryLeaseCar.FieldByName('continue_days').Value;
Except
SpinEditshu.Value:=0;
End;
DateTimePickerReturn.DateTime:=HuaXiaData.QueryLeaseCar.FieldByName('return_date').Value;
Try
DateTimePickerContinue.DateTime:=HuaXiaData.QueryLeaseCar.FieldByName('continue_date').Value;
Except
DateTimePickerContinue.DateTime:=Now;
End;
If HuaXiaData.QueryLeaseCar.Eof Then
   ButtonNext.Enabled:=False
Else
   ButtonNext.Enabled:=True;
If HuaXiaData.QueryLeaseCar.Bof Then
   ButtonForward.Enabled:=False
Else
   ButtonForward.Enabled:=True;
Except
      On E:Exception Do
      Begin
      ShowMessage('数据库连接失败,请检验网络连接是否正常');
      Exit;
      End;
End;
end;

procedure TXuzuForm.ButtonNextClick(Sender: TObject);
begin
Try
If (HuaXiaData.QueryLeaseCar.State=dsEdit) or (HuaXiaData.QueryLeaseCar.State=dsInsert) Then
   Begin
   HuaXiaData.QueryLeaseCar.Edit;
   HuaXiaData.QueryLeaseCar.FieldByName('return_date').Value:=DateTimePickerReturn.DateTime;
   HuaXiaData.QueryLeaseCar.FieldByName('continue_date').Value:=DateTimePickerContinue.DateTime;
   HuaXiaData.QueryLeaseCar.FieldByName('continue_days').Value:=SpinEditshu.Value;
   HuaXiaData.QueryLeaseCar.Post;
   End;
HuaXiaData.QueryLeaseCar.Next;
ButtonChange.Enabled:=True;
Try
SpinEditshu.Value:=HuaXiaData.QueryLeaseCar.FieldByName('continue_days').Value;
Except
SpinEditshu.Value:=0;
End;
DateTimePickerReturn.DateTime:=HuaXiaData.QueryLeaseCar.FieldByName('return_date').Value;
Try
DateTimePickerContinue.DateTime:=HuaXiaData.QueryLeaseCar.FieldByName('continue_date').Value;
Except
DateTimePickerContinue.DateTime:=Now;
End;
If HuaXiaData.QueryLeaseCar.Eof Then
   ButtonNext.Enabled:=False
Else
   ButtonNext.Enabled:=True;
If HuaXiaData.QueryLeaseCar.Bof Then
   ButtonForward.Enabled:=False
Else
   ButtonForward.Enabled:=True;
Except
      On E:Exception Do
      Begin
      ShowMessage('数据库连接失败,请检验网络连接是否正常');
      Exit;
      End;
End;
end;

procedure TXuzuForm.DateTimePickerReturnChange(Sender: TObject);
begin
Try
SpinEditshu.Value:=DateTimePickerReturn.DateTime-HuaXiaData.QueryLeaseCar.FieldByName('return_date').Value;
HuaXiaData.QueryLeaseCar.Edit;
Except
SpinEditshu.Value:=0;
End;
end;

procedure TXuzuForm.DateTimePickerReturnExit(Sender: TObject);
begin
Try
SpinEditshu.Value:=HuaXiaData.QueryLeaseCar.FieldByName('return_date').Value-DateTimePickerReturn.DateTime;
Except
SpinEditshu.Value:=0;
End;
end;

procedure TXuzuForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Try
If(HuaXiaData.QueryLeaseCar.State=DsEdit)  Or (HuaXiaData.QueryLeaseCar.State=DsInsert) Then
    Begin
        If MessageDlg('所做修改尚未保存,保存修改吗?', mtConfirmation, [mbYes, mbNo],0)=mrYes Then
           Begin
           HuaXiaData.QueryLeaseCar.FieldByName('continue_date').Value:=DateTimePickerContinue.Date;
           HuaXiaData.QueryLeaseCar.FieldByName('continue_days').Value:=SpinEditshu.Value;
           HuaXiaData.QueryLeaseCar.FieldByName('return_date').Value:=DateTimePickerReturn.DateTime;
           HuaXiaData.QueryLeaseCar.Post;
           End
        Else
           HuaXiaData.QueryLeaseCar.Cancel;
    End;
HuaXiaData.QueryLeaseCar.Close;
SpinEditshu.Value:=0;
Except
      On E:Exception Do
      Begin
      ShowMessage('数据库连接失败,请检验网络连接是否正常');
      Exit;
      End;
End;
end;

procedure TXuzuForm.DateTimePickerContinueChange(Sender: TObject);
begin
Try
HuaXiaData.QueryLeaseCar.Edit;
Except
      On E:Exception Do
      Begin
      ShowMessage('数据库连接失败,请检验网络连接是否正常');
      Exit;
      End;
End;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -