⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 search.pas

📁 家用理财软件beta版
💻 PAS
📖 第 1 页 / 共 3 页
字号:
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 + -