📄 xtsz_sjbfform.~pas
字号:
unit xtsz_sjbfform;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, StdCtrls, FileCtrl, Buttons, ComCtrls;
type
Txtsz_sjbf = class(TForm)
FileListBox1: TFileListBox;
DirectoryListBox1: TDirectoryListBox;
DriveComboBox1: TDriveComboBox;
Bevel1: TBevel;
Bevel2: TBevel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Bevel3: TBevel;
Label4: TLabel;
Label5: TLabel;
procedure BitBtn3Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
ddir:string;
procedure copyfile(const source, dest:string);
{ Private declarations }
public
{ Public declarations }
end;
var
xtsz_sjbf: Txtsz_sjbf;
implementation
{$R *.DFM}
procedure txtsz_sjbf.copyfile(const source, dest:string);
const
buffersize=1430000;
Var
sourcefile,destfile:file of byte;
buffer:pbyte;
count:longint;
begin
assignfile(sourcefile,source);
assignfile(destfile,dest);
buffer:=nil;
try
getmem(buffer,buffersize);
filemode:=0;
reset(sourcefile);
rewrite(destfile);
repeat
blockread(sourcefile,buffer^,buffersize,count);
blockwrite(destfile,buffer^,count);
until count=0;
finally
closefile(sourcefile);
closefile(destfile);
freemem(buffer);
end;
end;
procedure Txtsz_sjbf.BitBtn3Click(Sender: TObject);
begin
close;
end;
procedure Txtsz_sjbf.FormShow(Sender: TObject);
begin
label1.Refresh;
label2.refresh;
label3.refresh;
label4.refresh;
label5.refresh;
bevel1.Refresh;
bevel2.refresh;
bevel3.refresh;
end;
procedure Txtsz_sjbf.BitBtn1Click(Sender: TObject); //数据备份
var sdir:string;
ai:integer;
HWndCalculator:HWnd;
begin
HWndCalculator:=Windows.FindWindow(nil,'维修管理系统 [明日科技]');
If HWndCalculator <> 0 Then begin
showmessage('请先关闭维修管理系统,然后在备份数据');
exit;
end;
if messagedlg('您确定要备份数据吗?',mtCustom,[mbyes,mbno],0)<>mryes then begin
exit;
end;
if label5.caption[length(label5.caption)]<>'\' then sdir:=label5.caption+'\'else sdir:=label5.caption;
If filelistbox1.Items.count > 0 Then begin
for ai:=0 to filelistbox1.Items.count-1 do begin
if filelistbox1.Items[ai]=datetostr(date)+'.M_D' then begin
if messagedlg('该目录下以有您今天备份的数据了,'+#13+您确定要覆盖它吗?',mtCustom,[mbyes,mbno],0)=mryes then begin
deletefile(filelistbox1.Items[ai]);
break;
end else begin
exit;
end;
end;
end;
end;
copyfile(ddir+'\data\db1.mdb',sdir+datetostr(date)+'.M_D');
showmessage('数据备份完毕');
filelistbox1.update;
end;
procedure Txtsz_sjbf.BitBtn2Click(Sender: TObject); //数据恢复
begin
if filelistbox1.FileName<>'' then begin
if messagedlg('您确定要恢复该备份文件的信息吗?',mtCustom ,[mbyes,mbno],0)=mryes then begin
deletefile(ddir+'\data\db1.mdb');
copyfile(filelistbox1.FileName,ddir+'\data\db1.mdb');
showmessage('数据恢复完毕.');
end;
end else begin
showmessage('请选择数据备份文件');
end;
end;
procedure Txtsz_sjbf.FormCreate(Sender: TObject);
begin
getdir(0,ddir);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -