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

📄 genghuan.pas

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

interface

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

type
  TGengHuanForm = class(TForm)
    Label13: TLabel;
    Label14: TLabel;
    Label3: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label10: TLabel;
    Label12: TLabel;
    ButtonReturn: TButton;
    ButtonFinish: TButton;
    DBEdit1: TDBEdit;
    DBEdit3: TDBEdit;
    DBEdit4: TDBEdit;
    DBEdit5: TDBEdit;
    DatePickerReturn: TDateTimePicker;
    DBEdit6: TDBEdit;
    DBEdit7: TDBEdit;
    DBEdit2: TDBLookupComboBox;
    TableChe: TTable;
    TableCheCardnumber: TStringField;
    TableCheCartype: TStringField;
    TableCheEnginenumber: TStringField;
    TableCheCarnumber: TStringField;
    TableCheCarcolor: TStringField;
    DataSourceChe: TDataSource;
    DBEdit8: TDBEdit;
    procedure ButtonReturnClick(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure ButtonFinishClick(Sender: TObject);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
{    procedure DatePickerBeginChange(Sender: TObject);}
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure DBEdit2Exit(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure DatePickerReturnExit(Sender: TObject);
    {procedure DBEdit2Exit(Sender: TObject);}
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  GengHuanForm: TGengHuanForm;
  gengflag:integer;

implementation

uses DanWei,HuaXia, Xuzu, ErrorHit;

{$R *.DFM}

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


procedure TGengHuanForm.FormActivate(Sender: TObject);
begin
Try
gengflag:=0;
TableChe.Active:=True;
{HuaXiaData.QueryLeaseCar.Append;}
HuaXiaData.QueryLeaseCar.Edit;
HuaXiaData.QueryLeaseCar.FieldByName('car_card_number').Asstring:='';
HuaXiaData.QueryLeaseCar.FieldByName('car_type').Asstring:='';
HuaXiaData.QueryLeaseCar.FieldByName('engine_number').Asstring:='';
HuaXiaData.QueryLeaseCar.FieldByName('car_color').Asstring:='';
HuaXiaData.QueryLeaseCar.FieldByName('car_number').Asstring:='';
{HuaXiaData.QueryLeaseCar.FieldByName('comp_code').Asstring:=Xuzu.compcode;
HuaXiaData.QueryLeaseCar.FieldByName('site_code').AsString:=Xuzu.sitecode;
HuaXiaData.QueryLeaseCar.FieldByName('client_name').AsString:=Xuzu.client;
HuaXiaData.QueryLeaseCar.FieldByName('id_number').AsString:=Xuzu.idnumber;
HuaXiaData.QueryLeaseCar.FieldByName('lease_comp_code').AsString:=Xuzu.leasecompcode;
HuaXiaData.QueryLeaseCar.FieldByName('return_date').Value:=Xuzu.returndate;
HuaXiaData.QueryLeaseCar.FieldByName('lease_way').AsString:=Xuzu.leaseway;}
HuaXiaData.QueryLeaseCar.FieldByName('bad_record_tag').AsString:='-1';
HuaXiaData.QueryLeaseCar.FieldByName('begin_date').Value:=Now;
HuaXiaData.QueryLeaseCar.FieldByName('return_date').Value:=Now;
DbEdit7.text:=HuaXiaData.QueryLeaseCar.FieldByName('lease_way').Value;
{DatePickerBegin.DateTime:=Now;}
DatePickerReturn.DateTime:=Now;
ActiveControl:=Dbedit2;
Except
      On E:Exception Do
      Begin
      ShowMessage('数据库连接失败,请检验网络连接是否正常');
      Exit;
      End;
End;
end;

procedure TGengHuanForm.ButtonFinishClick(Sender: TObject);
begin
Try
If DbEdit2.text<>'' Then
   If (HuaXiaData.QueryLeaseCar.State=dsEdit) or (HuaXiaData.QueryLeaseCar.State=dsInsert) Then
      Begin
      {HuaXiaData.QueryLeaseCar.FieldByName('begin_date').Value:=DatePickerBegin.DateTime;}
      {HuaXiaData.QueryLeaseCar.FieldByName('return_date').Value:=DatePickerReturn.DateTime;}
      XuzuForm.DateTimePickerReturn.DateTime:=DatePickerReturn.DateTime;
      XuzuForm.SpinEditshu.Value:=XuzuForm.DateTimePickerReturn.DateTime-HuaXiaData.QueryLeaseCar.FieldByName('return_date').Value;
      HuaXiaData.QueryLeaseCar.Post;
      ShowMessage('更换车辆信息已成功保存');
      If gengflag=0 Then
      Begin
      gengflag:=1;
      {HuaXiaData.QueryLeaseCar.Edit;}
      End;
      End;
If DbEdit2.text='' Then
   Begin
   If MessageDlg('车辆车牌号为空不能提交换车信息,放弃换车吗?', mtConfirmation, [mbYes, mbNo],0)=mrYes Then
      Begin
      HuaXiaData.QueryLeaseCar.Cancel;
      Close;
      End
      Else
      ActiveControl:=DBEdit2;
   End;
Except
      On E:Exception Do
      Begin
      ShowMessage('数据库连接失败,请检验网络连接是否正常');
      Exit;
      End;
End;
end;

procedure TGengHuanForm.FormKeyPress(Sender: TObject; var Key: Char);
begin
If key=#13 then { 判断是按执行键}
 Begin { 不是在TDbgrid控件内}
    key:=#0;
    perform(WM_NEXTDLGCTL,0,0);{移动到下一个控件}
  End;

end;
{
procedure TGengHuanForm.DatePickerBeginChange(Sender: TObject);
begin
If DatePickerBegin.DateTime>DatePickerReturn.DateTime Then
   Begin
   ErrorForm.ShowModal;
   ActiveControl:=ButtonReturn;
   End;
end;
}
procedure TGengHuanForm.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
Try
TableChe.Active:=False;
If gengflag=1 Then
Begin
      HuaXiaData.QueryLeaseCar.Insert;
      HuaXiaData.QueryLeaseCar.Edit;
      Try
      HuaXiaData.QueryLeaseCar.FieldByName('car_card_number').Asstring:=Xuzu.paihao;
      Except
      HuaXiaData.QueryLeaseCar.FieldByName('car_card_number').Asstring:='';
      End;
      Try
      HuaXiaData.QueryLeaseCar.FieldByName('car_type').Asstring:=Xuzu.xinghao;
      Except
      HuaXiaData.QueryLeaseCar.FieldByName('car_type').Asstring:='';
      End;
      Try
      HuaXiaData.QueryLeaseCar.FieldByName('engine_number').Asstring:=Xuzu.jihao;
      Except
      HuaXiaData.QueryLeaseCar.FieldByName('engine_number').Asstring:='';
      End;
      Try
      HuaXiaData.QueryLeaseCar.FieldByName('car_color').Asstring:=Xuzu.yanse;
      Except
      HuaXiaData.QueryLeaseCar.FieldByName('car_color').Asstring:='';
      End;
      Try
      HuaXiaData.QueryLeaseCar.FieldByName('car_number').Asstring:=Xuzu.jiahao;
      Except
      HuaXiaData.QueryLeaseCar.FieldByName('car_number').Asstring:='';
      End;
      HuaXiaData.QueryLeaseCar.FieldByName('comp_code').Asstring:=Xuzu.compcode;
      HuaXiaData.QueryLeaseCar.FieldByName('site_code').AsString:=Xuzu.sitecode;
      HuaXiaData.QueryLeaseCar.FieldByName('client_name').AsString:=Xuzu.client;
      HuaXiaData.QueryLeaseCar.FieldByName('id_number').AsString:=Xuzu.idnumber;
      HuaXiaData.QueryLeaseCar.FieldByName('lease_comp_code').AsString:=Xuzu.leasecompcode;
      HuaXiaData.QueryLeaseCar.FieldByName('begin_date').Value:=XuZu.BeginDate;
      HuaXiaData.QueryLeaseCar.FieldByName('return_date').Value:=Now;{Xuzu.returndate;}
      HuaXiaData.QueryLeaseCar.FieldByName('real_return_date').Value:=Now;
      HuaXiaData.QueryLeaseCar.FieldByName('lease_way').AsString:=Xuzu.leaseway;
      HuaXiaData.QueryLeaseCar.FieldByName('bad_record_tag').AsString:='00';
      HuaXiaData.QueryLeaseCar.Post;
end;
Except
      On E:Exception Do
      Begin
      ShowMessage('数据库连接失败,请检验网络连接是否正常');
      Exit;
      End;
End;
end;

procedure TGengHuanForm.DBEdit2Exit(Sender: TObject);
begin
Try
If DBEdit2.Text<>'' Then
Begin
HuaXiaData.QueryLeaseCar.FieldByName('car_type').AsString:=TableChe.FieldByName('cartype').AsString;
HuaXiaData.QueryLeaseCar.FieldByName('car_color').AsString:=TableChe.FieldByName('carcolor').AsString;
HuaXiaData.QueryLeaseCar.FieldByName('car_number').AsString:=TableChe.FieldByName('carnumber').AsString;
HuaXiaData.QueryLeaseCar.FieldByName('engine_number').AsString:=TableChe.FieldByName('enginenumber').AsString;
End;
Except
      On E:Exception Do
      Begin
      ShowMessage('数据库连接失败,请检验网络连接是否正常');
      Exit;
      End;
End;

end;

procedure TGengHuanForm.FormCloseQuery(Sender: TObject;
  var CanClose: Boolean);
begin
Try
If (HuaXiaData.QueryLeaseCar.State=dsEdit) or (HuaXiaData.QueryLeaseCar.State=dsInsert) Then
    Begin
    If DbEdit2.text<>'' Then
       Begin
       If MessageDlg('更换车辆信息尚未保存,退出前保存吗?', mtConfirmation, [mbYes, mbNo],0)=mrYes Then
          Begin
          {HuaXiaData.QueryLeaseCar.FieldByName('begin_date').Value:=DatePickerBegin.DateTime;}
          {HuaXiaData.QueryLeaseCar.FieldByName('return_date').Value:=DatePickerReturn.DateTime;}
          XuzuForm.DateTimePickerReturn.DateTime:=DatePickerReturn.DateTime;
          XuzuForm.SpinEditshu.Value:=XuzuForm.DateTimePickerReturn.DateTime-HuaXiaData.QueryLeaseCar.FieldByName('return_date').Value;
          HuaXiaData.QueryLeaseCar.Post;
          If gengFlag=0 Then
             gengflag:=1;
          End
      Else
          HuaXiaData.QueryLeaseCar.Cancel;
      End;
   If DbEdit2.text='' Then
      Begin
      If MessageDlg('更换车辆车牌号为空,放弃更换车辆吗?', mtConfirmation, [mbYes, mbNo],0)=mrYes Then
         Begin
         HuaXiaData.QueryLeaseCar.Cancel;
         End
         Else
         Begin
         CanClose := False;
         ActiveControl:=DBEdit2;
         End;
     End;
  End;
Except
      On E:Exception Do
      Begin
      ShowMessage('数据库连接失败,请检验网络连接是否正常');
      Exit;
      End;
End;
end;

procedure TGengHuanForm.DatePickerReturnExit(Sender: TObject);
begin
If HuaXiaData.QueryLeaseCar.FieldByName('begin_date').AsDateTime>DatePickerReturn.DateTime Then
   Begin
   ErrorForm.ShowModal;
   ActiveControl:=ButtonReturn;
   End;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -