AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Wie Dateizeiger auf bestimmte Position in Textdatei setzen?
Thema durchsuchen
Ansicht
Themen-Optionen

Wie Dateizeiger auf bestimmte Position in Textdatei setzen?

Ein Thema von mo_greene · begonnen am 1. Apr 2007 · letzter Beitrag vom 2. Apr 2007
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.398 Beiträge
 
Delphi 12 Athens
 
#1

Re: Wie Dateizeiger auf bestimmte Position in Textdatei setz

  Alt 2. Apr 2007, 10:39
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
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz