[Code] [Delphi] Bestimme Zeilen einer Textdatei auslesen

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Prrovoss, 6. Februar 2012 .

  1. 6. Februar 2012
    [Delphi] Bestimme Zeilen einer Textdatei auslesen

    hi,
    ich hab eine textdatei die automatisch mehrmals die minute aktualisiert wird. dabei werden jedes mal einfach ein paar zeilen angehängt.

    jetzt wollte ich mir ein programm schreiben, dass alle paar sekunden checkt ob neue lines dazugekommen sind und diese dann zb in ein memo schreibt.

    natürlich könnte ihc einfach per timer die gesamte textdatei mit memo1.loadFromFile in das memo laden. allerdings wird die textdatei mit der zeit durchaus mehrere MB groß. es wäre also extrem aufwendig, alle paar sekunden die gesamte datei einlesen zu lassen.

    meine idee also war, alle paar sekunden nur die letzten zeilen der datei einzulesen und zu ckecken, welche davon schon in dem memo steht und ab dieser line alle folgenden in das memo zu laden. (das ganze sollte ungefähr in einem intervall von 5 sekunden passieren. in diesem zeitraum werden aber auf keinen fall mehr als vllt 20 zeilen dazukommen)

    meine frage also^^:
    gibt es eine möglichkeit zeilen in einer textdatei direkt anzusprechen?
     
  2. 6. Februar 2012
    AW: [Delphi] Bestimme Zeilen einer Textdatei auslesen

    Ich hab zwar eine Idee aber ich weiß nicht ob sich das so umsetzen lässt in Delphi.

    Man nimmt Try setzt darin ein Readline (Delphi glaub ich readln) wenn Readline erfolgreich ist dann Text ins Memo (oder wohin du willst) schleife wiederholen wenn Try nicht erfolgreich wait 5 sek und schleife wiederholen.

    also irgendwie so
    Code:
    do
    try
     readline
     memo=memo+readline
    except
     wait 5
    loop
     
  3. 6. Februar 2012
    AW: [Delphi] Bestimme Zeilen einer Textdatei auslesen


    nope, die idee ist nicht schlecht aber so wie ich das sehe, wird das nix.
    solange die datei von delphi noch geöffnet is, kann kein anderes programm darauf zugreifen.
    also wird die datei nichmehr aktualisiert, da es ja eine dauerschleife is^^

    edit
    habe es jetzt mit einer stringlist und einem timer gelöst^^
     
  4. 6. Februar 2012
    AW: [Delphi] Bestimme Zeilen einer Textdatei auslesen

    Na das ist wohl die einfachste Methode, dabei wird die Datei vermutlich auch vollständig eingelesen und während dieser Prozedur zeitweiße gesperrt.

    Schau dir mal FileOpen mit dem Parameter fmShareDenyNone mal an.

    Mfg Rushh0ur
     
  5. 7. Februar 2012
    AW: [Delphi] Bestimme Zeilen einer Textdatei auslesen

    ja, davon gehe ich auch aus (habe bei der stringlist auch keine möglichkeit gefunden, die datei nur partiell einzulesen). bis jetzt war die datei ca 0.5 mb groß und der zugriff hat nur wenige millisekunden gedauert.
    also noch nicht so gravierend wenn man eine line verloren geht ist das auch nicht weiter tragisch^^

    FileOpen werd ich mir mal genauer ansehen danke
     
  6. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.