![]() |
Mehrzeiligen Text in Ini speichern
Hallo,
wie kann man einen Mehrzeiligentext (aus einem TMemo Feld) in eine Ini Datei speichern und anschließend wieder auslesen? |
Re: Mehrzeiligen Text in Ini speichern
Speicher doch die Anzahl deiner Zeilen, und dann Zeile für Zeile ab:
Delphi-Quellcode:
ZeilenAnzahl := Memo1.Lines.Count
ErsteZeile := Memo1.Lines.Strings[0]; |
Re: Mehrzeiligen Text in Ini speichern
Zitat:
Ich würde für den Memo-Inhalt eine eigene Sektion anlegen und dort die einzelnen Zeilen speichern. Einlesen lässt es sich dann mit "ReadSection" (Anzahl und Namen der Einträge ermitteln), und damit ist man vor Schabernack zumindest technisch geschützt. "zumindest technisch" heißt, natürlich kann jemand ganze Zeilen löschen. Allerdings ist man von einem Wert für die Anzahl unabhängig und liest damit nur die tatsächlich vorhandenen Einträge ein. |
Re: Mehrzeiligen Text in Ini speichern
Zitat:
@MathiasSimmack Danke, werde es mal ausprobieren. |
Re: Mehrzeiligen Text in Ini speichern
So gehts mit einer Ini-Datei:
Delphi-Quellcode:
files := tinifile.Create('C:\test.ini');
files.Writeinteger('Text','lines',memo1.lines.count-1); // Anzahl Zeilen for i := 0 to (memo1.Lines.Count-1) do files.WriteString('Text','Zeile'+inttostr(i),memo1.Lines.Strings[i]); files.Free; Beim Auslesen natürlich einfach das Memo mit einer Schleife füllen:
Delphi-Quellcode:
memo1.Lines.Clear;
files := tinifile.Create('C:\test.ini'); for i := 0 to files.ReadInteger('Text','lines',-1) do // Memo füllen begin Memo1.Lines.Add( files.readstring('Text','Zeile'+inttostr(i),'-')); end; files.free; |
Re: Mehrzeiligen Text in Ini speichern
Danke, es klappt. :thuimb:
|
Re: Mehrzeiligen Text in Ini speichern
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo alle zusammen,
so wäre es auch elegant gegangen ... Lesen:
Delphi-Quellcode:
Schreiben:
Memo1.Lines.CommaText := IniFile.ReadString('Memo', 'Commatext', '');
Delphi-Quellcode:
bye
IniFile.WriteString('Memo', 'Commatext', Memo1.Lines.CommaText);
Claus |
Re: Mehrzeiligen Text in Ini speichern
Zitat:
Werde dann das nehmen. --- Edit --- So kann man aber keinen vernüftigen text speichern. Beispiel: Hallo Citybreaker, wie gehts. Ausgabe nach dem öffnen: Hallo Citybreaker , wie gehts |
Re: Mehrzeiligen Text in Ini speichern
Zitat:
Zitat:
Dann würde ich doch empfehlen, die eingebaute Memo-Speicherfunktion "SaveToFile" und ihr Gegenstück "LoadToFile" zu benutzen. Das ist dann zwar keine INI-Datei, aber man könnte ja in die INI eine Referenz auf die vom Memo erzeugte Datei schreiben und diese dann auch im selben Ordner ablegen. |
Re: Mehrzeiligen Text in Ini speichern
Hallo citybreaker,
ich glaube, da hast Du Recht. Ich habe es auf die schnelle mit einfachen Texten (siehe Beispiel) probiert. Also bleibt nur Methode 1. bye Claus [Edit]habe nochmal nachgeschaut, für diese Zwecke ist ist CommaText ein Flop, SORRY[/Edit] |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:27 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