📄 backup.pas
字号:
unit Backup;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, GIFImage,shellapi;
type
TFrm_backup = class(TForm)
Image1: TImage;
Label1: TLabel;
Label2: TLabel;
Bevel1: TBevel;
Button1: TButton;
Button2: TButton;
OpenDialog1: TOpenDialog;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Frm_backup: TFrm_backup;
implementation
{$R *.dfm}
procedure TFrm_backup.Button1Click(Sender: TObject);
var
F:Tshfileopstruct;
begin
if messageDlg('备份将产生一个新的数据文件'+#13+#10+''+#13+#10+
'确定要备份吗?',Mtconfirmation,[mbYes,mbNo],0)=mrno then
exit;
F.Wnd:=Handle;
F.wFunc:=Fo_Copy;
F.pFrom:=PAnsichar(ExtractFileDir(application.ExeName)+'\date\db1.mdb'+#0);
Opendialog1.Filter:= '数据库文件|*.mdb|所有文件|*.*';
Opendialog1.Title:='选择备份路径与文件名';
Opendialog1.InitialDir:=Extractfiledir(application.ExeName)+'\date';
if opendialog1.Execute then
F.pTo:=PAnsichar(ExtractFilePath(Application.ExeName)+'Backup\'+'[数据备份'+FormatDateTime('YYYY-MM-DD',now)+']'+'.bak');
F.fFlags:= FOF_ALLOWUNDO or FOF_RENAMEONCOLLISION ;
if SHfileoperation(F)=0 then
messageDlg(#13+#10+'备份数据库成功!',mtinformation,[mbYes],0)
else
messageDlg(#13+#10+'备份数据库失败!',mtinformation,[mbYes],0)
end;
procedure TFrm_backup.Button2Click(Sender: TObject);
var
F:Tshfileopstruct;
S1,S2:String;
begin
if messageDlg('数据将重写当前的数据库'+#13+#10+''+#13+#10+
'确定要恢复吗?',Mtconfirmation,[mbYes,mbNo],0)=mrYes then
begin
OpenDialog1.Title:='还原数据库';
OpenDialog1.Filter:='(*.bak)|*.bak';
Opendialog1.InitialDir:=Extractfiledir(application.ExeName)+'\backup';
if OpenDialog1.Execute then
begin
if Fileexists(OpenDialog1.FileName) then
begin
S1:=ExtractFilePath(Application.ExeName)+'date\db1.mdb';
S2:=OpenDialog1.FileName;
F.wFunc:=FO_COPY;
F.pFrom:=PChar(S2);
F.pTo:=PChar(S1);
if copyfile(PChar(S2),PChar(S1),False)=True then
messageDlg(#13+#10+'恢复数据库成功!',mtinformation,[mbYes],0)
else
messageDlg(#13+#10+'恢复数据库失败!',mtinformation,[mbYes],0)
end
else
Application.MessageBox('你所选择的数据库不存在,请你核对后再还原!','提示!',64)
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -