Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Bestimmten Text unter eine bestimmte Zeile einer Textdatei (https://www.delphipraxis.net/151147-bestimmten-text-unter-eine-bestimmte-zeile-einer-textdatei.html)

Ghostleader 7. Mai 2010 13:13


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.

haentschman 7. Mai 2010 13:35

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:

DeddyH 7. Mai 2010 13:45

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:
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;
[/edit]

himitsu 7. Mai 2010 14:20

Re: Bestimmten Text unter eine bestimmte Zeile einer Textdat
 
Wenn es nur um das Auslesen und Ändern eines Teiles der Datei ginge, dann eventuell
http://www.delphipraxis.net/internal...=695262#695262

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.

haentschman 7. Mai 2010 14:34

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 ?

himitsu 7. Mai 2010 14:37

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:

DeddyH 7. Mai 2010 14:53

Re: Bestimmten Text unter eine bestimmte Zeile einer Textdat
 
Zitat:

Zitat von Ghostleader
..., wie man einen Text aus einem Memo genau unter ein bestimmte Zeile
einer Textdatei speichern/einfügen kann.

Klingt für mich doch ziemlich eindeutig.

Ghostleader 7. Mai 2010 15:28

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 :)

DeddyH 7. Mai 2010 15:38

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 Delphi-Referenz durchsuchenTStrings.Insert nachlesen.

Ghostleader 7. Mai 2010 16:31

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 23:09 Uhr.
Seite 1 von 2  1 2      

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