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

📄 unit_cx.pas

📁 这是一套小型家庭理财软件delphi源代码
💻 PAS
字号:
unit Unit_CX;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, ComCtrls, ExtCtrls, Mask;

type
  TForm_CX = class(TForm)
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    BitBtn_C: TBitBtn;
    BitBtn_E: TBitBtn;
    BitBtn_ZT: TBitBtn;
    BitBtn_JT: TBitBtn;
    BitBtn_SZ: TBitBtn;
    BitBtn_BZ: TBitBtn;
    BitBtn_SY: TBitBtn;
    BitBtn_BY: TBitBtn;
    BitBtn_QN: TBitBtn;
    BitBtn_BN: TBitBtn;
    DateTimePicker_Z: TDateTimePicker;
    DateTimePicker_S: TDateTimePicker;
    GroupBox3: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    ComboBox_type1: TComboBox;
    ComboBox_type2: TComboBox;
    ComboBox_type3: TComboBox;
    Label3: TLabel;
    RadioButton_D: TRadioButton;
    RadioButton_X: TRadioButton;
    Edit_money: TEdit;
    ComboBox_spot: TComboBox;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    BitBtn_Q: TBitBtn;
    Bevel1: TBevel;
    procedure BitBtn_EClick(Sender: TObject);
    procedure BitBtn_QClick(Sender: TObject);
    procedure BitBtn_JTClick(Sender: TObject);
    procedure BitBtn_BYClick(Sender: TObject);
    procedure BitBtn_CClick(Sender: TObject);
    procedure BitBtn_BNClick(Sender: TObject);
    procedure BitBtn_QNClick(Sender: TObject);
    procedure BitBtn_SYClick(Sender: TObject);
    procedure BitBtn_ZTClick(Sender: TObject);
    procedure BitBtn_BZClick(Sender: TObject);
    procedure BitBtn_SZClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure ComboBox_type2Click(Sender: TObject);
    procedure ComboBox_type1Click(Sender: TObject);
    procedure DateTimePicker_SChange(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  public
    procedure ChaXun_RiQi;
    { Public declarations }
  end;

var
  Form_CX: TForm_CX;

implementation

uses jia, Unit_GL;

{$R *.dfm}

procedure TForm_CX.ChaXun_RiQi;
begin
  Form1.SDate := DateTimePicker_S.Date;
  Form1.EDate := DateTimePicker_Z.Date;
  Form1.Table1.IndexName :='DATE';
  Form1.Table1.SetRange([Form1.SDate],[Form1.EDate]);
  Form1.Table1.ApplyRange;
  Form1.Table1.Filtered := False;  //   去过滤
end;

procedure TForm_CX.BitBtn_CClick(Sender: TObject);
var  //查询
  F: String;
  C: Char;
begin
  F:='';
  ChaXun_RiQi;

  if ComboBox_type1.Text <> '' then
    if F = '' then
      F:='(type1='+#39+ComboBox_type1.Text+#39+')'
    else
      F:=F + 'and(type1='+#39+ComboBox_type1.Text+#39+')';

  if ComboBox_type2.Text <> '' then
    if F = '' then
      F:='(type2='+#39+ComboBox_type2.Text+#39+')'
    else
      F:=F + 'and(type2='+#39+ComboBox_type2.Text+#39+')';

  if ComboBox_type3.Text <> '' then
    if F = '' then
      F:='(type3='+#39+ComboBox_type3.Text+#39+')'
    else
      F:=F + 'and(type3='+#39+ComboBox_type3.Text+#39+')';

  if ComboBox_spot.Text <> '' then
    if F = '' then
      F:='(spot='+#39+ComboBox_spot.Text+#39+')'
    else
      F:=F + 'and(spot='+#39+ComboBox_spot.Text+#39+')';

  if RadioButton_D.Checked then
    C:='>'
  else
    C:='<';

  if Edit_money.Text <>'' then
  begin
    try
      if (StrToFloat(Edit_money.Text)>99999)or(StrToFloat(Edit_money.Text)<-9999)  then
      begin
        ShowMessage('金额超出限制!');
        Exit;
      end;
    except
      ShowMessage('金额格式错误!');
      Exit;
    end;

    if F = '' then
      F:='(money'+C+#39+Edit_money.Text+#39+')'
    else
      F:=F + 'and(money'+C+#39+Edit_money.Text+#39+')';
  end;

  Form1.Table1.Filter :=F;
  Form1.Table1.Filtered := True;
  Form1.TableMoneyJS;

end;

procedure TForm_CX.BitBtn_EClick(Sender: TObject);
begin  //关闭
  Close;
end;

procedure TForm_CX.BitBtn_QClick(Sender: TObject);
begin   //清空
  ComboBox_type1.ItemIndex := -1;
  ComboBox_type2.ItemIndex := -1;
  ComboBox_type3.ItemIndex := -1;
  Edit_money.Text :='';
  ComboBox_spot.ItemIndex := -1;

end;

procedure TForm_CX.BitBtn_JTClick(Sender: TObject);
begin  //今天
  DateTimePicker_S.Date :=Date;
  DateTimePicker_Z.Date :=Date;

end;

procedure TForm_CX.BitBtn_ZTClick(Sender: TObject);
begin  //昨天
  DateTimePicker_S.Date :=Date-1;
  DateTimePicker_Z.Date :=Date-1;

end;

procedure TForm_CX.BitBtn_BYClick(Sender: TObject);
var        //本月
  n,y,t: String;
  MMax : Integer;
begin
  T:=FormatDateTime('yyyy-mm-dd',date);
  n:= Copy(t,1,4);
  y:= Copy(t,6, 2);

  if copy(y,2,1)='-' then y:=copy(y,1,1);

  MMax :=Form1.SetMMax(StrToInt(n),StrToInt(y));

  DateTimePicker_S.Date :=StrToDate(n+'-'+y+'-01');
  DateTimePicker_Z.Date :=StrToDate(n+'-'+y+'-'+IntToStr(MMax));

end;

procedure TForm_CX.BitBtn_SYClick(Sender: TObject);
var     //上月
  n,y,t: String;
  MMax : Integer;
begin
  T:=FormatDateTime('yyyy-mm-dd',date);
  y:= Copy(t,9,2);
  T:=FormatDateTime('yyyy-mm-dd',date-StrToInt(y));
  n:= Copy(t,1,4);
  y:= Copy(t,6, 2);

  MMax :=Form1.SetMMax(StrToInt(n),StrToInt(y));

  DateTimePicker_S.Date :=StrToDate(n+'-'+y+'-01');
  DateTimePicker_Z.Date :=StrToDate(n+'-'+y+'-'+IntToStr(MMax));

end;

procedure TForm_CX.BitBtn_BZClick(Sender: TObject);
var    //本周
  t,y,m,d: String;
  w: Integer;
begin
  w :=DayOfWeek(date) -1;
  T:=FormatDateTime('yyyy-mm-dd',date-w);
  y:= Copy(t,1,4);
  m:= Copy(t,6,2);
  d:= Copy(t,9,2);

  DateTimePicker_S.Date :=StrToDate(y+'-'+m+'-'+d);
  DateTimePicker_Z.Date :=DateTimePicker_S.Date +6;

end;

procedure TForm_CX.BitBtn_SZClick(Sender: TObject);
var    //上周
  t,y,m,d: String;
  w: Integer;
begin
  w :=DayOfWeek(date) -1;
  T:=FormatDateTime('yyyy-mm-dd',date-w-7);
  y:= Copy(t,1,4);
  m:= Copy(t,6,2);
  d:= Copy(t,9,2);

  DateTimePicker_S.Date :=StrToDate(y+'-'+m+'-'+d);
  DateTimePicker_Z.Date :=DateTimePicker_S.Date +6;
end;

procedure TForm_CX.BitBtn_BNClick(Sender: TObject);
var      //本年
  n,T : String;
begin
  T:=FormatDateTime('yyyy-mm-dd',date);
  n:= Copy(t,1,4);
  DateTimePicker_S.Date :=StrToDate(n+'-01-01');
  DateTimePicker_Z.Date :=StrToDate(n+'-12-31');

end;

procedure TForm_CX.BitBtn_QNClick(Sender: TObject);
var      //去年
  n,t : String;
begin
  T:=FormatDateTime('yyyy-mm-dd',date);
  n:= Copy(t,1,4);
  DateTimePicker_S.Date :=StrToDate(IntToStr(StrToInt(n)-1)+'-01-01');
  DateTimePicker_Z.Date :=StrToDate(IntToStr(StrToInt(n)-1)+'-12-31');
end;

procedure TForm_CX.FormShow(Sender: TObject);
begin
  ComboBox_spot.Items := Form_GL.ListBox_spot.Items;

end;

procedure TForm_CX.ComboBox_type2Click(Sender: TObject);
var
  mynode: TTreeNode;
  i,j: Integer;
begin
  ComboBox_type3.Clear;

  for i:=0 to Form1.TreeView1.Items.Count -1 do
  begin
     mynode := Form1.TreeView1.Items[i];
     if mynode.Level = 1 then
       if (mynode.Text = ComboBox_type2.Text)
          and (mynode.Parent.Text = ComboBox_type1.Text) then
       begin
          for j:=0 to mynode.Count -1 do
             ComboBox_type3.Items.Add(mynode.item[j].Text);
             Break;
       end;
  end;

end;

procedure TForm_CX.ComboBox_type1Click(Sender: TObject);
var
  mynode: TTreeNode;
  i,j: Integer;
begin
  ComboBox_type2.Clear;
  ComboBox_type3.Clear;

  for i:=0 to Form1.TreeView1.Items.Count -1 do
  begin
     mynode := Form1.TreeView1.Items[i];
     if (mynode.Text = ComboBox_type1.Text) and (mynode.Level = 0) then
     begin
        for j:=0 to mynode.Count -1 do
           ComboBox_type2.Items.Add(mynode.item[j].Text);
        Break;
     end;
  end;

end;

procedure TForm_CX.DateTimePicker_SChange(Sender: TObject);
begin
  DateTimePicker_Z.DateTime :=DateTimePicker_S.DateTime;
end;

procedure TForm_CX.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Form1.TreeView1.SetFocus;
end;

end.

⌨️ 快捷键说明

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