📄 filebackupdesignunit.pas
字号:
//*-----------------------------------------------------------------------------
//* 系统名称:数据自动备份系统
//* 作 者:陈春华
//* 开发时间:2005
//* Windows2000 Server + SQL Server2000 + Delphi7
//* 功能简介:
//* 软件可自动完成SQL Server数据库和文档的数据定时自动备份,
//* 由用户选择对哪些数据库或文档进行数据备份,提供对备份、还原
//* 数据作业的管理、分析、日志跟踪等功能,备份频率不受限制。
//*-----------------------------------------------------------------------------
unit FileBackupDesignUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Mask, FileCtrl, IniFiles, jpeg;
type
TFileBackupDesignForm = class(TForm)
Image1: TImage;
GroupBox1: TGroupBox;
Label1: TLabel;
Edit1: TEdit;
Button1: TButton;
Label2: TLabel;
Edit2: TEdit;
Button2: TButton;
Label3: TLabel;
Edit3: TEdit;
ComboBox1: TComboBox;
Button3: TButton;
Button4: TButton;
CB1: TCheckBox;
CB2: TCheckBox;
Label5: TLabel;
MaskEdit1: TMaskEdit;
Label6: TLabel;
Edit4: TEdit;
Label7: TLabel;
SaveDialog: TSaveDialog;
Label8: TLabel;
Edit5: TEdit;
Image2: TImage;
Image3: TImage;
Image4: TImage;
Image5: TImage;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FileBackupDesignForm: TFileBackupDesignForm;
implementation
uses DataModuleUnit, VariableUnit, MainUnit;
{$R *.dfm}
var
isRemote:Boolean=False;
procedure TFileBackupDesignForm.Button1Click(Sender: TObject);
var
odir: String;
begin
if not SelectDirectory('请选择备份文件源地址','',odir) then
exit
else
Edit1.Text:= odir;
end;
procedure TFileBackupDesignForm.Button2Click(Sender: TObject);
var
odir: String;
begin
if not SelectDirectory('请选择备份文件目的地址,文件将备份到指定位置','',odir) then
exit
else
begin
Edit2.Text:= odir;
if Copy(odir,1,2)='\\' then //本地、远程判断,并分别设置
begin
isRemote:=True;
Edit3.Enabled:=True;
Edit3.Color:=clWindow;
ComboBox1.Enabled:=True;
ComboBox1.Color:=clWindow;
Edit3.Text:='';
ComboBox1.Text:='GB';
end
else
begin
isRemote:=False;
Edit3.Enabled:=False;
Edit3.Color:=clBtnFace;
ComboBox1.Enabled:=False;
ComboBox1.Color:=clBtnFace;
Edit3.Text:='';
ComboBox1.Text:='';
end;
end;
end;
procedure TFileBackupDesignForm.Button3Click(Sender: TObject);
var
inifile: TIniFile;
sizeTemp:real;
begin
if Edit5.Text='' then
begin
showMessage('备份项目名称不能为空!');
Exit;
end;
if Edit1.Text='' then
begin
showMessage('请输入要备份的文件地址!');
Exit;
end;
if Edit2.Text='' then
begin
showMessage('请输入备份文件的目的地址!');
Exit;
end;
if isRemote then
begin
if Edit3.Text='' then
begin
showMessage('请输入远程地址空间!');
Exit;
end;
end;
if MaskEdit1.Text=' : ' then
begin
showMessage('请输入备份时刻!');
Exit;
end;
if (Edit4.Text='') or (StrToFloat(Edit4.Text)<24)then
begin
showMessage('同一天只备份一次,频率必须大于24小时!');
Exit;
end;
fileItemName:=Edit5.Text;
fileSourceAdd:=Edit1.Text;
fileAmiAdd:=Edit2.Text;
//^---
if isRemote then
begin
if ComboBox1.Text='字节' then
sizeTemp:=StrToFloat(Edit3.Text)/1024/1024
else if ComboBox1.Text='KB' then
sizeTemp:= StrToFloat(Edit3.Text)/1024
else if ComboBox1.Text='MB' then
sizeTemp:= StrToFloat(Edit3.Text)
else if ComboBox1.Text='GB' then
sizeTemp:= StrToFloat(Edit3.Text)*1024;
end
else
sizeTemp:=Abs(DiskFree(Ord(Edit2.Text[1])-64))/1024/1024;
fileFreeSize:=sizeTemp;
//^ 剩余空间计算
fileBackupTime:=StrToTime(MaskEdit1.Text);
fileFrequency:=StrToFloat(Edit4.Text);
lastBackupTime:= strToDateTime('1900-01-01 00:00:00'); //初始化控制时间
if CB1.Checked then
begin
SaveDialog.InitialDir:= ExtractFilePath(ParamStr(0));
SaveDialog.FileName:=fileItemName;
if SaveDialog.Execute then
begin
try
inifile:=TIniFile.Create(SaveDialog.FileName+'.ini');
try
with inifile do
begin
writeString('备份设置','备份项目名称',fileItemName);
writeString('备份设置','备份文件源地址',fileSourceAdd);
writeString('备份设置','备份文件目的地址',fileAmiAdd);
WriteFloat('备份设置','目的地址空间',fileFreeSize);
WriteTime('备份设置','定时时刻',fileBackupTime);
WriteFloat('备份设置','备份频率',fileFrequency);
WriteDateTime('备份设置','最近一次备份时刻',lastBackupTime);
end;
showMessage('设置文件已保存至'+SaveDialog.FileName+'.ini');
except
showMessage('保存失败!');
end;
finally
inifile.Free;
end;
end;
end;
if CB2.Checked then
begin
DM.FileTimer1.Enabled:=True;
MainForm.N4.Enabled:=False;
end;
fileHaveFinishedSet:=True;
self.close;
end;
procedure TFileBackupDesignForm.Button4Click(Sender: TObject);
begin
close;
end;
procedure TFileBackupDesignForm.FormShow(Sender: TObject);
begin
Edit5.Text:='';
Edit1.Text:='';
Edit2.Text:='';
Edit3.Text:='';
Edit4.Text:='';
ComboBox1.Text:='';
Edit3.Enabled:=False;
ComboBox1.Color:=clBtnFace;
Edit3.Color:=clBtnFace;
ComboBox1.Enabled:=False;
MaskEdit1.Text:=' : ';
ComboBox1.Items.Clear;
ComboBox1.Items.Add('字节');
ComboBox1.Items.Add('KB');
ComboBox1.Items.Add('MB');
ComboBox1.Items.Add('GB');
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -