Re:关于二进制数据的转换(50分)

  • 主题发起人 主题发起人 xcailon
  • 开始时间 开始时间
X

xcailon

Unregistered / Unconfirmed
GUEST, unregistred user!
 我想把诸如文本文件,应用程序及其它已知文件类型的文件转换成二进制数据,然后保存到
数据库中,并可通过从数据库中取出二进制数据以后还原成原来的文件,不知哪位有这方面的
例程,敬请赐教,多谢!
 
//翻出来的老程序,是保存文件到xml,原来学习时试做的,效率不高,给你借鉴一下吧
function TForm1.LoadDataFromFile(FileName: string;var FileLen : Integer) : string;
var
F : File of Byte;
bBlock : Byte;
FLen : Integer;
I : Integer;
begin
AssignFile(F,FileName);
Reset(F);
FLen := FileSize(F);
Result := '';
for I := 0 to FLen-1 do
begin
Read(F,bBlock);
Result := Result+IntToHex(bBlock,2);
end;
CloseFile(F);
FileLen := FLen;
end;

procedure TForm1.SaveDataToFile(vNodeValue: string;
FileName: string;FileLen : Integer);
var
F : File of Char;
bBlock : Char;
I : Integer;
sBlock : string;
P : PChar;
begin
AssignFile(F,FileName);
ReWrite(F);
P := AllocMem(1);
for I := 0 to FileLen-1 do
begin
sBlock := vNodeValue[I*2+1]+vNodeValue[I*2+2];
sBlock := LowerCase(sBlock);
HexToBin(PChar(sBlock),P,1);
bBlock := P^;
Write(F,bBlock);
end;
CloseFile(F);
end;
 
后退
顶部