Código
function ReadHexFromFile(sFileName:String):String;
Var ArqFile : File;
Buffer : Array[1..2048] of Byte;
ByteRead : LongInt;
strHex : String;
i : Integer;
begin
AssignFile(ArqFile,sFileName);
FileMode := 0;
Reset(ArqFile,1);
repeat
BlockRead(ArqFile,Buffer,SizeOf(Buffer),ByteRead);
if ByteRead <> 0 then begin
for i := 1 to ByteRead do begin
strHex := strHex + IntToHex(Buffer[i],2);
end;
end;
until (ByteRead = 0);
CloseFile(ArqFile);
Result := strHex;
end;
{Convertendo o Hexa para um arquivo}
function WriteHexToFile(sPathFileName:String;sFileHex:String):Boolean;
Var FileXML : File;
Buffer : Array of Char;
ByteRead : LongInt;
iByte : LongInt;
begin
AssignFile(FileXML,sPathFileName);
ReWrite(FileXML,1);
SetLength(Buffer,(Length(sFileHex) div 2));
HexToBin(PChar(sFileHex),PChar(Buffer),(Length(sFileHex) div 2));
for iByte := 0 to ((Length(sFileHex) div 2) - 1) do begin
BlockWrite(FileXML,Buffer[iByte],1,ByteRead);
end;
CloseFile(FileXML);
WriteHexToFile := FileExists(sPathFileName);
end;
Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009