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