📄 backup.pas
字号:
unit backup;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls, RzShellDialogs;
procedure filecopy1(sourcefilename,targetfilename:string);
type
TForm_backup = class(TForm)
Bevel1: TBevel;
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
BitBtn1: TBitBtn;
SpeedButton1: TSpeedButton;
SaveDialog1: TRzSaveDialog;
procedure BitBtn1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure SpeedButton1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form_backup: TForm_backup;
implementation
uses dm,md5;
{$R *.dfm}
procedure filecopy1(sourcefilename,targetfilename:string);
var
s,t:tfilestream;
begin
s:=tfilestream.Create(sourcefilename,fmopenread or fmShareDenyNone);
try
t:=tfilestream.Create(targetfilename,fmopenreadwrite or fmcreate or fmShareDenyNone );
try
t.CopyFrom(s,s.Size);
finally t.Free;
end;
finally s.Free;
end;
end;
procedure TForm_backup.BitBtn1Click(Sender: TObject);
var
fromdir,todir1:string;
i: integer;
begin
if edit1.Text='' then
begin
MessageDlg('请选择备份路径!', mtInformation, [mbOk], 0);
abort;
end;
i:=messagedlg('确定要备份数据?',mtwarning,[mbyes,mbno],0);
if i=mryes then
begin
label1.Caption := '正在初始化,请稍等...';
label1.Refresh;
form_dm.ADOConnection.Close;
try
todir1:=edit1.Text;
fromdir:=extractfiledir(application.ExeName)+'\data\data.mdb';
label1.Caption := '正在备份数据,请稍等...';
label1.Refresh;
filecopy1(fromdir,todir1);
label1.Caption := '';
label1.Refresh;
form_dm.ADOConnection.open;
MessageDlg('备份成功!', mtInformation, [mbOk], 0);
form_backup.Close;
except
MessageDlg('备份失败!', mtInformation, [mbOk], 0);
end;
end;
end;
procedure TForm_backup.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
edit1.Text:='';
end;
procedure TForm_backup.SpeedButton1Click(Sender: TObject);
var backupdir :string;
begin
backupdir:=extractfiledir(application.ExeName)+'\data\backup';
if fileexists(backupdir)=false then
createdir(backupdir);
setcurrentdir(backupdir);
savedialog1.InitialDir:=backupdir;
savedialog1.FileName:=datetostr(date);
SaveDialog1.DefaultExt:='*.txt';
SaveDialog1.Filter:='Access Database (*.mdb)|*.mdb';
SaveDialog1.Execute;
edit1.Text:=savedialog1.FileName;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -