📄 unit_tj.pas
字号:
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 + -