📄 frmsystemset.pas
字号:
unit frmSystemSet;
interface
uses
Dialogs, ExtCtrls, RzPanel, RzDlgBtn, RzBckgnd, RzTabs, ComCtrls, RzTreeVw,
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
DBCtrls, RzDBNav, Grids, DBGrids, RzDBGrid, StdCtrls, RzLabel, ImgList,
RzButton, Mask, RzEdit, RzBtnEdt,ComObj;
type
TSystemSetFm = class(TForm)
Pnl_Main: TRzPanel;
Tree_Info: TRzTreeView;
PgContrl: TRzPageControl;
RzDialogBtn: TRzDialogButtons;
Tbsheet_Income: TRzTabSheet;
Grpbx_Income: TRzGroupBox;
RzDBGrid1: TRzDBGrid;
RzDBNavigator1: TRzDBNavigator;
Tbsheet_Payout: TRzTabSheet;
RzGroupBox2: TRzGroupBox;
RzDBGrid2: TRzDBGrid;
RzDBNavigator2: TRzDBNavigator;
Tbsheet_Family: TRzTabSheet;
Imglst: TImageList;
Tbsheet_bank: TRzTabSheet;
Tbsheet_debt: TRzTabSheet;
Tbsheet_Data: TRzTabSheet;
Tbsheet_Other: TRzTabSheet;
RzLabel1: TRzLabel;
Img_App_Ico: TImage;
RzGroupBox1: TRzGroupBox;
RzDBGrid3: TRzDBGrid;
RzDBNavigator3: TRzDBNavigator;
RzGroupBox3: TRzGroupBox;
RzDBGrid4: TRzDBGrid;
RzDBNavigator4: TRzDBNavigator;
RzGroupBox5: TRzGroupBox;
RzDBGrid6: TRzDBGrid;
RzDBNavigator6: TRzDBNavigator;
RzGroupBox4: TRzGroupBox;
RzBitBtn3: TRzBitBtn;
RzBitBtn5: TRzBitBtn;
OpenDialog1: TOpenDialog;
RzBitBtn1: TRzBitBtn;
RzBitBtn2: TRzBitBtn;
procedure RzBitBtn2Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure RzBitBtn1Click(Sender: TObject);
procedure RzBitBtn5Click(Sender: TObject);
procedure RzBitBtn3Click(Sender: TObject);
procedure Tree_InfoClick(Sender: TObject);
procedure CompactAccess(dbName: string; JetId: string = '4.0');
private
{ Private declarations }
public
{ Public declarations }
end;
var
SystemSetFm: TSystemSetFm;
implementation
uses frmdata;
{$R *.dfm}
procedure TSystemSetFm.CompactAccess(dbName: string; JetId: string = '4.0'); //压缩
var
AVariant: Variant;
begin
if FileExists(dbName + '.tmp') then DeleteFile(DbName + '.tmp');
AVariant := CreateOleObject('JRO.JetEngine');
AVariant.CompactDataBase('Provider=Microsoft.Jet.OLEDB.' + JetId + ';Data Source=' + dbName ,
'Provider=Microsoft.Jet.OLEDB.' + JetId + ';Data Source=' + dbName + '.tmp');
DeleteFile(DbName);
ReNameFile(dbName + '.tmp', DbName);
end;
procedure TSystemSetFm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
dataFm.RefreshTable;
end;
procedure TSystemSetFm.RzBitBtn1Click(Sender: TObject);
var backname,dbname:string;
begin
if MessageBox(self.Handle, '确认要恢复数据么? ', '提示', mb_IconQuestion + mb_YesNo) = idYes then
begin
Screen.Cursor := crHourGlass;
dataFm.closeconnect;
OpenDialog1.Execute;
backname:=OpenDialog1.FileName;
Sleep(500);
dbname:=ExtractFilePath(Application.ExeName)+'data\' + 'TslMoney.mdb';
if not FileExists(backname) then
MessageBox(self.Handle, '没有备份数据,不能还原', '提示', mb_IconInformation + mb_Ok)
else
begin
if FileExists(dbname) then DeleteFile(dbname);
CopyFile(Pchar(backname),Pchar(dbname),true);
MessageBox(handle, '数据库恢复成功!', '提示', mb_IconInformation + mb_Ok);
end;
dataFm.openconnect;
Screen.Cursor := crDefault;
end;
end;
procedure TSystemSetFm.RzBitBtn2Click(Sender: TObject);
var
InputString:String;
begin
InputString:=InputBox('请输入密码','慎重!将清空数据库。','');
if Inputstring<>'tslmoney' then
MessageBox(handle, '密码错误!', '提示', mb_Iconerror + mb_Ok)
else
dataFm.DeleteTableTable;// 清空数据库
end;
procedure TSystemSetFm.RzBitBtn3Click(Sender: TObject);
var backname,dbname:string;
begin
Screen.Cursor := crHourGlass;
dataFm.closeconnect;
Sleep(500);
dbname:=ExtractFilePath(Application.ExeName)+'data\' + 'TslMoney.mdb';
backname:=ExtractFilePath(Application.ExeName)+'data\' + 'TslMoney.bak';
if FileExists(backname) then DeleteFile(backname);
CopyFile(Pchar(dbname), Pchar(backname), true);
MessageBox(handle, '数据库备份成功!', '提示', mb_IconInformation + mb_Ok);
dataFm.openconnect;
Screen.Cursor := crDefault;
end;
procedure TSystemSetFm.RzBitBtn5Click(Sender: TObject);
var dbname:string;
begin
Screen.Cursor := crHourGlass;
dataFm.closeconnect;
Sleep(500);
dbname := ExtractFilePath(Application.ExeName)+'data\' + 'TslMoney.mdb';
CompactAccess(dbname);
MessageBox(handle, '数据库压缩成功!', '提示', mb_IconInformation + mb_Ok);
dataFm.openconnect;
Screen.Cursor := crDefault;
end;
procedure TSystemSetFm.Tree_InfoClick(Sender: TObject);
begin
if Tree_Info.Selected.Text='收入项目' then
PgContrl.ActivePageIndex:=0
else if Tree_Info.Selected.Text='支出项目' then
PgContrl.ActivePageIndex:=1
else if Tree_Info.Selected.Text='家庭成员' then
PgContrl.ActivePageIndex:=2
else if Tree_Info.Selected.Text='银行存折' then
PgContrl.ActivePageIndex:=3
else if Tree_Info.Selected.Text='债权债务' then
PgContrl.ActivePageIndex:=4
else if Tree_Info.Selected.Text='数据库' then
PgContrl.ActivePageIndex:=5
else
PgContrl.ActivePageIndex:=6;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -