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

📄 unit_tj.pas

📁 这是一套小型家庭理财软件delphi源代码
💻 PAS
📖 第 1 页 / 共 3 页
字号:
unit Unit_TJ;

interface

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

type
  TForm_TJ = class(TForm)
    Panel_tj: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    SpeedButton_ok_tj: TSpeedButton;
    SpeedButton_no: TSpeedButton;
    SpeedButton_spot_tj: TSpeedButton;
    SpeedButton_money_tj: TSpeedButton;
    ComboBox_name_tj: TComboBox;
    Edit_memo_tj: TEdit;
    ComboBox_spot_tj: TComboBox;
    Edit_money_tj: TEdit;
    DateTimePicker1: TDateTimePicker;
    TreeView1: TTreeView;
    Panel1: TPanel;
    Label3: TLabel;
    ComboBox_type1_tj: TComboBox;
    Label4: TLabel;
    ComboBox_type2_tj: TComboBox;
    Label5: TLabel;
    ComboBox_type3_tj: TComboBox;
    SpeedButton_type3_tj: TSpeedButton;
    SpeedButton_type2_tj: TSpeedButton;
    SpeedButton_type1_tj: TSpeedButton;
    Panel_money_tj: TPanel;
    Panel_JiSuanQi: TPanel;
    SpeedButton_7: TSpeedButton;
    SpeedButton_4: TSpeedButton;
    SpeedButton_1: TSpeedButton;
    SpeedButton_ZF: TSpeedButton;
    SpeedButton_0: TSpeedButton;
    SpeedButton_2: TSpeedButton;
    SpeedButton_5: TSpeedButton;
    SpeedButton_8: TSpeedButton;
    SpeedButton_9: TSpeedButton;
    SpeedButton_6: TSpeedButton;
    SpeedButton_3: TSpeedButton;
    SpeedButton_10: TSpeedButton;
    SpeedButton_14: TSpeedButton;
    SpeedButton_13: TSpeedButton;
    SpeedButton_12: TSpeedButton;
    SpeedButton_11: TSpeedButton;
    SpeedButton_c: TSpeedButton;
    SpeedButton_ce: TSpeedButton;
    SpeedButton_San: TSpeedButton;
    SpeedButton_Deng: TSpeedButton;
    Edit_See: TEdit;
    SpeedButton_del: TSpeedButton;
    procedure ComboBox_type1_tjClick(Sender: TObject);
    procedure ComboBox_type2_tjClick(Sender: TObject);
    procedure SpeedButton_noClick(Sender: TObject);
    procedure SpeedButton_ok_tjClick(Sender: TObject);
    procedure SpeedButton_type1_tjClick(Sender: TObject);
    procedure SpeedButton_type2_tjClick(Sender: TObject);
    procedure SpeedButton_type3_tjClick(Sender: TObject);
    procedure SpeedButton_money_tjClick(Sender: TObject);
    procedure TreeView1Click(Sender: TObject);
    procedure SpeedButton_7Click(Sender: TObject);
    procedure SpeedButton_8Click(Sender: TObject);
    procedure SpeedButton_9Click(Sender: TObject);
    procedure SpeedButton_11Click(Sender: TObject);
    procedure SpeedButton_cClick(Sender: TObject);
    procedure SpeedButton_4Click(Sender: TObject);
    procedure SpeedButton_5Click(Sender: TObject);
    procedure SpeedButton_6Click(Sender: TObject);
    procedure SpeedButton_12Click(Sender: TObject);
    procedure SpeedButton_ceClick(Sender: TObject);
    procedure SpeedButton_SanClick(Sender: TObject);
    procedure SpeedButton_13Click(Sender: TObject);
    procedure SpeedButton_3Click(Sender: TObject);
    procedure SpeedButton_2Click(Sender: TObject);
    procedure SpeedButton_1Click(Sender: TObject);
    procedure SpeedButton_ZFClick(Sender: TObject);
    procedure SpeedButton_0Click(Sender: TObject);
    procedure SpeedButton_10Click(Sender: TObject);
    procedure SpeedButton_14Click(Sender: TObject);
    procedure SpeedButton_DengClick(Sender: TObject);
    procedure Edit_SeeKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit_SeeKeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure SpeedButton_1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure SpeedButton_2MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure SpeedButton_3MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure SpeedButton_13MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure SpeedButton_SanMouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure SpeedButton_DengMouseUp(Sender: TObject;
      Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    procedure SpeedButton_14MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure SpeedButton_10MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure SpeedButton_0MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure SpeedButton_ZFMouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure SpeedButton_4MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure SpeedButton_7MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure SpeedButton_8MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure SpeedButton_9MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure SpeedButton_11MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure SpeedButton_cMouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure SpeedButton_ceMouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure SpeedButton_12MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure SpeedButton_6MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure SpeedButton_5MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure FormShow(Sender: TObject);
    procedure SpeedButton_spot_tjClick(Sender: TObject);
    procedure TreeView1KeyPress(Sender: TObject; var Key: Char);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Edit_money_tjMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure DateTimePicker1KeyPress(Sender: TObject; var Key: Char);
    procedure ComboBox_name_tjKeyPress(Sender: TObject; var Key: Char);
    procedure ComboBox_type1_tjKeyPress(Sender: TObject; var Key: Char);
    procedure ComboBox_type2_tjKeyPress(Sender: TObject; var Key: Char);
    procedure ComboBox_type3_tjKeyPress(Sender: TObject; var Key: Char);
    procedure ComboBox_spot_tjKeyPress(Sender: TObject; var Key: Char);
    procedure Edit_money_tjKeyPress(Sender: TObject; var Key: Char);
    procedure Edit_memo_tjKeyPress(Sender: TObject; var Key: Char);
    procedure SpeedButton_delClick(Sender: TObject);
  private
    { Private declarations }
    TreeViewBool : Boolean;
    procedure Update123(s1:String;s2:String;s3:String);
    procedure UpdateType1(S: String);
    procedure ClsTjDate;
    function CheckDate : Boolean;

    //计算器的
    procedure QingChuQianLing;
    procedure KaiGuan(n: Integer; i: Integer);

  public
    { Public declarations }
    procedure UpdateTjDate;

  end;

var
  Form_TJ: TForm_TJ;

//计算器的
  a,b:  Double;
  x: Char;
  doing: word;

implementation

uses jia, Unit_GL;

{$R *.dfm}

procedure TForm_TJ.Update123(s1 : String;s2 : String;s3 : String);
var
  i :integer;
begin
  UpdateType1(s1);
  ComboBox_type1_tjClick(nil);

  if s2<>'' then
  begin
    for i:=0 to ComboBox_type2_tj.Items.Count -1 do
      if s2 = ComboBox_type2_tj.Items[i] then
      begin
        ComboBox_type2_tj.ItemIndex := i;
        Break;
      end;
    ComboBox_type2_tjClick(nil);
  end;

  if s3<>'' then
  begin
    for i:=0 to ComboBox_type3_tj.Items.Count -1 do
      if s3 = ComboBox_type3_tj.Items[i] then
      begin
        ComboBox_type3_tj.ItemIndex := i;
        Break;
      end;
  end;

end;

procedure TForm_TJ.UpdateType1(S: String);
var
  i: Integer;
begin
   for i:=0 to ComboBox_type1_tj.Items.Count -1 do
     if s = ComboBox_type1_tj.Items[i] then
     begin
       ComboBox_type1_tj.ItemIndex := i;
       Break;
     end;
end;

function TForm_TJ.CheckDate : Boolean;
var
  I,n : Integer;
begin
  Result := True;

  if ComboBox_name_tj.Text = '' then
  begin
     ShowMessage(#13+'  “名字”没有输入!   '+#13);
     Result := False;
  end
  else
     if ComboBox_spot_tj.Text = '' then
     begin
        ShowMessage(#13+'   “地址”没有输入!   '+#13);
        Result := False;
     end
     else
        if ComboBox_type1_tj.Text = '' then
        begin
           ShowMessage(#13+'   “分区”没有输入!   '+#13);
           Result := False;
        end
        else
           if ComboBox_type2_tj.Text = '' then
           begin
              ShowMessage(#13+'   “分类”没有输入!   '+#13);
              Result := False;
           end
           else
             if ComboBox_type3_tj.Text = '' then
             begin
                ShowMessage(#13+'   “项目”没有输入!   '+#13);
                Result := False;
             end
             else
               begin
                  n :=0;
                  if Edit_money_tj.Text ='' then
                    Edit_money_tj.Text :='0'
                  else
                  begin
                    for i:=1 to Length(Edit_money_tj.Text) do
                      if (n < 2) and (Edit_money_tj.Text[i] in ['0','1','2','3','4','5','6','7','8','9','.']) then
                      begin
                        if Edit_money_tj.Text[i] = '.' then n:=n+1 ;
                      end
                      else
                      begin
                        ShowMessage(#13+'   “金额”输入有误!   '+#13);
                        Result := False;
                        exit;
                      end;
                  end;
                  if n >1 then
                  begin
                    ShowMessage(#13+'   “金额”输入有误!   '+#13);
                    Result := False;
                  end;
                  if StrToFloat(Edit_money_tj.Text) > 9999999 then
                  begin
                    ShowMessage(#13+'   “金额”数太大!   '+#13);
                    Result := False;
                  end;
                  if Edit_memo_tj.Text ='' then
                     Edit_memo_tj.Text :='...';
               end;

end;

procedure TForm_TJ.ClsTjDate;
begin
  ComboBox_type1_tj.ItemIndex := -1;
  ComboBox_type2_tj.ItemIndex := -1;
  ComboBox_type3_tj.ItemIndex := -1;
  Edit_money_tj.Text :='0';
  ComboBox_spot_tj.ItemIndex := -1;
  Edit_memo_tj.Text :='';

end;

procedure TForm_TJ.UpdateTjDate;
var
  i: integer;
  s: String;

begin
     DateTimePicker1.Date := Form1.Table1.FieldValues['date'];

     S := Form1.Table1.FieldValues['name'];

     for i:=0 to ComboBox_name_tj.Items.Count -1 do
     if s = ComboBox_name_tj.Items[i] then
     begin
       ComboBox_name_tj.ItemIndex := i;
       Break;
     end;

     S := Form1.Table1.FieldValues['type1'];
     UpdateType1(s);
     ComboBox_type1_tjClick(nil);

     S := Form1.Table1.FieldValues['type2'];
     for i:=0 to ComboBox_type2_tj.Items.Count -1 do
     if s = ComboBox_type2_tj.Items[i] then
     begin
       ComboBox_type2_tj.ItemIndex := i;
       Break;
     end;
     ComboBox_type2_tjClick(nil);

     if Form1.Table1.FieldValues['type3'] <> null then
     begin
       S := Form1.Table1.FieldValues['type3'];
       for i:=0 to ComboBox_type3_tj.Items.Count -1 do
       if s = ComboBox_type3_tj.Items[i] then
       begin
         ComboBox_type3_tj.ItemIndex := i;
         Break;
       end;
     end;

     S := Form1.Table1.FieldValues['spot'];
     for i:=0 to ComboBox_spot_tj.Items.Count -1 do
     if s = ComboBox_spot_tj.Items[i] then
     begin
       ComboBox_spot_tj.ItemIndex := i;
       Break;
     end;

     Edit_memo_tj.Text := Form1.Table1.FieldValues['memo'];
     Edit_money_tj.Text := FloatToStr(Abs(Form1.Table1.FieldValues['money']));

end;








procedure TForm_TJ.ComboBox_type1_tjClick(Sender: TObject);
var
  mynode: TTreeNode;
  i,j: Integer;
begin
  ComboBox_type2_tj.Clear;
  ComboBox_type3_tj.Clear;

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

end;

procedure TForm_TJ.ComboBox_type2_tjClick(Sender: TObject);
var
  mynode: TTreeNode;
  i,j: Integer;
begin
  ComboBox_type3_tj.Clear;

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

end;


procedure TForm_TJ.SpeedButton_noClick(Sender: TObject);
begin
  close;
end;

procedure TForm_TJ.SpeedButton_ok_tjClick(Sender: TObject);
var         //添加记录按钮
  Money : Double;
begin
  if CheckDate then
  begin
    Form1.Table1.Edit;
    Money := StrToFloat(Edit_money_tj.Text);
    Money := Round(Money*10)/10;
    if ComboBox_type1_tj.Text = '开支' then
    begin
      if Money > 0 then
        Money := 0 - Money;
    end
    else
      Money := abs(Money);

    if SpeedButton_del.Visible then
     begin
       Form1.Table1.SetFields([DateTimePicker1.Date,ComboBox_name_tj.Text,ComboBox_type1_tj.Text,ComboBox_type2_tj.Text,ComboBox_type3_tj.Text,Money,ComboBox_spot_tj.Text,Edit_memo_tj.Text]);
       Form1.Table1.Post;
       ShowMessage(#13+'     该记录已经更新!     '+#13);
       SpeedButton_noClick(Sender);
     end
     else
     begin
       Form1.Table1.AppendRecord([DateTimePicker1.Date,ComboBox_name_tj.Text,ComboBox_type1_tj.Text,ComboBox_type2_tj.Text,ComboBox_type3_tj.Text,money,ComboBox_spot_tj.Text,Edit_memo_tj.Text]);
       ClsTjDate;
       DateTimePicker1.Date := Date;
     end;
    end;

  Panel_money_tj.Visible := False;
  ComboBox_name_tj.SetFocus;
end;

procedure TForm_TJ.SpeedButton_delClick(Sender: TObject);
begin  //del
  Form1.Table1.Edit;
  Form1.Table1.Delete;
  SpeedButton_noClick(Sender);
end;

procedure TForm_TJ.SpeedButton_type1_tjClick(Sender: TObject);
var
  S: String;
  i: Integer;
  T: Boolean;
  mynode : TTreeNode;
begin
     S:= inputBox('添加','请输入分类:    ','');
     if S<>'' then

⌨️ 快捷键说明

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