Einzelnen Beitrag anzeigen

Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#5

Re: Restliche Zeilen aus HTML Datei nach </table> lösc

  Alt 10. Nov 2005, 08:45
Hi,
ich würde dir davon abraten es mittels AssignFile und readln zu machen. Du wirst letztlich (wie marabu schon sagte) nicht einfach alles hinter einem Tag löschen dürfen. Insbesondere die schließenden Tags mindestens </html> sollten nicht einfach gelöscht werden. Aber auch ein </table> gehört zu einem <table> und sollte damit nicht einfach aus der Datei fliegen. Sonst hast du dort gleich dein nächstes Problem.

Für das Laden einer Datei zwischenspeichern aller Zeilen solltest du lieber auf eine TStringList (oder THashedStringList) zurückgreifen. Da gibt es den Befehl LoadFromFile und die liest alle Zeilen in eine Liste von Strings. Das Verlängern von dyn. Arrays um 1 ist immer so eine Sache und ich glaube du gibst den Speicher danach auch nicht wieder frei. Nicht wirklich schön. Mit einer TStringList kannst du jedenfalls alle Zeilen einlesen und einzeln durchgehen.
Ab der Zeile in der du </table> findest, solltest du dir gut überlegen was du löschen darfst und was nicht. Parser (wieder mal wie marabu schon sagte) wäre eine Idee, alternativ müsstest du dir merken, welche Tags du gerade öffnend liest und darst den Ihnalt einschließlich des schließenden Tags löschen, aber eben nur bei denen. Andere Tags, die schon vor </table> geöffnet wurden müssen natürlich weiterhin geschlossen werden. Zudem würde dein Programm nicht berücksichtigen, was passiert wenn du ein Tag </table></html> (als Beispiel) hast. Denn HTML-Tags können auch beliebig nebeneinander (ohne Zeilenumbruch) geschrieben werden.

Gruß Der Unwissende
  Mit Zitat antworten Zitat