Как я могу открыть двоичные файлы (exe) в «Delphi», как Visual Basic? - PullRequest
2 голосов
/ 16 июля 2010

в Visual Basic я могу открыть двоичный файл (exe) следующим образом:

Strx$ = Space(FileLen(FileName))
Open FileName For Binary As #1
  Get #1, , Strx$
Close

таким образом, я могу прочитать все символы двоичного файла и прочитать содержимое файла, как этот формат:

альтернативный текст http://up.iranblog.com/Files/4b97136a8452414b97b1.png и вопрос в том, как я могу открыть двоичный (exe) файл в delphi со строковым форматом (как изображение), а не с 0,1 (двоичным) форматом?* Спасибо!

Ответы [ 2 ]

6 голосов
/ 16 июля 2010

EXE-файлы содержат встроенные символы NULL (# 0). У вас могут быть проблемы с использованием строк, так как обычно NULL находится в конце строки. Некоторые подпрограммы перестанут работать со строкой, как только встретится NULL.

Сказав, что следующее получит содержимое файла в строку.

function GetFileIntoString(FileName : String) : String;
var
 SS : TStringStream;
begin
  SS := TStringStream.Create('');   
  try
    SS.LoadFromFile(FileName);
    result := SS.DataString;
  finally
    SS.Free;
  end;
end;
...