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

📄 huanche.pas

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

interface

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

type
  ThuancheForm = class(TForm)
    Label13: TLabel;
    Label14: TLabel;
    ButtonOk: TButton;
    Label3: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label10: TLabel;
    Label12: TLabel;
    ButtonReturn: TButton;
    Label1: TLabel;
    DBEdit2: TDBEdit;
    DBEdit3: TDBEdit;
    DBEdit4: TDBEdit;
    DBEdit5: TDBEdit;
    DBEdit6: TDBEdit;
    EditCarNo: TEdit;
    DBEdit1: TDBEdit;
    DBEdit8: TDBEdit;
    DateTimePickerReal: TDateTimePicker;
    DBEdit7: TDBEdit;
    Label4: TLabel;
    Label2: TLabel;
    DBEdit9: TDBEdit;
    Label5: TLabel;
    DBEdit10: TDBEdit;
    Label9: TLabel;
    DBEdit11: TDBEdit;
    ButtonNext: TButton;
    ButtonForward: TButton;
    procedure EditCarNoExit(Sender: TObject);
    procedure ButtonReturnClick(Sender: TObject);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure ButtonOkClick(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure ButtonNextClick(Sender: TObject);
    procedure ButtonForwardClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure DateTimePickerRealChange(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  huancheForm: ThuancheForm;

implementation

uses HuaXia, FindHit, ErrorHit, Login;

{$R *.DFM}

procedure ThuancheForm.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:=HuanCheForm.EditCarNo.text;
     ParamByName('tag').AsString:='00';
     ParamByName('code').AsString:=Login.CodeComp;
     prepare;
     Open;
     End;
  If HuaXiaData.QueryLeaseCar.RecordCount=0 Then
     Begin
     FindForm.ShowModal;
     HuanCheForm.ActiveControl:=ButtonReturn;
     End
  Else
     Begin
     HuaXiaData.QueryLeaseCar.Edit;
     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;
     End;
End
Else
  Begin
  ErrorForm.ShowModal;
  HuanCheForm.ActiveControl:=ButtonReturn;
  End;
Except
      On E:Exception Do
      Begin
      ShowMessage('数据库连接失败,请检验网络连接是否正常');
      Exit;
      End;
End;
end;

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

procedure ThuancheForm.FormKeyPress(Sender: TObject; var Key: Char);
begin
If key=#13 then
 Begin
    key:=#0;
    perform(WM_NEXTDLGCTL,0,0);
 End;
end;


procedure ThuancheForm.ButtonOkClick(Sender: TObject);
begin
Try
HuaXiaData.QueryLeaseCar.Edit;
If (HuaXiaData.QueryLeaseCar.State=DsEdit) Or (HuaXiaData.QueryLeaseCar.State=DsInsert) Then
    Begin
    HuaXiaData.QueryLeaseCar.FieldByName('bad_record_tag').AsString:='00';
    DateTimePickerReal.time:=StrToTime('0:00:00');
    If HuaXiaData.QueryLeaseCar.FieldByName('return_date').Value<DateTimePickerReal.datetime Then
       If MessageDlg('实际还车日期迟于应还车日期,确实为拖欠还车吗?', mtConfirmation, [mbYes, mbNo],0)=mrNo Then
          HuaXiaData.QueryLeaseCar.FieldByName('return_date').Value:=DateTimePickerReal.date;
    HuaXiaData.QueryLeaseCar.FieldByName('real_return_date').Value:=DateTimePickerReal.date;
    HuaXiaData.QueryLeaseCar.Post;
    ShowMessage('还车内容已成功保存');
    End;
{HuaXiaData.QueryLeaseCar.Close;
Close;}
Except
      On E:Exception Do
      Begin
      ShowMessage('数据库连接失败,请检验网络连接是否正常');
      Exit;
      End;
End;
end;

procedure ThuancheForm.FormActivate(Sender: TObject);
begin
  EditCarNo.Text:='';
  DateTimePickerReal.Date:=Now;
  ButtonForward.Enabled:=False;
  ButtonNext.Enabled:=False;
  ButtonOk.Enabled:=False;
  ActiveControl:=EditCarNo;
end;


procedure ThuancheForm.ButtonNextClick(Sender: TObject);
begin
Try
If (HuaXiaData.QueryLeaseCar.State=dsEdit) or (HuaXiaData.QueryLeaseCar.State=dsInsert) Then
   Begin
   HuaXiaData.QueryLeaseCar.FieldByName('bad_record_tag').AsString:='00';
   DateTimePickerReal.time:=StrToTime('0:00:00');
   If HuaXiaData.QueryLeaseCar.FieldByName('return_date').Value<DateTimePickerReal.datetime Then
      If MessageDlg('实际还车日期迟于应还车日期,确实为拖欠还车吗?', mtConfirmation, [mbYes, mbNo],0)=mrNo Then
         HuaXiaData.QueryLeaseCar.FieldByName('return_date').Value:=DateTimePickerReal.date;
   HuaXiaData.QueryLeaseCar.FieldByName('real_return_date').Value:=DateTimePickerReal.date;
   HuaXiaData.QueryLeaseCar.Post;
   End;
HuaXiaData.QueryLeaseCar.Next;
Try
DateTimePickerReal.date:=HuaXiaData.QueryLeaseCar.FieldByName('real_return_date').Value;
Except
DateTimePickerReal.date:=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 ThuancheForm.ButtonForwardClick(Sender: TObject);
begin
Try
If (HuaXiaData.QueryLeaseCar.State=dsEdit) or (HuaXiaData.QueryLeaseCar.State=dsInsert) Then
   Begin
   HuaXiaData.QueryLeaseCar.FieldByName('bad_record_tag').AsString:='00';
   DateTimePickerReal.time:=StrToTime('0:00:00');
   If HuaXiaData.QueryLeaseCar.FieldByName('return_date').Value<DateTimePickerReal.datetime Then
      If MessageDlg('实际还车日期迟于应还车日期,确实为拖欠还车吗?', mtConfirmation, [mbYes, mbNo],0)=mrNo Then
         HuaXiaData.QueryLeaseCar.FieldByName('return_date').Value:=DateTimePickerReal.date;
   HuaXiaData.QueryLeaseCar.FieldByName('real_return_date').Value:=DateTimePickerReal.date;
   HuaXiaData.QueryLeaseCar.Post;
   End;
HuaXiaData.QueryLeaseCar.Prior;
Try
DateTimePickerReal.date:=HuaXiaData.QueryLeaseCar.FieldByName('real_return_date').Value;
Except
DateTimePickerReal.date:=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 ThuancheForm.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('bad_record_tag').AsString:='00';
      DateTimePickerReal.time:=StrToTime('0:00:00');
      If HuaXiaData.QueryLeaseCar.FieldByName('return_date').Value<DateTimePickerReal.datetime Then
         If MessageDlg('实际还车日期迟于应还车日期,确实为拖欠还车吗?', mtConfirmation, [mbYes, mbNo],0)=mrNo Then
            HuaXiaData.QueryLeaseCar.FieldByName('return_date').Value:=DateTimePickerReal.date;
      HuaXiaData.QueryLeaseCar.FieldByName('real_return_date').Value:=DateTimePickerReal.date;
      HuaXiaData.QueryLeaseCar.Post;
      End
    Else
      HuaXiaData.QueryLeaseCar.Cancel;
   End;
HuaXiaData.QueryLeaseCar.Close;
Except
      On E:Exception Do
      Begin
      ShowMessage('数据库连接失败,请检验网络连接是否正常');
      Exit;
      End;
End;
end;

procedure ThuancheForm.DateTimePickerRealChange(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 + -