📄 main.pas
字号:
bsskinListView2.Items.Clear;
while not datamodule1.adotable3.eof do
begin
ListItem := bsskinListView2.Items.Add;
ListItem.Caption := datamodule1.adotable3.FieldValues['入帐日期'];
ListItem.SubItems.Add(datamodule1.adotable3.FieldValues['入帐金额']);
ListItem.SubItems.Add(datamodule1.adotable3.FieldValues['备注']);
datamodule1.adotable3.Next ;
end;
finally
bsskinListView2.Items.EndUpdate; // 更新显示
datamodule1.adotable3.Filtered :=false;
end;
end;
{******************************************************************************}
//初始化
{*******************************************************************************}
procedure TForm_Main.FormCreate(Sender: TObject);
begin
{日期时间显示及初始化}
bsskinstatuspanel1.Caption :=chinadate();
bsskinstatuspanel2.Caption :=chinaweek();
bsskinstatuspanel3.Caption :=timetostr(time());
end;
{******************************************************************************}
//时间更新
{******************************************************************************}
procedure TForm_Main.Timer1Timer(Sender: TObject);
begin
if bsskinstatuspanel3.Caption<>timetostr(time()) then
bsskinstatuspanel3.Caption :=timetostr(time());
end;
{******************************************************************************}
//代码管理:关闭
{******************************************************************************}
procedure TForm_Main.code_10Execute(Sender: TObject);
begin
close;
end;
{******************************************************************************}
//关闭提示
{******************************************************************************}
procedure TForm_Main.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
if bsSkinMessage1.MessageDlg('你确定要退出本程序吗?',mtinformation,[mbok,mbno],0)=mrok then
canclose:=true
else begin
datamodule1.Destroy ;
canclose:=false;
end
end;
{******************************************************************************}
//代码管理:关于
{******************************************************************************}
procedure TForm_Main.code_9Execute(Sender: TObject);
begin
Form_about:=TForm_about.Create(application);
Form_about.ShowModal ;
end;
{******************************************************************************}
//代码管理:添加新帐户
{******************************************************************************}
procedure TForm_Main.code_1Execute(Sender: TObject);
begin
Form_newzh:=TForm_newzh.Create(application);
Form_newzh.ShowModal ;
end;
{******************************************************************************}
//代码管理:添加出帐信息
{******************************************************************************}
procedure TForm_Main.code_3Execute(Sender: TObject);
begin
Form_ch:=TForm_ch.Create(application);
Form_ch.ShowModal ;
end;
{******************************************************************************}
//代码管理:添加入帐信息
{******************************************************************************}
procedure TForm_Main.code_4Execute(Sender: TObject);
begin
Form_rh:=TForm_rh.Create(application);
Form_rh.ShowModal ;
end;
{******************************************************************************}
//代码管理:删除帐户资料
{******************************************************************************}
procedure TForm_Main.code_2Execute(Sender: TObject);
var
infor:string;
begin (* 0 *)
if bsskinlistbox1.ItemIndex <>-1 then begin (* 1 *)
infor:='将要删除帐号为: ['+bsskinlistbox1.Items.Strings[bsskinlistbox1.ItemIndex]+'] 的帐户信息和出入帐信息,你确定吗?';
if bsskinmessage1.MessageDlg(infor,mtinformation,[mbok,mbno],0)=mrok then begin (* 2 *)
{--------------------删除帐户资料--------------------}
DataModule1.ADOTable1.First ;
DataModule1.adotable1.MoveBy(bsskinlistbox1.ItemIndex); //移动数据库指针
dataModule1.ADOTable1.Delete ; //删除资料
{-------------------删除出帐资料---------------------}
datamodule1.adotable2.First ;
while not datamodule1.adotable2.Eof do begin
if datamodule1.adotable2.FieldValues['银行帐号']= bsskinlistbox1.Items.Strings[bsskinlistbox1.ItemIndex]then
datamodule1.adotable2.Delete
else datamodule1.adotable2.Next ;
end;
{-------------------删除入帐资料---------------------}
datamodule1.adotable3.First ;
while not datamodule1.adotable3.Eof do begin
if datamodule1.adotable3.FieldValues['银行帐号']= bsskinlistbox1.Items.Strings[bsskinlistbox1.ItemIndex]then
datamodule1.adotable3.Delete
else datamodule1.adotable3.Next ;
end;
bsskinlistbox1.ItemIndex :=0; //显示第一个帐户信息
bsskinlistbox1.Items.Delete(bsskinlistbox1.ItemIndex); //删除列表中的帐号
//如果出入帐列表显示的是当前要删除的帐户,则清空列表
if self.temp_zh=bsskinlistbox1.Items.Strings[bsskinlistbox1.ItemIndex] then begin
bsskinListView1.Items.Clear;
bsskinListView2.Items.Clear;
end
{----------------------------------------------------}
end (* 2 *)
end (* 1 *)
end; (* 0 *)
{******************************************************************************}
//代码管理:备份数据库
{******************************************************************************}
procedure TForm_Main.code_5Execute(Sender: TObject);
var
fromDB,desDB:string;
begin { 0 }
try { 1 }
if bsskinsavedialog1.Execute then begin { 2 }
//关闭数据库连接
datamodule1.ADOTable1.Active :=false;
datamodule1.ADOTable2.Active :=false;
datamodule1.ADOTable3.Active :=false;
if fileexists(bsskinsavedialog1.FileName) then begin { 3 }
bsskinmessage1.MessageDlg('数据库文件已存在,请重新设定文件名!',mtinformation,[mbok],0);
Form_Main.code_5Execute(Sender);
end { 3}
else begin { 4 }
fromDB:=extractfilepath(paramstr(0))+'infor.mdb';
desDB:=bsskinsavedialog1.FileName ;
copyfile(pchar(fromDB),pchar(desDB),false);
end; { 4 }
end; { 2 }
except
bsskinmessage1.MessageDlg('无法保存数据库文件!',mtinformation,[mbok],0);
end;
//恢复数据库连接
datamodule1.ADOTable1.Active :=true;
datamodule1.ADOTable2.Active :=true;
datamodule1.ADOTable3.Active :=true;
end;{ 0 }
{******************************************************************************}
//代码管理:恢复数据库
{******************************************************************************}
procedure TForm_Main.code_6Execute(Sender: TObject);
var
fromDB,desDB:string;
begin{0}
if bsskinmessage1.MessageDlg('这项操作将导致当前数据的丢失,如果已经备份了当前数据,请选择 OK !',mtinformation,[mbok,mbno],0)=mrno then exit;
if bsskinopendialog1.Execute then begin{1}
if bsskinopendialog1.FileName<>''then begin{2}
{-------------------------关闭数据库连接---------------------------------}
try
datamodule1.ADOTable1.Close ;
datamodule1.ADOTable2.Close ;
datamodule1.ADOTable3.Close ;
except
bsskinmessage1.MessageDlg('数据库无法关闭!',mtinformation,[mbok],0);
exit;
end;
{-------------------------删除当前数据库---------------------------------}
if deletefile(extractfilepath(paramstr(0))+'infor.mdb')=false then begin
bsskinmessage1.MessageDlg('当前数据库无法删除!',mtinformation,[mbok],0);
exit;
end;
{-------------------------复制新的数据库---------------------------------}
try
fromDB:=bsskinopendialog1.FileName ;
desDB:=extractfilepath(paramstr(0))+'infor.mdb';
copyfile(pchar(fromDB),pchar(desDB),false);
except
bsskinmessage1.MessageDlg('无法恢复数据库文件!',mtinformation,[mbok],0);
exit;
end;
{-------------------------恢复数据库连接---------------------------------}
DataModule1.DataModuleCreate(Sender);
{-------------------------列表数据初始化---------------------------------}
try
Form_Main.FormActivate(Sender);
except
bsskinmessage1.MessageDlg('操作异常!',mtinformation,[mbok],0);
exit;
end;
end{2}
else
bsskinmessage1.MessageDlg('请选择一个数据库文件!',mtinformation,[mbok],0);
end;{1}
bsskinmessage1.MessageDlg('恢复数据库成功!',mtinformation,[mbok],0);
end;{0}
{******************************************************************************}
//代码管理:导出文本
{******************************************************************************}
procedure TForm_Main.code_7Execute(Sender: TObject);
begin
form_txt:=Tform_txt.Create(application);
form_txt.ShowModal ;
end;
{******************************************************************************}
//代码管理:密码修改
{******************************************************************************}
procedure TForm_Main.code_8Execute(Sender: TObject);
begin
form_update:=TForm_update.Create(application);
form_update.ShowModal ;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -