![]() |
Bestimmten Text unter eine bestimmte Zeile einer Textdatei
Meine Frage ist, wie man einen Text aus einem Memo genau unter ein bestimmte Zeile
einer Textdatei speichern/einfügen kann. Inhalt der Zeile und Text aus dem Memo sind natürlich bekannt. Gibt es eine Funktion, mit der man eine Textdatei nach einer Zeile durchsuchen kann und unter diese einen bestimmten Text speichern kann. |
Re: Bestimmten Text unter eine bestimmte Zeile einer Textdat
Guten Morgen... :zwinker:
das wirst du wohl nur über Umwege lösen können. - den Text ab der betreffenden Zeile kopieren ( in Stringlist z.B.) und dann entfernen. - die betreffende Zeile ans Memo anhängen und den Text zurückkopieren. performanter dürfte aber die "Vorbereitung" des Textes in einer Stringlist sein und den kompletten Text dem Memo zuordnen. :hi: |
Re: Bestimmten Text unter eine bestimmte Zeile einer Textdat
Wieso nicht einfach Memo.Text per Insert in die Stringliste einfügen?
[edit] Gerade ausprobiert, tut.
Delphi-Quellcode:
[/edit]
var sl: TStringlist;
begin sl := TStringlist.Create; try sl.LoadFromFile(Filename); sl.Insert(1,TrimRight(Memo1.Text)); sl.SaveToFile(Filename); finally sl.Free; end; end; |
Re: Bestimmten Text unter eine bestimmte Zeile einer Textdat
Wenn es nur um das Auslesen und Ändern eines Teiles der Datei ginge, dann eventuell
![]() Aber wenn die geänderte Datei dann eh komplett in ein Memo rein soll, dann entweder direkt alles im Memo machen oder wenn viele Zeilen "schnell" eingefügt/gelöscht/geändert werden sollen, dann die Änderungen in einer TStringList machen und danach alles an das Memo übergeben. |
Re: Bestimmten Text unter eine bestimmte Zeile einer Textdat
ähmmm... :gruebel:
er möchte doch in den Memo Text was mittenreinfügen ... oder interpretiere ich das falsch ? |
Re: Bestimmten Text unter eine bestimmte Zeile einer Textdat
Hatte verstanden er will was in der Datei einfügen und es auch noch angezeigt haben :gruebel:
|
Re: Bestimmten Text unter eine bestimmte Zeile einer Textdat
Zitat:
|
Re: Bestimmten Text unter eine bestimmte Zeile einer Textdat
Also...
Danke für die vielen schnellen Rückmeldungen. Um es nocheinmal einfacher darzustellen (;D) erkläre ich nochmal mein Problem: Ich habe ein Memo (meLog) und eine Textdatei. Der Ort wo die Textdatei liegt und der Text (bzw. mindestens 1 Zeile) sind mir bekannt. (Ich benötige nur 1 Zeile) Anstatt die Textdatei zu öffnen und an einer bestimmten Stelle in sie hinein zu schreiben, möchte ich genau unter die mir bekannte Zeile den Text des Memofeldes (meLog) einfügen. Natürlich gibt es die Lösung einen Text innerhalb eines Memo zu bearbeiten und ich weiß natürlich auch wie das geht...aber das möchte ich ja gar nicht. Mein Ziel ist es, zb bei einer html-Datei, nicht die ganze Datei nach der richtigen Stelle durchsuchen zu müssen, sondern mit Delphi einen Text (kein Html-Code) genau an die richtige Stelle [unter die Zeile die ich kenne (-> Kann zb ein Kommentar sein)] einzufügen. @DeddyH: Könntest du mir die Zeile " sl.Insert(1,TrimRight(Memo1.Text)); " einmal erläutern? Meinst du mit der "1" in der Klammer die Zeile "1"? Das wäre schon ein großer Schritt zur Lösung :) |
Re: Bestimmten Text unter eine bestimmte Zeile einer Textdat
Meine Testdatei hatte 2 Zeilen, dazwischen wollte ich den Text des Memos unterbringen. Alles Weitere kanst Du in der Hilfe zu
![]() |
Re: Bestimmten Text unter eine bestimmte Zeile einer Textdat
Okay, der Index von TString bedeutet also immer dieselbe Zeile. Aber die mir bekannte Zeile verschiebt sich natürlich
jedes mal wenn die Datei geändert wird. Wenn ich eine Zeile hinzufüge, wird alles um 1 Zeile verschoben. Daher suche ich nach einer Lösung wie man einen Text unter eine Zeile einfügen kann. Ich denke es wäre sehr umständlich immer wieder die neue Position, den neuen Index der bekannten Zeile herauszufinden. Gibt es da eine andere Lösung? Danke, mfg Ghost |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:03 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