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

📄 zulin.pas

📁 本系统为演示Delphi的功能而开发设计
💻 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 + -