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