unitroomquery.pas

来自「自己做过的工程」· PAS 代码 · 共 120 行

PAS
120
字号
unit unitroomquery;

interface

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

type
  Tformroomquery = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    DataSourceroom: TDataSource;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    DBGrid1: TDBGrid;
    GroupBox1: TGroupBox;
    but_query: TButton;
    ckbox_username: TCheckBox;
    ckbox_roomid: TCheckBox;
    ckbox_intime: TCheckBox;
    ed_username: TEdit;
    ed_roomid: TEdit;
    dtp_intime: TDateTimePicker;
    Label1: TLabel;
    procedure ckbox_usernameClick(Sender: TObject);
    procedure ckbox_roomidClick(Sender: TObject);
    procedure ckbox_intimeClick(Sender: TObject);
    procedure but_queryClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  formroomquery: Tformroomquery;

implementation
        uses unitDMHotel;
{$R *.dfm}

procedure Tformroomquery.ckbox_usernameClick(Sender: TObject);
begin
    if ckbox_username.Checked=true then
       begin
           ed_username.Visible:=true;
           ed_username.SetFocus;
       end
    else
       begin
           ed_username.Visible:=false;
           ed_username.Text:='';
       end;
end;

procedure Tformroomquery.ckbox_roomidClick(Sender: TObject);
begin
    if ckbox_roomid.Checked=true then
       begin
           ed_roomid.Visible:=true;
           ed_roomid.SetFocus;
       end
    else
       begin
           ed_roomid.Visible:=false;
           ed_roomid.Text:='';
       end;
end;

procedure Tformroomquery.ckbox_intimeClick(Sender: TObject);
begin
    if ckbox_intime.Checked=true then
       begin
           dtp_intime.Visible:=true;
           dtp_intime.SetFocus;
       end
    else
       begin
           dtp_intime.Visible:=false;
           dtp_intime.Date:=date;
       end;
end;

procedure Tformroomquery.but_queryClick(Sender: TObject);
var
    test_roomid:integer;
    ls_roomid,ls_username:string;
    ls_intime:TDate;
begin
    ls_roomid:=ed_roomid.Text;
    ls_username:=ed_username.Text;
    ls_intime:=dtp_intime.Date;
    //如果通过提供客房编号查询条件
    if ckbox_roomid.Checked=true then
       begin
           //判断是否是数字型
           if not tryStrToInt(ed_roomid.Text,test_roomid) then
              begin
                  MessageBox(handle,'您输入的客房编号不是一个数字类型!','错误',MB_OK or MB_ICONERROR);
                  ed_roomid.SetFocus;
                  exit;
              end;

           //找到该客房的记录
           DMHotel.ADODataSetroomstatus.Open;
           if  not DMHotel.ADODataSetroomstatus.Locate('roomid',ed_roomid.Text,[])then
               begin
                   showmessage('客房编号'+ed_roomid.Text+'不存在!');
                   exit;
               end;
       end;

    //开始查询
    DMHotel.RoomQuery(ls_username,ls_roomid,ls_intime,'no',ckbox_username.Checked,ckbox_roomid.Checked,ckbox_intime.Checked);

end;

end.

⌨️ 快捷键说明

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