unitsupchecksquery.pas

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

PAS
156
字号
unit unitsupcheckSquery;

interface

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

type
  TformsupcheckSquery = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    DBGrid1: TDBGrid;
    DataSource1: TDataSource;
    GroupBox1: TGroupBox;
    ckbox_sroomno: TCheckBox;
    ckbox_ischeck: TCheckBox;
    ckbox_checktime: TCheckBox;
    ed_sroomno: TEdit;
    dtp_checktime: TDateTimePicker;
    lab_totalfee: TLabel;
    ed_totalfee: TEdit;
    Label1: TLabel;
    but_query: TButton;
    Label2: TLabel;
    procedure but_queryClick(Sender: TObject);
    procedure ckbox_sroomnoClick(Sender: TObject);
    procedure ckbox_ischeckClick(Sender: TObject);
    procedure ckbox_checktimeClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  formsupcheckSquery: TformsupcheckSquery;

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

procedure TformsupcheckSquery.but_queryClick(Sender: TObject);
var
    test_sroomno:integer;
    ls_sroomno:string;
    ls_checktime:TDatetime;
    ls_fee,ls_totalfee:double;
begin
    ls_sroomno:=ed_sroomno.Text;
    ls_checktime:=dtp_checktime.Date;
    //如果通过提供包间号查询条件
    if ckbox_sroomno.Checked=true then
       begin
           //判断是否是数字型
           if not tryStrToInt(ls_sroomno,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.SroomCheckQuery(ls_sroomno,ls_checktime,ls_checktime,'1',ckbox_sroomno.Checked,ckbox_ischeck.Checked,ckbox_checktime.Checked);

    //显示总金额
    ls_totalfee:=0;
    DMHotel.ds_sup_check_query.Open;
    DMHotel.ds_sup_check_query.First;
    while not DMHotel.ds_sup_check_query.Eof do
       begin
           if not DMHotel.ds_sup_check_query.FieldValues['totalfee']<>null then
              begin
                  ls_fee:=DMHotel.ds_sup_check_query.FieldValues['totalfee'];
                  ls_totalfee:=ls_totalfee+ls_fee;
              end;
           DMHotel.ds_sup_check_query.Next;
       end;
    ed_totalfee.Text:=floattostr(ls_totalfee);

end;

//包间编号条件
procedure TformsupcheckSquery.ckbox_sroomnoClick(Sender: TObject);
begin
    if ckbox_sroomno.Checked=true then
       begin
           ed_sroomno.Visible:=true;
           ed_sroomno.SetFocus;
       end
    else
       begin
           ed_sroomno.Visible:=false;
           ed_sroomno.Text:='';
       end;
end;

//是否已挂账条件,如已挂账才能选择挂账时间查询条件
procedure TformsupcheckSquery.ckbox_ischeckClick(Sender: TObject);
begin
    if ckbox_ischeck.Checked=true then
       begin
           ckbox_checktime.Visible:=true;
           ckbox_checktime.SetFocus;
       end
    else
       begin
           ckbox_checktime.Visible:=false;
           dtp_checktime.Visible:=false;
           ckbox_checktime.Checked:=false;
       end;
end;

//挂账日期查询条件
procedure TformsupcheckSquery.ckbox_checktimeClick(Sender: TObject);
begin
    if ckbox_checktime.Checked=true then
       begin
           dtp_checktime.Visible:=true;
           dtp_checktime.Date:=date;
           dtp_checktime.SetFocus;
       end
    else
       begin
           dtp_checktime.Visible:=false;
           dtp_checktime.Date:=date;
       end;
end;

procedure TformsupcheckSquery.FormShow(Sender: TObject);
begin
    DMHotel.ds_sup_check_query.Close;

    ckbox_sroomno.Checked:=false;
    ckbox_ischeck.Checked:=false;
    ckbox_checktime.Checked:=false;
    ed_sroomno.Visible:=false;
    ckbox_checktime.Visible:=false;
    dtp_checktime.Visible:=false;
    ed_totalfee.Text:='0';
end;

end.

⌨️ 快捷键说明

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