备份Access 数据库并用WinRar压缩加密

本文介绍了一个使用Delphi编写的简单应用程序,该程序实现了Access数据库的备份功能,并利用WinRAR进行压缩及密码保护,确保数据的安全性和便携性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

{

Alvin Ye 叶冬开

keywork : Access 数据库 备份  winexec winrar 压缩 加密

}

unit uBak;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls,FileCtrl;

type
  TfBak = class(TForm)
    Label1: TLabel;
    eFilePath: TEdit;
    btnSelPath: TButton;
    btnBak: TButton;
    procedure FormShow(Sender: TObject);
    procedure btnBakClick(Sender: TObject);
    procedure btnSelPathClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  fBak: TfBak;

implementation

uses uDM, StrUtils;

{$R *.dfm}

procedure TfBak.FormShow(Sender: TObject);
begin

//选择目录
  eFilePath.Text:=ExtractFilePath(Application.ExeName)+'BAk/';
  btnBak.Enabled:=TRUE;

end;

procedure TfBak.btnBakClick(Sender: TObject);
const
  RarFilePwd:String='Pwd';
var
  datafiledir:string;
  rarappdir:string;
  szcmd:string;
  backuptodir:string;
begin
  btnBak.Enabled:=False;

//如果没有目录,就建
  if not DirectoryExists(eFilePath.Text) then MkDir(eFilePath.Text);

//判断目录是否完整

  if RightStr(eFilePath.Text,1)<>'/' then eFilePath.Text:=eFilePath.Text+'/';

  datafiledir:=ExtractFilePath(Application.ExeName)+'Data.mdb';
  rarappdir:=ExtractFilePath(Application.ExeName)+'Winrar.exe';
  dm1.dbconn.Close;
  dm1.dbconn.ConnectionString:='';
  backuptodir:=trim(eFilePath.Text)+'Backup'+FormatDateTime('yymmddhhmmss',Now)+'.ydk';

  szcmd:=rarappdir+' a '+backuptodir+' '+datafiledir+ ' -ibck -p'+RarFilePwd;

  WinExec(pchar(szcmd),SW_HIDE);

  if FileExists(backuptodir) then
    Application.MessageBox('备份完成',pchar(APPNAME),MB_ICONINFORMATION)
  else
    Application.MessageBox('备份失败',pchar(APPNAME),MB_ICONINFORMATION);

  dm1.dbconn.Connected:=True;
  btnBak.Enabled:=True;

end;

procedure TfBak.btnSelPathClick(Sender: TObject);
var
  datafiledir:string;
begin
  if SelectDirectory('请选择备份目录','',datafiledir) then eFilePath.Text:=datafiledir;
end;

end.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值