📄 zulin.pas
字号:
unit Zulin;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, DBCtrls, ComCtrls, Mask,DB, DBTables;
type
TZulinForm = class(TForm)
Label13: TLabel;
Label14: TLabel;
ButtonDelete: TButton;
ButtonForward: TButton;
Label3: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label10: TLabel;
Label12: TLabel;
ButtonReturn: TButton;
ButtonNext: TButton;
ButtonAdd: TButton;
ButtonFinish: TButton;
DBEdit1: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
DBEdit5: TDBEdit;
DatePickerBegin: TDateTimePicker;
DatePickerReturn: TDateTimePicker;
DBEdit6: TDBEdit;
DBComboBoxWay: TDBComboBox;
TableChe: TTable;
TableCheCardnumber: TStringField;
TableCheCartype: TStringField;
TableCheEnginenumber: TStringField;
TableCheCarnumber: TStringField;
TableCheCarcolor: TStringField;
DBEdit2: TDBLookupComboBox;
DataSourceChe: TDataSource;
procedure ButtonReturnClick(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure ButtonForwardClick(Sender: TObject);
procedure ButtonNextClick(Sender: TObject);
procedure ButtonAddClick(Sender: TObject);
procedure ButtonDeleteClick(Sender: TObject);
procedure ButtonFinishClick(Sender: TObject);
procedure DBComboBoxWayChange(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure DBEdit2Exit(Sender: TObject);
procedure DatePickerBeginExit(Sender: TObject);
procedure DatePickerReturnExit(Sender: TObject);
{procedure DBEdit2Exit(Sender: TObject);}
private
{ Private declarations }
public
{ Public declarations }
end;
var
ZulinForm: TZulinForm;
ShowFlag:integer;
implementation
uses DanWei,HuaXia, Shenfen, ErrorHit,Login;
{$R *.DFM}
procedure TZulinForm.ButtonReturnClick(Sender: TObject);
begin
Close;
end;
procedure TZulinForm.FormActivate(Sender: TObject);
begin
Try
TableChe.Active:=True;
If ShowFlag=0 Then
Begin
ZulinForm.Caption:='租赁信息录入(客户姓名:'+ShenfenForm.EditName.text+')';
DatePickerBegin.DateTime:=Now;
DatePickerReturn.DateTime:=Now;
With HuaXiaData.QueryCar Do
Begin
Close;
Unprepare;
With Sql Do
Begin
Clear;
Add('Select * From lease_car_info Where id_number=:Id_code');
End;
RequestLive:=True;
ParamByName('Id_code').AsString:='000000000000000';
prepare;
Open;
End;
If HuaXiaData.QueryCar.Eof Then
ButtonNext.Enabled:=False
Else
ButtonNext.Enabled:=True;
If HuaXiaData.QueryCar.Bof Then
ButtonForward.Enabled:=False
Else
ButtonForward.Enabled:=True;
If HuaXiaData.QueryCar.RecordCount>0 Then
ButtonDelete.Enabled:=True
Else
ButtonDelete.Enabled:=False;
HuaXiaData.QueryCar.Append;
HuaXiaData.QueryCar.Edit;
HuaXiaData.QueryCar.FieldByName('lease_way').AsString:='个人';
ZulinForm.ActiveControl:=DbEdit2;
End
Else
Begin
HuaXiaData.QueryCar.Edit;
If ShowFlag=2 Then
DBComboBoxWay.Text:='个人';
If ShowFlag=3 Then
DBComboBoxWay.Text:='单位';
ShowFlag:=0;
End;
Except
On E:Exception Do
Begin
ShowMessage('数据库连接失败,请检验网络连接是否正常');
Exit;
End;
End;
end;
procedure TZulinForm.ButtonForwardClick(Sender: TObject);
begin
Try
If (HuaXiaData.QueryCar.State=dsEdit) or (HuaXiaData.QueryCar.State=dsInsert) Then
Begin
If DbEdit2.text<>'' Then
HuaXiaData.QueryCar.Post;
If DbEdit2.text='' Then
Begin
ShowMessage('车辆牌号为空,当前租车记录不能保存');
HuaXiaData.QueryCar.Cancel;
End;
End;
HuaXiaData.QueryCar.Prior;
Try
DatePickerBegin.date:=HuaXiaData.QueryCar.FieldByName('begin_date').Value;
Except
DatePickerBegin.date:=Now;
End;
Try
DatePickerReturn.date:=HuaXiaData.QueryCar.FieldByName('return_date').Value;
Except
DatePickerReturn.date:=Now;
End;
If HuaXiaData.QueryCar.Eof Then
ButtonNext.Enabled:=False
Else
ButtonNext.Enabled:=True;
If HuaXiaData.QueryCar.Bof Then
ButtonForward.Enabled:=False
Else
ButtonForward.Enabled:=True;
{ZulinForm.ActiveControl:=DbEdit2;}
Except
On E:Exception Do
Begin
ShowMessage('数据库连接失败,请检验网络连接是否正常');
Exit;
End;
End;
end;
procedure TZulinForm.ButtonNextClick(Sender: TObject);
begin
Try
If (HuaXiaData.QueryCar.State=dsEdit) or (HuaXiaData.QueryCar.State=dsInsert) Then
Begin
If DbEdit2.text<>'' Then
HuaXiaData.QueryCar.Post;
If DbEdit2.text='' Then
Begin
ShowMessage('车辆牌号为空,当前租车记录不能保存');
HuaXiaData.QueryCar.Cancel;
End;
End;
HuaXiaData.QueryCar.Next;
Try
DatePickerBegin.date:=HuaXiaData.QueryCar.FieldByName('begin_date').Value;
Except
DatePickerBegin.date:=Now;
End;
Try
DatePickerReturn.date:=HuaXiaData.QueryCar.FieldByName('return_date').Value;
Except
DatePickerReturn.date:=Now;
End;
If HuaXiaData.QueryCar.Eof Then
ButtonNext.Enabled:=False
Else
ButtonNext.Enabled:=True;
If HuaXiaData.QueryCar.Bof Then
ButtonForward.Enabled:=False
Else
ButtonForward.Enabled:=True;
{ZulinForm.ActiveControl:=DbEdit2;}
Except
On E:Exception Do
Begin
ShowMessage('数据库连接失败,请检验网络连接是否正常');
Exit;
End;
End;
end;
procedure TZulinForm.ButtonAddClick(Sender: TObject);
begin
Try
If (HuaXiaData.QueryCar.State=dsEdit) or (HuaXiaData.QueryCar.State=dsInsert) Then
Begin
If DbEdit2.text<>'' Then
HuaXiaData.QueryCar.Post;
If DbEdit2.text='' Then
Begin
ShowMessage('车辆牌号为空,当前租车记录不能保存');
HuaXiaData.QueryCar.Cancel;
End;
End;
If HuaXiaData.QueryCar.RecordCount>=1 Then
Begin
If MessageDlg('确实需要租赁多辆车给该客户吗?', mtConfirmation, [mbYes, mbNo],0)=mrYes Then
Begin
DatePickerBegin.DateTime:=Now;
DatePickerReturn.DateTime:=Now;
HuaXiaData.QueryCar.Append;
HuaXiaData.QueryCar.Edit;
HuaXiaData.QueryCar.FieldByName('lease_way').AsString:='个人';
ZulinForm.ActiveControl:=DbEdit2;
End;
End;
If HuaXiaData.QueryCar.Eof Then
ButtonNext.Enabled:=False
Else
ButtonNext.Enabled:=True;
If HuaXiaData.QueryCar.Bof Then
ButtonForward.Enabled:=False
Else
ButtonForward.Enabled:=True;
If HuaXiaData.QueryCar.RecordCount>0 Then
ButtonDelete.Enabled:=False
Else
ButtonDelete.Enabled:=True;
If HuaXiaData.QueryCar.RecordCount>0 Then
ButtonDelete.Enabled:=True
Else
ButtonDelete.Enabled:=False;
Except
On E:Exception Do
Begin
ShowMessage('数据库连接失败,请检验网络连接是否正常');
Exit;
End;
End;
end;
procedure TZulinForm.ButtonDeleteClick(Sender: TObject);
begin
Try
If HuaXiaData.QueryCar.RecordCount>0 Then
Begin
If (HuaXiaData.QueryCar.State=dsEdit) or (HuaXiaData.QueryCar.State=dsInsert) Then
HuaXiaData.QueryCar.Cancel
Else
HuaXiaData.QueryCar.Delete;
End;
Try
DatePickerBegin.date:=HuaXiaData.QueryCar.FieldByName('begin_date').Value;
Except
DatePickerBegin.date:=Now;
End;
Try
DatePickerReturn.date:=HuaXiaData.QueryCar.FieldByName('return_date').Value;
Except
DatePickerReturn.date:=Now;
End;
If HuaXiaData.QueryCar.Eof Then
ButtonNext.Enabled:=False
Else
ButtonNext.Enabled:=True;
If HuaXiaData.QueryCar.Bof Then
ButtonForward.Enabled:=False
Else
ButtonForward.Enabled:=True;
If HuaXiaData.QueryCar.RecordCount>0 Then
ButtonDelete.Enabled:=False
Else
ButtonDelete.Enabled:=True;
ZulinForm.ActiveControl:=DbEdit2;
Except
On E:Exception Do
Begin
ShowMessage('数据库连接失败,请检验网络连接是否正常');
Exit;
End;
End;
end;
procedure TZulinForm.ButtonFinishClick(Sender: TObject);
begin
Try
HuaXiaData.QueryCar.Edit;
If DbEdit2.text<>'' Then
If (HuaXiaData.QueryCar.State=dsEdit) or (HuaXiaData.QueryCar.State=dsInsert) Then
Begin
HuaXiaData.QueryCar.Post;
ShowMessage('租车内容已成功保存');
End;
If DbEdit2.text='' Then
Begin
ShowMessage('车辆牌号为空,当前租车记录不能保存');
HuaXiaData.QueryCar.Cancel;
End;
Except
On E:Exception Do
Begin
ShowMessage('数据库连接失败,请检验网络连接是否正常');
Exit;
End;
End;
end;
procedure TZulinForm.DBComboBoxWayChange(Sender: TObject);
begin
If DBComboBoxWay.Text='单位' Then
Begin
ShowFlag:=1;
DanWeiForm.ShowModal;
End;
If ShowFlag=2 Then
DBComboBoxWay.Text:='个人';
If ShowFlag=3 Then
DBComboBoxWay.Text:='单位';
end;
procedure TZulinForm.FormKeyPress(Sender: TObject; var Key: Char);
begin
If key=#13 then { 判断是按执行键}
Begin { 不是在TDbgrid控件内}
key:=#0;
perform(WM_NEXTDLGCTL,0,0);{移动到下一个控件}
End;
end;
procedure TZulinForm.FormCreate(Sender: TObject);
begin
ShowFlag:=0;
end;
procedure TZulinForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Try
If (HuaXiaData.QueryCar.State=dsEdit) or (HuaXiaData.QueryCar.State=dsInsert) Then
Begin
If DbEdit2.text<>'' Then
Begin
If MessageDlg('所做修改尚未保存,保存修改吗?', mtConfirmation, [mbYes, mbNo],0)=mrYes Then
Begin
HuaXiaData.QueryCar.Post;
If HuaXiaData.QueryCar.UpdatesPending Then
HuaXiaData.QueryCar.ApplyUpdates;
End
Else
Begin
{ShowMessage('车辆牌号为空,当前租车记录不能保存');}
HuaXiaData.QueryComp.Cancel;
End;
End;
End;
If HuaXiaData.QueryCar.UpdatesPending Then
HuaXiaData.QueryCar.ApplyUpdates;
HuaXiaData.QueryCar.Close;
ShowFlag:=0;
TableChe.Active:=False;
Except
On E:Exception Do
Begin
ShowMessage('数据库连接失败,请检验网络连接是否正常');
Exit;
End;
End;
end;
procedure TZulinForm.DBEdit2Exit(Sender: TObject);
begin
Try
If DBEdit2.Text<>'' Then
Begin
HuaXiaData.QueryCar.FieldByName('car_type').AsString:=TableChe.FieldByName('cartype').AsString;
HuaXiaData.QueryCar.FieldByName('car_color').AsString:=TableChe.FieldByName('carcolor').AsString;
HuaXiaData.QueryCar.FieldByName('car_number').AsString:=TableChe.FieldByName('carnumber').AsString;
HuaXiaData.QueryCar.FieldByName('engine_number').AsString:=TableChe.FieldByName('enginenumber').AsString;
End;
Except
On E:Exception Do
Begin
ShowMessage('数据库连接失败,请检验网络连接是否正常');
Exit;
End;
End;
end;
procedure TZulinForm.DatePickerBeginExit(Sender: TObject);
begin
If DatePickerBegin.DateTime>DatePickerReturn.DateTime Then
Begin
ErrorForm.ShowModal;
ActiveControl:=ButtonReturn;
End;
Try
If HuaXiaData.QueryCar.Active=True Then
HuaXiaData.QueryCar.Edit;
Except
On E:Exception Do
Begin
ShowMessage('数据库连接失败,请检验网络连接是否正常');
Exit;
End;
End;
end;
procedure TZulinForm.DatePickerReturnExit(Sender: TObject);
begin
If DatePickerBegin.DateTime>DatePickerReturn.DateTime Then
Begin
ErrorForm.ShowModal;
ActiveControl:=ButtonReturn;
End;
Try
If HuaXiaData.QueryCar.Active=True Then
HuaXiaData.QueryCar.Edit;
Except
On E:Exception Do
Begin
ShowMessage('数据库连接失败,请检验网络连接是否正常');
Exit;
End;
End;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -