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

📄 zonghe.pas

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

interface

uses Windows, Messages, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls, Dialogs,
     Grids, DBGrids, ComCtrls, Spin, ExtCtrls, DBCtrls, Buttons, Db, DBTables,
  Provider;

type
  TFormZongHe = class(TForm)
    GroupBox1: TGroupBox;
    ButtonStatic: TButton;
    ButtonPrint: TButton;
    ButtonClose: TButton;
    DBGrid1: TDBGrid;
    ComboBoxType: TComboBox;
    ComboBoxColor: TComboBox;
    CheckBoxType: TCheckBox;
    CheckBoxColor: TCheckBox;
    GroupBox2: TGroupBox;
    Label7: TLabel;
    Label8: TLabel;
    DateTimePickerBegin: TDateTimePicker;
    DateTimePickerEnd: TDateTimePicker;
    GroupBox3: TGroupBox;
    DBLookupComboBoxComp: TDBLookupComboBox;
    GroupBox4: TGroupBox;
    RadioButtonWeihuanJiLu: TRadioButton;
    RadioButtonZuCheJiLu: TRadioButton;
    GroupBox5: TGroupBox;
    RadioButtonHuanCheJiLu: TRadioButton;
    GroupBox6: TGroupBox;
    Label2: TLabel;
    SpinEditYiShangTianShu: TSpinEdit;
    SpinEditYiXiaTianShu: TSpinEdit;
    Label1: TLabel;
    CheckBoxYiXiaTianShu: TCheckBox;
    CheckBoxYishangTianShu: TCheckBox;
    CheckBoxDanwei: TCheckBox;
    CheckBoxWay: TCheckBox;
    ComboBoxWay: TComboBox;
    SpinEditYuQiYiShang: TSpinEdit;
    Label4: TLabel;
    SpinEditYuQiYiXia: TSpinEdit;
    Label3: TLabel;
    CheckBoxYuQiYiXia: TCheckBox;
    CheckBoxYuQiYiShang: TCheckBox;
    CheckBoxLocal: TCheckBox;
    OpenDialogHuifu: TOpenDialog;
    procedure ButtonCloseClick(Sender: TObject);
    procedure ButtonPrintClick(Sender: TObject);
    procedure ButtonStaticClick(Sender: TObject);
    procedure CheckBoxDanweiExit(Sender: TObject);
    procedure CheckBoxTypeExit(Sender: TObject);
    procedure CheckBoxColorExit(Sender: TObject);
    procedure CheckBoxWayClick(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure CheckBoxYiXiaTianShuClick(Sender: TObject);
    procedure CheckBoxYishangTianShuClick(Sender: TObject);
    procedure CheckBoxYuQiYiXiaClick(Sender: TObject);
    procedure CheckBoxYuQiYiShangClick(Sender: TObject);
    procedure SpinEditYiXiaTianShuChange(Sender: TObject);
    procedure SpinEditYiShangTianShuChange(Sender: TObject);
    procedure DateTimePickerBeginExit(Sender: TObject);
    procedure DateTimePickerEndExit(Sender: TObject);
    procedure SpinEditYuQiYiXiaChange(Sender: TObject);
    procedure SpinEditYuQiYiShangChange(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure ComboBoxTypeExit(Sender: TObject);
    procedure ComboBoxColorExit(Sender: TObject);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure CheckBoxLocalClick(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FormZongHe: TFormZongHe;
  fromdate,todate:tdatetime;
  style,color,day,company,site,BeginStr,EndStr:string;
  LocalFlag:Integer;

implementation
uses huaxia,reyuqi,Login;
{$R *.DFM}

procedure TFormZongHe.ButtonCloseClick(Sender: TObject);
begin
Close;
end;

procedure TFormZongHe.ButtonPrintClick(Sender: TObject);
begin
    yuqireport.quickrep1.Print;
end;

procedure TFormZongHe.ButtonStaticClick(Sender: TObject);
begin
Try
  If CheckBoxLocal.Checked=False Then
  Begin
     With HuaXiaData.ZongHeQuery Do
     Begin
          Close;
          Unprepare;
          With Sql Do
          Begin
           Clear;
           Add('select lease_car_info.comp_code,car_type,car_color,lease_way,bad_record_tag,begin_date,real_return_date,return_date,lease_car_info.note,site_name');
           Add('from lease_car_info,site_info where lease_car_info.comp_code=:compcode and site_info.comp_code=:compcode');
           If CheckBoxType.Checked=True Then
              Add(' and car_type=:type');
           If CheckBoxcolor.Checked=True Then
              Add(' and car_color=:color');
           If CheckBoxDanwei.Checked=True Then
              Add(' and site_name=:sitename');
           If CheckBoxWay.Checked=True Then
              Add(' and lease_way=:way');
           If CheckBoxYiXiaTianShu.Checked=True Then
              Add(' and real_return_date-begin_date<=:yixia');
           If CheckBoxYiShangTianShu.Checked=True Then
              Add(' and real_return_date-begin_date>=:yishang');
           If CheckBoxYuQiYiXia.Checked=True Then
              Add(' and real_return_date-return_date<=:yuqiyixia');
           If CheckBoxYuQiYiShang.Checked=True Then
              Add(' and real_return_date-return_date>=:yuqiyishang');
           If RadioButtonZuCheJiLu.Checked=True Then
              Add(' and begin_date>=:begindate and begin_date<=:enddate');
           If RadioButtonHuanCheJiLu.Checked=True Then
              Add(' and real_return_date>=:begindate and real_return_date<=:enddate');
           If RadioButtonWeihuanJiLu.Checked=True Then
              Begin
              Add(' and begin_date>=:begindate and begin_date<=:enddate');
              Add(' and (real_return_date>=:enddate or bad_record_tag<>:flag)');
              End;
          End;
         RequestLive:=False;
         ParamByName('compcode').AsString:=Login.CodeComp;
         If CheckBoxType.Checked=True Then
            ParamByName('type').AsString:=Trim(ComboBoxType.text);
         If CheckBoxcolor.Checked=True Then
            ParamByName('color').AsString:=Trim(ComboBoxColor.text);
         If CheckBoxDanwei.Checked=True Then
            ParamByName('sitename').AsString:=DBLookupComboBoxComp.text;
         If CheckBoxWay.Checked=True Then
            ParamByName('way').AsString:=ComboBoxWay.text;
         If CheckBoxYiXiaTianShu.Checked=True Then
            ParamByName('yixia').Value:=SpinEditYiXiaTianShu.Value;
         If CheckBoxYiShangTianShu.Checked=True Then
            ParamByName('yishang').Value:=SpinEditYiShangTianShu.Value;
         If CheckBoxYuQiYiXia.Checked=True Then
            ParamByName('yuqiyixia').Value:=SpinEditYuQiYiXia.Value;
         If CheckBoxYuQiYiShang.Checked=True Then
            ParamByName('yuqiyishang').Value:=SpinEditYuQiYiShang.Value;
         If RadioButtonWeihuanJiLu.Checked=True Then
            ParamByName('flag').AsString:='00';
         DateTimePickerBegin.Time:=StrToTime('0:00:00');
         DateTimePickerEnd.Time:=StrToTime('23:59:59');
         ParamByName('begindate').Value:=DateTimePickerBegin.DateTime;
         ParamByName('enddate').Value:=DateTimePickerEnd.DateTime;
         prepare;
         Open;
     End;
     FormZongHe.Caption:='租车信息综合查询(满足查询条件的记录共有'+IntToStr(HuaXiaData.ZongHeQuery.RecordCount)+'条)';
  End
  Else
  Begin
     With HuaXiaData.BackupData Do
     Begin
          Active:=False;
          If LocalFlag=0 Then
          Begin
             LocalFlag:=1;
             if OpenDialogHuifu.Execute then
                HuaXiaData.BackUpData.FileName:=OpenDialogHuiFu.FileName;
          End;
          Filtered:=False;
          Filter:='';
          DateTimePickerBegin.Time:=StrToTime('0:00:00');
          DateTimePickerEnd.Time:=StrToTime('23:59:59');
          DateTimeToString(BeginStr,'yyyy-mm-dd-hh-mm-ss',DateTimePickerBegin.DateTime);
          DateTimeToString(EndStr,'yyyy-mm-dd-hh-mm-ss',DateTimePickerEnd.DateTime);
          If RadioButtonZuCheJiLu.Checked=True Then
             Filter:=('begin_date>=')+BeginStr+(' and begin_date<=')+EndStr;
          If RadioButtonHuanCheJiLu.Checked=True Then
             Filter:=('real_return_date>=')+BeginStr+(' and real_return_date<=')+EndStr;
          If RadioButtonWeihuanJiLu.Checked=True Then
             Begin
             Filter:=('begin_date>=')+BeginStr+(' and begin_date<=')+EndStr;
             Filter:=Filter+(' and (real_return_date>=')+EndStr+(' or bad_record_tag<>')+('00)');
             End;
          If CheckBoxType.Checked=True Then
             Filter:=Filter+(' and car_type=')+Trim(ComboBoxType.text);
          If CheckBoxcolor.Checked=True Then
             Filter:=Filter+(' and car_color=')+Trim(ComboBoxColor.text);
          If CheckBoxWay.Checked=True Then
             Filter:=Filter+(' and lease_way=')+ComboBoxWay.text;
          If CheckBoxYiXiaTianShu.Checked=True Then
             Filter:=Filter+(' and real_return_date-begin_date<=')+SpinEditYiXiaTianShu.Text;
          If CheckBoxYiShangTianShu.Checked=True Then
             Filter:=Filter+(' and real_return_date-begin_date>=')+SpinEditYiShangTianShu.Text;
          If CheckBoxYuQiYiXia.Checked=True Then
             Filter:=Filter+(' and real_return_date-return_date<=')+SpinEditYuQiYiXia.Text;
          If CheckBoxYuQiYiShang.Checked=True Then
             Filter:=Filter+(' and real_return_date-return_date>=')+SpinEditYuQiYiShang.Text;
         If Filter<>'' Then
            Filtered:=True;
         Active:=True;
     End;
     FormZongHe.Caption:='租车信息综合查询(满足查询条件的记录共有'+IntToStr(HuaXiaData.BackupData.RecordCount)+'条)';
  End;
Except
     On E:Exception Do
     Begin
     ShowMessage('数据库连接失败,请检验网络连接是否正常');
     Exit;
     End;
End;
end;

procedure TFormZongHe.CheckBoxDanweiExit(Sender: TObject);
begin
    if checkboxDanwei.checked=true then
       Begin
       HuaXiaData.TableSite.Active:=False;
       HuaXiaData.TableSite.Filtered:=False;
       HuaXiaData.TableSite.Filter:='comp_code='+Login.CodeComp;
       HuaXiaData.TableSite.Filtered:=True;
       HuaXiaData.TableSite.Active:=True;
       DbLookupComboBoxComp.Enabled:=True;
       End
    else
       Begin
       DbLookupComboBoxComp.Enabled:=False;
       HuaXiaData.TableSite.Filtered:=False;
       HuaXiaData.TableSite.Active:=False;
       End;
end;

procedure TFormZongHe.CheckBoxTypeExit(Sender: TObject);
begin
   If CheckBoxType.Checked=True then
      ComboBoxType.Enabled:=True
   Else
      Begin
      ComboBoxType.Text:='';
      ComboBoxType.Enabled:=False;
      End;
end;

procedure TFormZongHe.CheckBoxColorExit(Sender: TObject);
begin
   If CheckBoxColor.Checked=True Then
      ComboBoxColor.Enabled:=True
   Else
      Begin
      ComboBoxColor.Text:='';
      ComboBoxColor.Enabled:=False;
      End;
end;


procedure TFormZongHe.CheckBoxWayClick(Sender: TObject);
begin
   If CheckBoxWay.Checked=True Then
      ComboBoxWay.Enabled:=True
   Else
      Begin
      ComboBoxWay.Text:='';
      ComboBoxWay.Enabled:=False;
      End;
end;

procedure TFormZongHe.FormActivate(Sender: TObject);
begin
Try
Caption:='租车信息综合查询';
RadioButtonZuCheJiLu.Checked:=True;
CheckBoxLocal.Checked:=False;
ComboBoxType.Items.LoadFromFile('Type.Dat');
ComboBoxColor.Items.LoadFromFile('Color.Dat');
CheckBoxLocal.Checked:=False;
LocalFlag:=0;
Except
      On E:Exception Do
      Begin
      ShowMessage('数据库连接失败,请检验网络连接是否正常');
      Exit;
      End;
End;
end;

procedure TFormZongHe.CheckBoxYiXiaTianShuClick(Sender: TObject);
begin
   If CheckBoxYiXiaTianShu.Checked=True Then
      SpinEditYiXiaTianShu.Enabled:=True
   Else
      SpinEditYiXiaTianShu.Enabled:=False;
end;

procedure TFormZongHe.CheckBoxYishangTianShuClick(Sender: TObject);
begin
   If CheckBoxYiShangTianShu.Checked=True Then
      SpinEditYiShangTianShu.Enabled:=True
   Else
      SpinEditYiShangTianShu.Enabled:=False;
end;

procedure TFormZongHe.CheckBoxYuQiYiXiaClick(Sender: TObject);
begin
   If CheckBoxYuQiYiXia.Checked=True Then
      SpinEditYuQiYiXia.Enabled:=True
   Else
      SpinEditYuQiYiXia.Enabled:=False;
end;

procedure TFormZongHe.CheckBoxYuQiYiShangClick(Sender: TObject);
begin
   If CheckBoxYuQiYiShang.Checked=True Then
      SpinEditYuQiYiShang.Enabled:=True
   Else
      SpinEditYuQiYiShang.Enabled:=False;
end;

procedure TFormZongHe.SpinEditYiXiaTianShuChange(Sender: TObject);
begin
If (SpinEditYiXiaTianShu.Value<SpinEditYiShangTianShu.Value) And (SpinEditYiShangTianShu.Enabled=True) Then
   ShowMessage('租车天数上限应大于租车天数下限');
end;

procedure TFormZongHe.SpinEditYiShangTianShuChange(Sender: TObject);
begin
If (SpinEditYiXiaTianShu.Value<SpinEditYiShangTianShu.Value) And (SpinEditYiXiaTianShu.Enabled=True) Then
   ShowMessage('租车天数上限应大于租车天数下限');
end;

procedure TFormZongHe.DateTimePickerBeginExit(Sender: TObject);
begin
If DateTimePickerEnd.DateTime<DateTimePickerBegin.DateTime Then
   Begin
   ShowMessage('终止时间应大于起始时间');
   Exit;
   End;
end;

procedure TFormZongHe.DateTimePickerEndExit(Sender: TObject);
begin
If DateTimePickerEnd.DateTime<DateTimePickerBegin.DateTime Then
   Begin
   ShowMessage('终止时间应大于起始时间');
   Exit;
   End;
end;

procedure TFormZongHe.SpinEditYuQiYiXiaChange(Sender: TObject);
begin
If (SpinEditYuQiYiXia.Value<SpinEditYuQiYiShang.Value) And (SpinEditYuQiYiShang.Enabled=True) Then
   ShowMessage('逾期还车天数上限应大于逾期还车天数下限');
end;

procedure TFormZongHe.SpinEditYuQiYiShangChange(Sender: TObject);
begin
If (SpinEditYuQiYiXia.Value<SpinEditYuQiYiShang.Value) And (SpinEditYuQiYiXia.Enabled=True) Then
   ShowMessage('逾期还车天数上限应大于逾期还车天数下限');
end;

procedure TFormZongHe.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Try
ComboBoxType.Items.SaveToFile('Type.Dat');
ComboBoxColor.Items.SaveToFile('Color.Dat');
HuaXiaData.ZongHeQuery.Close;
Except
      On E:Exception Do
      Begin
      ShowMessage('数据库连接失败,请检验网络连接是否正常');
      Exit;
      End;
End;

end;

procedure TFormZongHe.ComboBoxTypeExit(Sender: TObject);
begin
Try
If Copy(ComboBoxType.Text,1,1)<>' ' Then
Begin
  if StrPos(Pchar(ComboBoxType.Items.Text),Pchar(' '+ComboBoxType.Text+' '))=Nil Then
     ComboBoxType.Items.Add(' '+ComboBoxType.Text+' ');
End;
Except
;
End;
end;

procedure TFormZongHe.ComboBoxColorExit(Sender: TObject);
begin
Try
If Copy(ComboBoxColor.Text,1,1)<>' ' Then
Begin
  if StrPos(Pchar(ComboBoxColor.Items.Text),Pchar(' '+ComboBoxColor.Text+' '))=Nil Then
     ComboBoxType.Items.Add(' '+ComboBoxColor.Text+' ');
End;
Except
;
End;
end;

procedure TFormZongHe.FormKeyPress(Sender: TObject; var Key: Char);
begin
If key=#13 then { 判断是按执行键}
 Begin
    key:=#0;
    perform(WM_NEXTDLGCTL,0,0);
 End;
end;

procedure TFormZongHe.CheckBoxLocalClick(Sender: TObject);
begin
  Try
  If CheckBoxLocal.Checked=True Then
  Begin
     HuaXiaData.ZongHeDataSource.DataSet:=HuaXiaData.BackUpData;
     CheckBoxDanwei.Enabled:=False;
  End
  Else
     Begin
     HuaXiaData.ZongHeDataSource.DataSet:=HuaXiaData.ZongHeQuery;
     CheckBoxDanwei.Enabled:=True;
     End;
  Except
      On E:Exception Do
      Begin
      ShowMessage('数据库连接失败,请检验网络连接是否正常');
      Exit;
      End;
  End;
end;

end.

⌨️ 快捷键说明

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