📄 huanche.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 + -