unit4.pas

来自「停车厂管理系统 麻雀虽小 但是五脏齐全」· PAS 代码 · 共 117 行

PAS
117
字号
unit Unit4;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, ExtCtrls, DBCtrls, Grids, DBGrids, DB, Mask,
  ADODB, ComCtrls;

type
  Thistory = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    BitBtn1: TBitBtn;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    Label3: TLabel;
    DBNavigator1: TDBNavigator;
    ADOQuery1: TADOQuery;
    Button1: TButton;
    press: TButton;
    time2: TDateTimePicker;
    time1: TDateTimePicker;
    Edit1: TEdit;
    Label4: TLabel;
    procedure BitBtn1Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure pressClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormResize(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  history: Thistory;
  FormOldWid:Integer;
implementation

uses Unit2, Unit1, Unit10, Unit11;

{$R *.dfm}

procedure Thistory.BitBtn1Click(Sender: TObject);
begin //查询某个时间段的停车记录
    if time1.Checked and time2.Checked then
     begin
     if trim(edit1.Text)='' then
     begin
    adoquery1.Close;
    adoquery1.SQL.Clear;
    adoquery1.SQL.Add('select carid as 车牌 ,cardid as 停车卡号,addressid as 车位编号,entime as 进场时间,outime as 离场时间,stoptime as 停车时间,charge as 收费,opname as 操作员  from history where outime between :starttime and :stoptime');
    adoquery1.Parameters.ParamByName('starttime').Value:=time2.Date;
    adoquery1.Parameters.ParamByName('stoptime').Value:=time1.Date;
    adoquery1.Open;
    end
    else
      begin
      adoquery1.Close;
      adoquery1.SQL.Clear;
      adoquery1.SQL.Add('select carid as 车牌 ,cardid as 停车卡号,addressid as 车位编号,entime as 进场时间,outime as 离场时间,stoptime as 停车时间,charge as 收费,opname as 操作员  from history where outime between :starttime and :stoptime and cardid=:cardid');
      adoquery1.Parameters.ParamByName('starttime').Value:=time2.Date;
      adoquery1.Parameters.ParamByName('stoptime').Value:=time1.Date;
      adoquery1.Parameters.ParamByName('cardid').Value:=trim(edit1.Text);
      adoquery1.Open;
      end
    end;
    press.Enabled:=true;
end;

procedure Thistory.Button1Click(Sender: TObject);
begin   //删除历史记录
    adoquery1.Close;
    adoquery1.SQL.Clear;
    adoquery1.SQL.Add('delete from history where outime<:starttime and outime>:stoptime');
    adoquery1.Parameters.ParamByName('starttime').Value:=time1.Date;
    adoquery1.Parameters.ParamByName('stoptime').Value:=time2.Date;
    adoquery1.ExecSQL;
end;

procedure Thistory.FormShow(Sender: TObject);
begin   //判断用户的权限,只有管理员才能删除历史记录
    if trim(opcase)='管理员' then
      button1.Enabled:=true
    else
      button1.Enabled:=false;
    press.Enabled:=false;
    FormOldWid:=self.Width;
end;

procedure Thistory.pressClick(Sender: TObject);
begin   //打印历史记录
   form10.QRLabel14.Caption:=datetostr(time2.DateTime);
   form10.QRLabel15.Caption:=datetostr(time1.DateTime);
   form10.QuickRep1.Preview;
end;

procedure Thistory.FormClose(Sender: TObject; var Action: TCloseAction);
begin
   history:=nil;
   Action:=caFree;
end;

procedure Thistory.FormResize(Sender: TObject);
begin
    if FormOldWid>0 then
    begin
     ScaleBy(self.Width,FormOldWid);
     FormOldWid:=self.Width;
    end ;
end;

end.

⌨️ 快捷键说明

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