Home » Tipps & Tricks » Dateien/Verzeichnisse » Dateioperationen » Datei in einen String laden
Datei in einen String laden
Folgende Funktion liest eine Textdatei und gibt ihren Inhalt als Result zurück. Als Parameter muss der komplette Dateiname (inkl. Pfad!) übergeben werden. Optional ist es möglich über den zweiten und dritten Parameter eine Start- und/oder Endposition anzugeben.
function FileToString(const AFilename: string; StartPos: Integer=0; EndPos: Integer=0): string; var FileStream : TFileStream; wlCount: Integer; begin if FileExists(AFilename) then begin if StartPos < 0 then StartPos := 0; FileStream := TFileStream.Create(AFilename, fmOpenRead or fmShareDenyWrite); try if (EndPos > FileStream.Size) then EndPos := FileStream.Size; wlCount := EndPos - StartPos; if FileStream.Size > StartPos then begin SetLength(Result, wlCount); FileStream.Seek(StartPos, soFromBeginning); FileStream.Read(Result[1], wlCount); end; finally FileStream.Free; end; end else Result := ''; end;
Es sollten keine Binärdateien mit dieser Funktion eingelesen werden, da die Ergebnisse unvorhersehbar sein können.