📄 frmdsrestoredatap.~pas
字号:
unit FrmDsRestoreDataP;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, FrmBaseFormP, StdCtrls, Buttons, ComCtrls, ExtCtrls, Menus;
type
TFrmDsRestoreData = class(TFrmBaseForm)
Img1: TImage;
ProgressBar1: TProgressBar;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
procedure Img1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure BitBtn1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
Function SetData(SourceFile:string;DestFile:string):Integer;
{ Public declarations }
end;
var
FrmDsRestoreData: TFrmDsRestoreData;
implementation
uses SysPub;
{$R *.dfm}
procedure TFrmDsRestoreData.Img1Click(Sender: TObject);
begin
// inherited;
end;
procedure TFrmDsRestoreData.BitBtn2Click(Sender: TObject);
begin
// inherited;
close ;
end;
procedure TFrmDsRestoreData.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
action:=cafree;
end;
procedure TFrmDsRestoreData.BitBtn1Click(Sender: TObject);
var Sourcef,destf:string;
Result:Integer;
opendialog1:Topendialog ;
Begin
opendialog1:=Topendialog.Create (Nil);
label3.Caption :='作业进行中...';
opendialog1.InitialDir:=_AppPath+'backupdata\';
opendialog1.Title:='请选择数据库';
opendialog1.Filter:='数据库文件|*.mdb';
opendialog1.Execute;
if opendialog1.FileName <> '' then
begin
DestF:=_AppPath+'DATA\Dspace.mdb';
SourceF:=opendialog1.FileName;
Result:=Self.SetData(Sourcef,Destf);
end;
opendialog1.Free;
IF Result=0 Then
ShowMessage('数据恢复成功,文件为'+DestF)
Else
ShowMessage('抱歉,数据恢复不成功,请检查原文件及目标文件夹!');
label3.Caption :='作业已完成...';
end;
procedure TFrmDsRestoreData.FormCreate(Sender: TObject);
begin
inherited;
Img1.Picture.LoadFromFile(_AppPath+'Bmp\Tao.Bmp');
end;
Function TFrmDsRestoreData.SetData(SourceFile, DestFile: string):integer;
var
Sourcef,DestF :file of byte;
buffer : array[0..64] of char;
numread:integer;
FileLength :longint;
begin
Try
AssignFile(Sourcef,SourceFile); //得到原文件句柄
Reset(Sourcef);
AssignFile(DestF,DestFile); //得到目标文件句柄
Rewrite(DestF);
Filelength:= Filesize(Sourcef);
with progressbar1 do
begin
min:=0;
max:=Filelength;
while filelength > 0 do
begin
blockread(SourceF,buffer[0],sizeof(buffer),numread);
Filelength := Filelength - numread;
blockwrite(DestF,buffer[0],numread);
position:=position + numread;
end;
closefile(Sourcef);
closefile(DestF);
Result:=0;
End;
Except
Begin
closefile(Sourcef);
closefile(DestF);
Result:=1;
End;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -