unitsuproomstatusquery.pas

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

PAS
153
字号
unit unitsuproomstatusquery;

interface

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

type
  Tformsuproomstatusquery = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    DataSource1: TDataSource;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    DBGrid1: TDBGrid;
    GroupBox1: TGroupBox;
    ckbox_sroomno: TCheckBox;
    ckbox_sroomstatus: TCheckBox;
    ed_sroomno: TEdit;
    cbox_sroomstatus: TComboBox;
    ed_number: TEdit;
    lab_number: TLabel;
    but_query: TButton;
    procedure PageControl1Change(Sender: TObject);
    procedure ckbox_sroomstatusClick(Sender: TObject);
    procedure ckbox_sroomnoClick(Sender: TObject);
    procedure but_queryClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  formsuproomstatusquery: Tformsuproomstatusquery;

implementation
     uses unitDMHotel,unitsupmanage;
{$R *.dfm}

procedure Tformsuproomstatusquery.PageControl1Change(Sender: TObject);
begin
    //DMHotel.ds_sroom_status_query
end;

//选中包间状态查询条件
procedure Tformsuproomstatusquery.ckbox_sroomstatusClick(Sender: TObject);
begin
    if ckbox_sroomstatus.Checked=true then
       begin
           cbox_sroomstatus.Visible:=true;
           cbox_sroomstatus.ItemIndex:=0;
           cbox_sroomstatus.SetFocus;
           lab_number.Visible:=true;
           ed_number.Visible:=true;
           ckbox_sroomno.Checked:=false;
           ed_sroomno.Visible:=false;
       end
    else
       begin
           cbox_sroomstatus.Visible:=true;
           lab_number.Visible:=false;
           ed_number.Visible:=false;
           cbox_sroomstatus.Visible:=false;
           cbox_sroomstatus.ItemIndex:=0;
       end;
end;

//选中包间编号查询条件
procedure Tformsuproomstatusquery.ckbox_sroomnoClick(Sender: TObject);
begin
    if ckbox_sroomno.Checked=true then
       begin
           ed_sroomno.Visible:=true;
           ed_sroomno.SetFocus;
           ckbox_sroomstatus.Checked:=false;
           cbox_sroomstatus.Visible:=false;
       end
    else
       begin
           ed_sroomno.Visible:=true;
           ed_sroomno.Visible:=false;
           ed_sroomno.Text:='';
       end;

end;

procedure Tformsuproomstatusquery.but_queryClick(Sender: TObject);
var
    test_sroomno:integer;
    ls_sroomno,ls_sroomstatus:string;
    sroomnumber:integer;
begin
    ls_sroomno:=ed_sroomno.Text;
    ls_sroomstatus:=cbox_sroomstatus.Text;
    //如果通过提供包间号查询条件
    if ckbox_sroomno.Checked=true then
       begin
           //判断是否是数字型
           if not tryStrToInt(ed_sroomno.Text,test_sroomno) then
              begin
                  MessageBox(handle,'您输入的包间编号不是一个数字类型!','错误',MB_OK or MB_ICONERROR);
                  ed_sroomno.SetFocus;
                  exit;
              end;

           //找到该包间的记录
           DMHotel.ds_sup_room_status.Open;
           if  not DMHotel.ds_sup_room_status.Locate('sroomno',ed_sroomno.Text,[])then
               begin
                   showmessage('包间编号'+ed_sroomno.Text+'不存在!');
                   exit;
               end;
       end;

    //开始查询
    DMHotel.SroomStatusQuery(ls_sroomstatus,ls_sroomno,ckbox_sroomstatus.Checked,ckbox_sroomno.Checked);

    //如果根据状态查询,显示该状态的包间数量
    if  ckbox_sroomstatus.Checked=true then
        begin
            sroomnumber:=0;
            DMHotel.ds_sup_room_status_query.Open;
            DMHotel.ds_sup_room_status_query.First;
            while not DMHotel.ds_sup_room_status_query.Eof do
                begin
                    sroomnumber:=sroomnumber+1;
                    DMHotel.ds_sup_room_status_query.Next;
                end;
        ed_number.Text:=inttostr(sroomnumber);

        end;


end;

procedure Tformsuproomstatusquery.FormShow(Sender: TObject);
begin
    DMHotel.ds_sup_room_status_query.Close;
    
    ckbox_sroomno.Checked:=false;
    ckbox_sroomstatus.Checked:=false;
    ed_sroomno.Visible:=false;
    cbox_sroomstatus.Visible:=false;
    ed_number.Text:='';


end;

end.

⌨️ 快捷键说明

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