⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 backup.pas

📁 路灯控制 可以实现路灯远程开关等
💻 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 + -