udataprot.~pas

来自「DELPHI编程入门篇.从基础入手,浅显易懂,一定物有所值.」· ~PAS 代码 · 共 120 行

~PAS
120
字号
unit Udataprot;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, ADODB, StdCtrls, Buttons, dxCntner, dxEditor, dxEdLib;

type
  Tfrmdataprot = class(TForm)
    GroupBox1: TGroupBox;
    Label2: TLabel;
    BitBtn2: TBitBtn;
    BitBtn1: TBitBtn;
    GroupBox2: TGroupBox;
    Label1: TLabel;
    BitBtn3: TBitBtn;
    BitBtn4: TBitBtn;
    SaveDialog1: TSaveDialog;
    OpenDialog1: TOpenDialog;
    Edit1: TEdit;
    Edit2: TEdit;
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmdataprot: Tfrmdataprot;
  sfilename:string;//文件名。

implementation

uses Udatamodule;

{$R *.dfm}

procedure Tfrmdataprot.BitBtn1Click(Sender: TObject);
begin
  if savedialog1.Execute then
  begin
    edit1.Text:=savedialog1.FileName;
  end;
end;

procedure Tfrmdataprot.BitBtn2Click(Sender: TObject);
var
  filename:string;//目标文件名。
  source,target: TFileStream;
begin
  DataModule2.filialeConnect.Connected:=false;
  datamodule2.ADOConnection1.Connected:=false;
  if edit1.Text = '' then
  begin
    showmessage('请选择备份路径!');
    exit;
  end;
  filename:=edit1.Text;
  source:=TFileStream.Create(sfilename+'\ecrdb.mdb',fmOpenRead );
  try
    target:=TFileStream.Create(filename,fmOpenWrite or fmCreate);
    try
      if target.CopyFrom(source,source.Size)=source.Size then
        ShowMessage('成功备份到'+filename+'!!!');
    finally
      target.Free;
    end;
  finally
    source.Free;
  end;
end;

procedure Tfrmdataprot.FormCreate(Sender: TObject);
begin
  getdir(0,sfilename);
end;

procedure Tfrmdataprot.BitBtn3Click(Sender: TObject);
begin
  if opendialog1.Execute then
  begin
    edit2.Text:=opendialog1.FileName;
  end;  
end;

procedure Tfrmdataprot.BitBtn4Click(Sender: TObject);
var
  filename:string;//源文件名。
  source,target: TFileStream;
begin
  DataModule2.filialeConnect.Connected:=false;
  datamodule2.ADOConnection1.Connected:=false;
  if edit2.Text = '' then
  begin
    showmessage('请选择还原文件!');
    exit;
  end;
  filename:=edit2.Text;
  source:=TFileStream.Create(filename,fmOpenRead );
  try
    target:=TFileStream.Create(sfilename+'\ecrdb.mdb',fmOpenWrite or fmCreate);
    try
      if target.CopyFrom(source,source.Size)=source.Size then
        ShowMessage('成功还原到'+filename+'!!!');
    finally
      target.Free;
    end;
  finally
    source.Free;
  end;
end;

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?