H
huaduxu
Unregistered / Unconfirmed
GUEST, unregistred user!
新建以下
type
Tmyback = record
Accsetid: Integer; //帐套编号
Accname: string[30]; //帐套名称
Corpname: string[50]; //公司名称
Accdisplay:Boolean; //是否显示
Dbname: string[20]; //数据库名称
dbzipointer;//数据库压缩
end;
TFrmacc = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
在操作中
mdbpath:=extractfilepath(paramstr(0))+myDbname; //得到数据库文件名
ms:= TMemoryStream.Create;
try
ms.LoadFromFile(mdbpath);//加载数据库进入内存流
CompressStream(ms);//压缩内存流
ms.Position:=0;
mydbzip:=ms.Memory;//将压缩后的内存流数据传递给mydbzip
//ms.SaveToFile('c:/tt.zip');
finally
ms.Free;
end;
AssignFile(backdat, 'c:/myback.dat');
if FileExists('c:/myback.dat') then
Reset(backdat)
else
Rewrite(backdat);//以下为将相关数据传递到记录文件中,
myback.Accsetid:=myAccsetid;
myback.Accname:= myAccname;
myback.Corpname:= myCorpname;
myback.Accdisplay:= myAccdisplay;
myback.Dbname:= myDbname;
myback.dbzip:= mydbzip;
try
try
Write(backdat,myback); //将myback记录写入到文件中
finally
CloseFile(backdat);
end;
Application.Messagebox('备份数据库成功','提示信息',MB_OK+Mb_IconQuestion);
except
Application.Messagebox('备份数据库失败','提示信息',MB_OK+Mb_IconQuestion);
end;
在实际操作中没有报警,但写入到myback.dat文件中的没有myback.dbzip部分,问题可能出现在: mydbzip:=ms.Memory;//将压缩后的内存流数据传递给mydbzip,
但我又不知道怎么操作Pointer,请专家指教.
type
Tmyback = record
Accsetid: Integer; //帐套编号
Accname: string[30]; //帐套名称
Corpname: string[50]; //公司名称
Accdisplay:Boolean; //是否显示
Dbname: string[20]; //数据库名称
dbzipointer;//数据库压缩
end;
TFrmacc = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
在操作中
mdbpath:=extractfilepath(paramstr(0))+myDbname; //得到数据库文件名
ms:= TMemoryStream.Create;
try
ms.LoadFromFile(mdbpath);//加载数据库进入内存流
CompressStream(ms);//压缩内存流
ms.Position:=0;
mydbzip:=ms.Memory;//将压缩后的内存流数据传递给mydbzip
//ms.SaveToFile('c:/tt.zip');
finally
ms.Free;
end;
AssignFile(backdat, 'c:/myback.dat');
if FileExists('c:/myback.dat') then
Reset(backdat)
else
Rewrite(backdat);//以下为将相关数据传递到记录文件中,
myback.Accsetid:=myAccsetid;
myback.Accname:= myAccname;
myback.Corpname:= myCorpname;
myback.Accdisplay:= myAccdisplay;
myback.Dbname:= myDbname;
myback.dbzip:= mydbzip;
try
try
Write(backdat,myback); //将myback记录写入到文件中
finally
CloseFile(backdat);
end;
Application.Messagebox('备份数据库成功','提示信息',MB_OK+Mb_IconQuestion);
except
Application.Messagebox('备份数据库失败','提示信息',MB_OK+Mb_IconQuestion);
end;
在实际操作中没有报警,但写入到myback.dat文件中的没有myback.dbzip部分,问题可能出现在: mydbzip:=ms.Memory;//将压缩后的内存流数据传递给mydbzip,
但我又不知道怎么操作Pointer,请专家指教.