Как правильно использовать процедуру ReadFileAsHex
procedure ReadFileAsHex(const AFileName: string; ADestination: TStrings);
var fs: TFileStream;
buff: Byte;
linecount: Byte;
line: string;
begin
linecount := 0;
line := '';
fs := TFileStream.Create(AFileName, fmOpenRead);
try
while fs.Position < fs.Size do begin
fs.Read(buff, 1);
line := line + IntToHex(buff, 2) + ' ';
Inc(linecount);
if linecount = 16 then begin
ADestination.Add(line);
line := '';
linecount := 0;
end;
end;
if Length(line) <> 0 then
ADestination.Add(line);
ADestination.Text := StringReplace(ADestination.Text, '0D', '', [rfReplaceAll]);
ADestination.Text := StringReplace(ADestination.Text, '0A', '20', [rfReplaceAll]);
finally
fs.Free;
end;
end;
То есть при нажатии на кнопку должна произойти замена:
procedure TForm1.Button1Click(Sender: TObject);
var
S: string;
begin
ReadFileAsHex(???);
end;
Ответы (1 шт):
Автор решения: Alex R.
→ Ссылка
Как обычную процедуру. Передать на вход необходимые параметры: имя файла и объект из списка строк.
procedure TForm1.Button1Click(Sender: TObject);
var
vDest: TStrings;
begin
vDest := TStringList.Create;
try
ReadFileAsHex('<имяфайла>', vDest);
vDest.SaveToFile('<мойгексфайл>');
finally
vDest.free;
end;
end;