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

📄 main.pas

📁 本软件是小管家个人帐户管理系统 (ADO+ACCESS)
💻 PAS
📖 第 1 页 / 共 2 页
字号:
  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 + -