Как правильно использовать процедуру 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;
→ Ссылка