unitfsupchecksquery.pas
来自「自己做过的工程」· PAS 代码 · 共 166 行
PAS
166 行
unit unitFsupcheckSquery;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, Grids, DBGrids, ComCtrls, ExtCtrls, StdCtrls;
type
TformFsupcheckSquery = 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_Bchecktime: TDateTimePicker;
lab_totalfee: TLabel;
ed_totalfee: TEdit;
Label1: TLabel;
but_query: TButton;
Label2: TLabel;
dtp_Echecktime: TDateTimePicker;
Label3: TLabel;
Label4: 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
formFsupcheckSquery: TformFsupcheckSquery;
implementation
uses unitDMHotel,unitsupmanage;
{$R *.dfm}
//包间编号条件
procedure TformFsupcheckSquery.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 TformFsupcheckSquery.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_Bchecktime.Visible:=false;
dtp_Echecktime.Visible:=false;
ckbox_checktime.Checked:=false;
end;
end;
//挂账日期查询条件
procedure TformFsupcheckSquery.ckbox_checktimeClick(Sender: TObject);
begin
if ckbox_checktime.Checked=true then
begin
dtp_Bchecktime.Visible:=true;
dtp_Echecktime.Visible:=true;
dtp_Bchecktime.Date:=date;
dtp_Echecktime.Date:=date;
dtp_Bchecktime.SetFocus;
end
else
begin
dtp_Bchecktime.Visible:=false;
dtp_Echecktime.Visible:=false;
dtp_Bchecktime.Date:=date;
dtp_Echecktime.Date:=date;
end;
end;
procedure TformFsupcheckSquery.but_queryClick(Sender: TObject);
var
test_sroomno:integer;
ls_sroomno:string;
ls_Bchecktime:TDatetime;
ls_Echecktime:TDatetime;
ls_fee,ls_totalfee:double;
begin
ls_sroomno:=ed_sroomno.Text;
ls_Bchecktime:=dtp_Bchecktime.Date;
ls_Echecktime:=dtp_Echecktime.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_Bchecktime,ls_Echecktime,'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 TformFsupcheckSquery.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_Bchecktime.Visible:=false;
dtp_Echecktime.Visible:=false;
ed_totalfee.Text:='0';
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?