Um
binäre Daten zu laden, ist folgende Funktion sehr nützlich:
Delphi-Quellcode:
function FileToString(const FileName: string): AnsiString; // aus der JCL
var
fs: TFileStream;
Len: Integer;
begin
fs := TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite);
try
Len := fs.Size;
SetLength(Result, Len);
if Len > 0 then
fs.ReadBuffer(Result[1], Len);
finally
fs.Free;
end;
end;
Wenn man eine Stringlist verwendet, können die Daten verfälscht werden, das CR/LF und CR als Zeilenumbruch interpretiert werden.
Und dann so:
Delphi-Quellcode:
var
s: string;
idx : integer;
begin
s := FileToString('C:\Textfile.txt'); // binär-Datei auf String einlesen
idx := Pos('Hihoo', s);
// hier weitere Stringverarbeitung ...
end;