📄 search.pas
字号:
unit search;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, xpWindow, xpCheckBox, xpBitBtn, ComCtrls, RzDTP, StdCtrls,
xpEdit, ExtCtrls, xpPanel, Grids, DBGrids, RzDBGrid, xpGroupBox, xpPages,
xpButton, Mask, RzEdit, TeeProcs, TeEngine, Chart, DbChart, DB, ADODB,
xpCombo,DateUtils, Series;
type
TForm2 = class(TForm)
xpGroupBox1: TxpGroupBox;
RzDBGrid1: TRzDBGrid;
xpGroupBox3: TxpGroupBox;
xpPageControl1: TxpPageControl;
xpTabSheet1: TxpTabSheet;
xpTabSheet2: TxpTabSheet;
xpTabSheet3: TxpTabSheet;
Label1: TLabel;
xpEdit1: TxpEdit;
Label2: TLabel;
xpEdit2: TxpEdit;
xpCheckBox1: TxpCheckBox;
RzDateTimePicker1: TRzDateTimePicker;
Label5: TLabel;
RzDateTimePicker2: TRzDateTimePicker;
xpBitBtn1: TxpBitBtn;
xpBitBtn2: TxpBitBtn;
Label4: TLabel;
Label3: TLabel;
xpEdit3: TxpEdit;
Label6: TLabel;
xpCheckBox2: TxpCheckBox;
RzDateTimePicker3: TRzDateTimePicker;
Label7: TLabel;
RzDateTimePicker4: TRzDateTimePicker;
xpBitBtn3: TxpBitBtn;
xpBitBtn4: TxpBitBtn;
ListView1: TListView;
xpBitBtn5: TxpBitBtn;
xpBitBtn6: TxpBitBtn;
xpBitBtn7: TxpBitBtn;
xpBitBtn8: TxpBitBtn;
xpGroupBox2: TxpGroupBox;
Label8: TLabel;
RzDateTimePicker5: TRzDateTimePicker;
Label9: TLabel;
RzDateTimePicker6: TRzDateTimePicker;
xpBitBtn9: TxpBitBtn;
xpBitBtn10: TxpBitBtn;
xpBitBtn11: TxpBitBtn;
xpGroupBox4: TxpGroupBox;
DBChart1: TDBChart;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
xpEdit6: TxpEdit;
xpEdit7: TxpEdit;
xpEdit8: TxpEdit;
xpBitBtn12: TxpBitBtn;
DataSource1: TDataSource;
ADOQuery1: TADOQuery;
ADOQuery2: TADOQuery;
DataSource2: TDataSource;
xpComboBox2: TxpComboBox;
xpComboBox1: TxpComboBox;
ADOQuery3: TADOQuery;
ADOQuery4: TADOQuery;
xpBitBtn13: TxpBitBtn;
Series1: TBarSeries;
Series2: TBarSeries;
procedure xpButton1Click(Sender: TObject);
procedure xpBitBtn11Click(Sender: TObject);
procedure xpPageControl1Change(Sender: TObject);
procedure xpCheckBox1Click(Sender: TObject);
procedure xpBitBtn1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure xpCheckBox2Click(Sender: TObject);
procedure xpBitBtn3Click(Sender: TObject);
procedure xpBitBtn5Click(Sender: TObject);
procedure xpBitBtn6Click(Sender: TObject);
procedure xpBitBtn7Click(Sender: TObject);
procedure xpBitBtn8Click(Sender: TObject);
procedure xpEdit8Change(Sender: TObject);
procedure xpBitBtn9Click(Sender: TObject);
procedure xpBitBtn10Click(Sender: TObject);
procedure xpBitBtn13Click(Sender: TObject);
procedure xpBitBtn12Click(Sender: TObject);
procedure xpBitBtn2Click(Sender: TObject);
procedure xpBitBtn4Click(Sender: TObject);
private
{ Private declarations }
procedure get_total();
public
{ Public declarations }
end;
var
Form2: TForm2;
gain_month:array[1..12,1..2] of double;
total_gain,total_income,total_payout:double;
month_array:array[1..12,1..3] of string;
implementation
uses Unit3;
{$R *.dfm}
procedure TForm2.xpButton1Click(Sender: TObject);
begin
if assigned(form3) then
begin
form3.Show;
form3.WindowState:= wsMaximized;
end
else
begin
form3:=Tform3.Create(nil);
end;
end;
procedure TForm2.xpBitBtn11Click(Sender: TObject);
begin
application.MessageBox('对不起,Beta版不提供此项功能!','提示',mb_ok);
end;
procedure TForm2.xpPageControl1Change(Sender: TObject);
begin
if xpPagecontrol1.ActivePageIndex<>2 then //此处需添加清楚代码.
begin
listview1.Visible:=false;
listview1.Clear;
rzdbgrid1.DataSource:=nil;
xpedit6.Visible:=false;
xpedit7.Visible:=false;
xpedit8.Visible:=false;
label10.Visible:=false;
label11.Visible:=false;
label12.Visible:=false;
Rzdbgrid1.Visible:=true;
xpbitbtn12.Enabled:=false;
end
else
begin
rzdbgrid1.DataSource:=nil;
listview1.Visible:=true;
xpedit6.Visible:=true;
xpedit7.Visible:=true;
xpedit8.Visible:=true;
label10.Visible:=true;
label11.Visible:=true;
label12.Visible:=true;
Rzdbgrid1.Visible:=false;
xpbitbtn12.Enabled:=true;
listview1.Clear;
xpedit6.Text:='0';
xpedit7.Text:='0';
xpedit8.Text:='0';
end;
end;
procedure TForm2.xpCheckBox1Click(Sender: TObject);
begin
if xpcheckbox1.Checked then
begin
rzdatetimepicker1.Enabled:=true;
rzdatetimepicker2.Enabled:=true;
end
else
begin
rzdatetimepicker1.Enabled:=false;
rzdatetimepicker2.Enabled:=false;
end;
end;
procedure TForm2.xpBitBtn1Click(Sender: TObject);
var firstone:boolean;
Dtp1,dtp2,sqlstr:string;
i:integer;
begin
rzdbgrid1.DataSource:=datasource1;
firstone:=true;
if xpcheckbox1.Checked and (rzdatetimepicker1.Date>rzdatetimepicker2.Date) then
begin
application.messagebox('起始日期大于截止日期,请重新输入','提示',mb_ok);
rzdatetimepicker1.Date:=date;
rzdatetimepicker1.Date:=date;
exit;
end;
dtp1:=datetimetostr(rzdatetimepicker1.Date);
dtp2:=datetimetostr(rzdatetimepicker2.Date);
with ADOquery1 do
begin
close;
sql.Clear;
sql.Add('select * from payouttable');
if xpedit1.Text<> '' then
begin
sql.Add('where ( payout_name='''+xpedit1.Text+''')');
firstone:=false;
end;
if xpedit2.Text<>'' then
begin
if firstone then
begin
sql.Add('where ( payout_address='''+xpedit2.Text+''')');
firstone:=false;
end
else
sql.Add('and ( payout_address='''+xpedit2.Text+''')');
end;
if xpcheckbox1.Checked then
begin
if firstone then
begin
sqlstr:='where ( payout_date >= (:dtp1) and payout_date<= (:dtp2) )';
sql.Add(sqlstr);
Parameters.ParamByName('dtp1').Value:=formatdatetime('yyyy-m-d hh:mm:ss',rzdatetimepicker1.DateTime);
Parameters.ParamByName('dtp2').Value:=formatdatetime('yyyy-m-d hh:mm:ss',rzdatetimepicker2.DateTime);
firstone:=false;
end
else
begin
sqlstr:='where ( payout_date >= :dtp1 and payout_date<= :dtp2 )';
sql.Add(sqlstr);
Parameters.ParamByName('dtp1').Value:=formatdatetime('yyyy-m-d hh:mm:ss',rzdatetimepicker1.DateTime);
Parameters.ParamByName('dtp2').Value:=formatdatetime('yyyy-m-d hh:mm:ss',rzdatetimepicker2.DateTime);
end;
end;
if xpcombobox2.Text<>'' then
begin
if firstone then
begin
sql.Add('where ( payout_mode='''+xpcombobox2.Text+''')');
end
else
sql.Add('and ( payout_mode='''+xpcombobox2.Text+''')');
end;
Open;
end;
for i:=0 to 9 do
begin
rzDBGrid1.Columns[i].Alignment:=taCenter;
rzDBGrid1.Columns[i].Title.Alignment:=taCenter;
end;
rzdbgrid1.Columns.Items[0].Title.caption:='编号';
rzdbgrid1.Columns.Items[1].Title.caption:='支出人';
rzdbgrid1.Columns.Items[2].Title.caption:='支出金额';
rzdbgrid1.Columns.Items[3].Title.caption:='支出日期';
rzdbgrid1.Columns.Items[4].Title.caption:='支出缘由';
rzdbgrid1.Columns.Items[5].Title.caption:='支出方式';
rzdbgrid1.Columns.Items[6].Title.caption:='支出明细';
rzdbgrid1.Columns.Items[7].Title.caption:='支出明细金额';
rzdbgrid1.Columns.Items[8].Title.caption:='支出地点';
rzdbgrid1.Columns.Items[9].Title.caption:='填写日期';
end;
procedure TForm2.FormCreate(Sender: TObject);
begin
rzdatetimepicker1.Date:=date;
rzdatetimepicker2.Date:=date;
rzdatetimepicker3.Date:=date;
rzdatetimepicker4.Date:=date;
rzdatetimepicker5.Date:=date;
rzdatetimepicker6.Date:=date;
rzdatetimepicker1.Time:=strtotime('00:00:00');
rzdatetimepicker2.time:=strtotime('23:59:59');
rzdatetimepicker3.Time:=strtotime('00:00:00');
rzdatetimepicker4.time:=strtotime('23:59:59');
rzdatetimepicker5.Time:=strtotime('00:00:00');
rzdatetimepicker6.time:=strtotime('23:59:59');
end;
procedure TForm2.xpCheckBox2Click(Sender: TObject);
begin
if xpcheckbox2.Checked then
begin
rzdatetimepicker3.Enabled:=true;
rzdatetimepicker4.Enabled:=true;
end
else
begin
rzdatetimepicker3.Enabled:=false;
rzdatetimepicker4.Enabled:=false;
end;
end;
procedure TForm2.xpBitBtn3Click(Sender: TObject);
var firstone:boolean;
Dtp1,dtp2,sqlstr:string;
i:integer;
begin
rzdbgrid1.DataSource:=datasource2;
firstone:=true;
if xpcheckbox2.Checked and (rzdatetimepicker3.Date>rzdatetimepicker4.Date) then
begin
application.messagebox('起始日期大于截止日期,请重新输入','提示',mb_ok);
rzdatetimepicker1.Date:=date;
rzdatetimepicker1.Date:=date;
exit;
end;
dtp1:=datetimetostr(rzdatetimepicker3.Date);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -