Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi An Anfang der Datei springen(Textfile) (https://www.delphipraxis.net/111873-anfang-der-datei-springen-textfile.html)

gutz 10. Apr 2008 22:01


An Anfang der Datei springen(Textfile)
 
Hi!

Ich hätte da mal ne kurze frage:
Ist es irgendwie möglich bei einer Textfile datei irgendwie an den Anfang zu springen und da ein Wert zu schreiben? Mit Reset gehts ja irgendwie nicht. Würd vielleicht irgendwie Append gehen mit "an den Anfang springen" :-)?!? Oder wüsste jemand wie ich die letzten wert bei einer textfile auslesen könnte (letzte zeile, danach eof).

mfg
gutz

wido 10. Apr 2008 22:11

Re: An Anfang der Datei springen(Textfile)
 
1. TEXTFILE ist böse. Wenn Du ernsthaft mit Textdateien arbeiten willst, benutz TStringList.
2. seek

everdream 10. Apr 2008 22:46

Re: An Anfang der Datei springen(Textfile)
 
Musst du die Textfile unbedingt benutzen? Wenn nicht, könntest du ja kurz dein aktuelles Projekt schildern und die Aufgabe der *.txt darin erklären.

marabu 11. Apr 2008 09:50

Re: An Anfang der Datei springen(Textfile)
 
Hallo gutz,

Textdateien werden wegen ihrer variablen Struktur in der Regel nur sequentiell verarbeitet.

Je nach Größe einer Textdatei liest man nur die gewünschten Zeilen ein

Delphi-Quellcode:
// this space intentionally left blank
oder man liest alle Zeilen und verwirft die ungewollten später.

Delphi-Quellcode:
procedure ReadLines(const fn: TFileName; s: TStrings; count: Integer);
begin
  s.BeginUpdate;
  try
    if count = 0
      then s.Clear
      else s.LoadFromFile(fn);
    if count < 0 then
      while s.Count > count do
        s.Delete(0);
    if count > 0 then
      while s.Count > count do
        s.Delete(count);
  finally
    s.EndUpdate;
  end;
end;
Getippt und nicht getestet.

Grüße vom marabu

gutz 11. Apr 2008 13:19

Re: An Anfang der Datei springen(Textfile)
 
Hallo!

Danke für eure Antworten. Einen bestimmten Grund für die Textfile gibt es nicht, hatte immer wenig zu speichern bzw. zu laden und mit Textfile konnte ich's ziemlich schnell machen. War nur diesmal eine Ausnahme, wo ich einen Wert vor dem laden brauchte, der aber erst nach dem (letzten) speichern feststand(gespeichert wurde mit append). Ich denke ich werde es dann mal mit TString versuchen ... hat wohl mehr möglichkeiten. Danke trotzdem marabu für den code.

mfg
gutz

Blackheart 11. Apr 2008 13:23

Re: An Anfang der Datei springen(Textfile)
 
Vieleicht solltest du dir mal Ini anschauen damit geht das um einiges leichter.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:52 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz