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

📄 mainform.pas

📁 家庭理财系统.rar
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit MainForm;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ImgList, Menus, ExtCtrls, ComCtrls, ToolWin, StdCtrls,shellApi,
  DBActns, ActnList, Grids, DBGrids, DB, Buttons;

type
  TMain = class(TForm)
    MainMenu1: TMainMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    N6: TMenuItem;
    ImageList1: TImageList;
    ToolBar1: TToolBar;
    ToolButton1: TToolButton;
    ToolButton2: TToolButton;
    ToolButton3: TToolButton;
    ToolButton4: TToolButton;
    ToolButton5: TToolButton;
    ToolButton6: TToolButton;
    ToolButton7: TToolButton;
    ImageList2: TImageList;
    StatusBar1: TStatusBar;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    Timer1: TTimer;
    OpenDialog1: TOpenDialog;
    N9: TMenuItem;
    N7: TMenuItem;
    N8: TMenuItem;
    A1: TMenuItem;
    N10: TMenuItem;
    N11: TMenuItem;
    N12: TMenuItem;
    P1: TMenuItem;
    N13: TMenuItem;
    O1: TMenuItem;
    N14: TMenuItem;
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    Label1: TLabel;
    ComboBox1: TComboBox;
    Label2: TLabel;
    ComboBox2: TComboBox;
    Label3: TLabel;
    Edit1: TEdit;
    Label4: TLabel;
    Edit2: TEdit;
    Memo1: TMemo;
    Label5: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Button1: TButton;
    Label11: TLabel;
    DBGrid1: TDBGrid;
    GroupBox3: TGroupBox;
    Button2: TButton;
    Label12: TLabel;
    Edit3: TEdit;
    Button3: TButton;
    Button4: TButton;
    DataSource1: TDataSource;
    GroupBox4: TGroupBox;
    Label13: TLabel;
    ComboBox3: TComboBox;
    Label14: TLabel;
    ComboBox4: TComboBox;
    Label15: TLabel;
    Edit4: TEdit;
    Label16: TLabel;
    Edit5: TEdit;
    Label17: TLabel;
    Memo2: TMemo;
    Button5: TButton;
    Label19: TLabel;
    Label20: TLabel;
    Label21: TLabel;
    Label22: TLabel;
    Label23: TLabel;
    Label24: TLabel;
    GroupBox5: TGroupBox;
    GroupBox6: TGroupBox;
    Label25: TLabel;
    Button6: TButton;
    Edit6: TEdit;
    Button7: TButton;
    Button8: TButton;
    DataSource2: TDataSource;
    DBGrid2: TDBGrid;
    Label6: TLabel;
    Label18: TLabel;
    TabSheet3: TTabSheet;
    TabSheet4: TTabSheet;
    GroupBox7: TGroupBox;
    GroupBox8: TGroupBox;
    Label26: TLabel;
    Label27: TLabel;
    Label28: TLabel;
    Label29: TLabel;
    Label30: TLabel;
    Label31: TLabel;
    Label32: TLabel;
    Label33: TLabel;
    Label34: TLabel;
    Label35: TLabel;
    Label36: TLabel;
    Label37: TLabel;
    Label38: TLabel;
    Label39: TLabel;
    Label40: TLabel;
    Label41: TLabel;
    Label42: TLabel;
    Label43: TLabel;
    Memo3: TMemo;
    Label44: TLabel;
    Label45: TLabel;
    Label46: TLabel;
    Label47: TLabel;
    Image1: TImage;
    ToolButton8: TToolButton;
    ToolButton9: TToolButton;
    ToolButton10: TToolButton;
    ToolButton11: TToolButton;
    GroupBox10: TGroupBox;
    GroupBox11: TGroupBox;
    ComboBox5: TComboBox;
    GroupBox12: TGroupBox;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    GroupBox13: TGroupBox;
    DateTimePicker1: TDateTimePicker;
    Label48: TLabel;
    DateTimePicker2: TDateTimePicker;
    BitBtn1: TBitBtn;
    GroupBox14: TGroupBox;
    DBGrid3: TDBGrid;
    GroupBox15: TGroupBox;
    Label49: TLabel;
    Edit7: TEdit;
    Label50: TLabel;
    Button9: TButton;
    Button10: TButton;
    DataSource3: TDataSource;
    procedure Timer1Timer(Sender: TObject);
    procedure ToolButton6Click(Sender: TObject);
    procedure ToolButton2Click(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure N5Click(Sender: TObject);
    procedure N6Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure N8Click(Sender: TObject);
    procedure N9Click(Sender: TObject);
    procedure ToolButton4Click(Sender: TObject);
    procedure N10Click(Sender: TObject);
    procedure P1Click(Sender: TObject);
    procedure N13Click(Sender: TObject);
    procedure O1Click(Sender: TObject);
    procedure N14Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Image1Click(Sender: TObject);
    procedure Label40Click(Sender: TObject);
    procedure ToolButton10Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure ToolButton8Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Main: TMain;

implementation

uses UnbindForm, LoginForm, DMForm, ChgPsFrom, AddUserForm, DelUserForm,
     LogoutForm, MessageForm, AddMemberForm, AddBankForm, OutForm,
     IncomeForm, AboutForm;

{$R *.dfm}

//在主窗体上的statusbar显示系统当前的时间和日期
procedure TMain.Timer1Timer(Sender: TObject);
begin
  statusbar1.Panels[5].Text := ' 日期:' + formatdatetime('yyyy年-MM月-dd日',now);
  statusbar1.Panels[6].Text := ' 时间:' + timetostr(now);
end;

procedure TMain.ToolButton6Click(Sender: TObject);
var
  flag : integer ;
begin
  flag := messagebox(getactivewindow(),'您确定要退出系统?!','提示!' ,MB_OKCANCEL + MB_ICONINFORMATION);
  if flag=IDOK then
    application.Terminate
  else
    ;
end;

procedure TMain.ToolButton2Click(Sender: TObject);
begin
  with TUnbind.Create(self) do
    showmodal;
end;

procedure TMain.N2Click(Sender: TObject);
var
  F: TShFileOpStruct;
begin
  if (login.admin <> true) then
    messagebox(getactivewindow(),'你无权进行此操作,请联系管理员!!','错误!' ,MB_OK + MB_ICONINFORMATION)
  else
    begin
      F.wnd := Handle;
      F.wFunc := Fo_COPY; {操作方式}
      F.pFrom := pAnsichar(ExtractFileDir(Application.ExeName) + '\db.mdb' + #0);
      F.pTo := pAnsichar('db.bak') ;
      if ShFileOperation(F) <> 0 then
        MessageBox(getactivewindow(), '数据文件备份失败!', '错误', MB_OK + MB_ICONSTOP)
      else
        MessageBox(getactivewindow(), '数据文件备份成功!', '成功', MB_OK + MB_ICONINFORMATION);
     end;
end;

procedure TMain.N3Click(Sender: TObject);
var
  F: TShFileOpStruct;
  strtmp:string;
  begin
  if (login.admin <> true) then
    messagebox(getactivewindow(),'你无权进行此操作,请联系管理员!!','错误!' ,MB_OK + MB_ICONINFORMATION)
  else
    begin
        F.wnd := Handle;
        F.wFunc := Fo_Delete; //操作方式
        F.pFrom := pAnsichar(ExtractFileDir(Application.ExeName) +'\db.mdb' + #0);
        F.fFlags := FOF_ALLOWUNDO or FOF_RENAMEONCOLLISION;   //操作选项
        //--- 断开连接 ---
        DM.ADOConnection1.Connected :=false;
        strtmp:=f.pFrom;
        if ShFileOperation(F) <> 0 then
         MessageBox(getactivewindow(), '删除原始数据文件失败!', '错误', MB_OK + MB_ICONSTOP)
        else
          begin
            OpenDialog1.Filter := '备份文件(*.bak)|*.bak';
            OpenDialog1.InitialDir := ExtractFileDir(Application.ExeName) + '\';
            OpenDialog1.Title := '选择备份文件';
            if OpenDialog1.Execute then
              if CopyFile(PChar(OpenDialog1.FileName), PChar(ExtractFileDir(Application.ExeName) + '\db.mdb'), False) then
                MessageBox(getactivewindow(), '数据文件恢复成功!', '成功', MB_OK + MB_ICONINFORMATION);
          end;
    end;
end;

procedure TMain.N5Click(Sender: TObject);
begin
  with TChgPs.Create(self) do
    showmodal;
end;

procedure TMain.N6Click(Sender: TObject);
begin
  with TAddUser.Create(self) do
    showmodal;
end;



procedure TMain.FormCreate(Sender: TObject);
begin
  with dm.ADOQuery3 do
  begin
    dm.adoquery3.Close ;
    dm.adoquery3.Open ;
    while not dm.adoquery3.Eof do
    begin
      ComboBox1.Items.Add(dm.adoquery3.FieldByName('成员姓名').AsString);
      ComboBox3.Items.Add(dm.adoquery3.FieldByName('成员姓名').AsString);
      combobox5.Items.Add(dm.adoquery3.FieldByName('成员姓名').AsString);
      dm.adoquery3.Next
    end;
  end;
  with dm.ADOQuery5 do
  begin
    dm.adoquery5.Close ;
    dm.adoquery5.Open ;
    while not dm.adoquery5.Eof do
    begin
      ComboBox2.Items.Add(dm.adoquery5.FieldByName('支出项目').AsString);
      dm.adoquery5.Next
    end;
  end;
  with dm.ADOQuery6 do
  begin
    dm.adoquery6.Close ;
    dm.adoquery6.Open ;
    while not dm.adoquery6.Eof do
    begin
      ComboBox4.Items.Add(dm.adoquery6.FieldByName('收入项目').AsString);
      dm.adoquery6.Next
    end;
  end;
    // A1.Visible := false;
  if login.admin = false then
    begin
      N2.Visible := false ;
      N3.Visible := false ;
      N4.Visible := false ;
      N6.Visible := false ;
      N9.Visible := false ;
      N12.Visible := false ;
    end;
end;

procedure TMain.N8Click(Sender: TObject);
var
  flag : integer ;
begin
  flag := messagebox(getactivewindow(),'您确定要退出系统?!','提示!' ,MB_OKCANCEL + MB_ICONINFORMATION);
  if flag=IDOK then
    application.Terminate
  else
    ;
end;

procedure TMain.N9Click(Sender: TObject);
begin
  with TDelUser.Create(self) do
    showmodal;
end;

⌨️ 快捷键说明

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