Zitat von
grenzgaenger:
wie jelly sprach, du kannst in einer textdatei nicht positionieren.
Das stimmt nicht ganz.
Offiziell ist es nicht möglich, da Seek delphi-intern gesperrt ist, aber wenn man sich selber ein entsprechende Seek-Funktion erstellt (siehe Forum), dann könnte man dieses dann doch machen.
Nur muß man dann halt aufpassen, denn die Textfunktion von Delphi nuten einen interen Cache, welcher dann leicht durcheinanderkommen kann.
Das Selbe gilt für Dateien über 2 GB Größe ... die Delphifunktionen arbeiten mit 'nem Integer, welcher auf 2 GB begrentz ist, so sind nicht alle Funktionen für über 2 GB nutzbar, es sei denn mann kümmert sich selber drum
Aber damit dein Code "ganz" Sicher läuft, kommst du eigentlich besser, wenn du die Standartfunktionen nutzt und dich dann bis zur entsprechenden Stelle durchließt.
http://www.delphipraxis.net/internal...highlight=seek
alternativ könnte man es auch noch so machen (allerdings dann noch ein paar Sicherheitsabfragen mit einbauen ... so sollte es nur gehn, wenn die gewünschte Zeile 100%ig existiert)
http://www.delphipraxis.net/internal...tial%2A#695457
Delphi-Quellcode:
Var PT: TPartialTextfile;
i: Int64;
S: String;
PT := TPartialTextfile.Create;
PT.Open('Test_.pas');
i := PT.GetLineStart(100);
PT.LoadPart(i, 1);
S := PT.Part[0];
PT.Free;
// S = die Zeile welche gleich nach Position 100 beginnt