📄 ctrifx.pas
字号:
unit ctrifx;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, Db, DBTables, StdCtrls, Grids, DBGrids, Buttons, ComCtrls,
Series, TeEngine, TeeProcs, Chart, DBChart;
type
TctrifxForm = class(TForm)
Panel2: TPanel;
Panel1: TPanel;
S1: TStoredProc;
kk: TLabel;
TabControl1: TTabControl;
lc: TComboBox;
PageControl1: TPageControl;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
DBChart2: TDBChart;
Series2: TBarSeries;
TabSheet1: TTabSheet;
DBChart3: TDBChart;
BarSeries1: TFastLineSeries;
Query2: TQuery;
Label1: TLabel;
begdate: TDateTimePicker;
enddate: TDateTimePicker;
Query3: TQuery;
Query1: TQuery;
DBChart1: TDBChart;
Series1: TPieSeries;
BitBtn3: TBitBtn;
DataSource1: TDataSource;
Query4: TQuery;
GroupBox1: TGroupBox;
DBGrid1: TDBGrid;
Panel3: TPanel;
BitBtn1: TBitBtn;
procedure FormShow(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure BitBtn8Click(Sender: TObject);
procedure Panel3Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
ctrifxForm: TctrifxForm;
implementation
uses dataproc;
{$R *.DFM}
procedure TctrifxForm.FormShow(Sender: TObject);
begin
begdate.DateTime:=now-1;
enddate.DateTime:=now;
Panel1.Caption:='宾客人数日分析';
lc.Items.Clear;
TabControl1.Tabs.Clear;
lc.Items.Add('0');
TabControl1.Tabs.Add('全部');
Query2.Active:=false;
Query2.SQL.clear;
Query2.SQL.Add('select distinct Roomtype,Name from Roomtype');
Query2.SQL.Add('union(select ''98'',''女散'' from Roomtype)');
Query2.SQL.Add('union(select ''99'',''男散'' from Roomtype)');
Query2.Open;
while not Query2.Eof do
begin
lc.Items.Add(Query2.Fields[0].AsString);
TabControl1.Tabs.Add(Query2.Fields[1].AsString);
Query2.Next;
end;
BitBtn8Click(nil);
end;
procedure TctrifxForm.BitBtn3Click(Sender: TObject);
begin
GroupBox1.Visible:=true;
query4.Active:=false;
query4.SQL.Clear;
query4.SQL.Add('select (''20''+substring(sjname,1,2)+''-''+substring(sjname,3,2)+''-''+substring(sjname,5,2)) as 日期,rshj as 人数合计,xjrs 现金人数');
query4.SQL.Add(',hykrs 会员卡人数,mdrs 免单人数,gzrs 记帐人数,name as 房间类型 from rirstj ');
query4.SQL.Add(' union (select ''总计'',sum(rshj),sum(xjrs),sum(hykrs),sum(mdrs),sum(gzrs),'''' from rirstj )');
query4.Prepare;
query4.Open;
end;
procedure TctrifxForm.FormCreate(Sender: TObject);
begin
{ fm.Query5.Active :=false;
fm.Query5.sql.Clear ;
fm.Query5.sql.text:='select distinct lc,lcm from tabledb order by lc';
fm.Query5.Prepare;
fm.Query5.open;
lcm.Items.Clear;
lcs.Items.Clear;
while not fm.Query5.Eof do
begin
lcs.Items.Add(fm.Query5.FieldByName('lc').asstring);
lcm.Items.Add(fm.Query5.FieldByName('lcm').asstring);
fm.Query5.Next;
end;}
end;
procedure TctrifxForm.BitBtn8Click(Sender: TObject);
var lou:string;i:integer;
begin
shortdateformat:='yyyy-MM-dd';
// formatdatetime:=
Query2.Active:=false;
Query2.SQL.clear;
Query2.SQL.Add('delete from shijian ');
Query2.Prepare;
Query2.ExecSQL;
Query2.Active:=false;
Query2.SQL.clear;
Query2.SQL.Add('select DATEDIFF(day,:pbeg,:pend) ');
query2.ParamByName('pbeg').asdatetime:=begdate.DateTime;
query2.ParamByName('pend').asdatetime:=enddate.DateTime;
Query2.Prepare;
Query2.open;
if query2.Fields[0].asinteger<0 then
begin
showmessage('时间选择错误!请核对后再查询');
exit;
end;
i:=0;
while i<=query2.Fields[0].asinteger do
begin
Query3.Active:=false;
Query3.SQL.clear;
Query3.SQL.Add('insert into shijian values(:pnyr,:psjname)');
Query3.ParamByName('pnyr').asstring:=formatdatetime('yyMMdd',enddate.DateTime-i);
Query3.ParamByName('psjname').asstring:=formatdatetime('yyMMdd',enddate.DateTime-i);
Query3.Prepare;
Query3.ExecSQL;
i:=i+1;
end;
lou:=lc.Items[TabControl1.TabIndex];
s1.ParamByName ('@lslou').asstring:=lou;
s1.Prepare;
s1.ExecProc ;
Query1.Active:=false;
Query1.Active:=true;
end;
procedure TctrifxForm.Panel3Click(Sender: TObject);
begin
GroupBox1.Visible:=false;
end;
procedure TctrifxForm.BitBtn1Click(Sender: TObject);
begin
Query1.Active:=false;
Query2.Active:=false;
Query3.Active:=false;
Query4.Active:=false;
Query1.Free;
Query2.Free;
Query3.Free;
Query4.Free;
close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -