![]() |
Memo in ini ein- und auslesen
Hallo Leute,
bin derzeit leider erfolglos auf der Suche nach der Möglichkeit den Inhalt einer Memo, welcher über mehrere Zeilen geht, in eine INI ein- und auch wieder auszulesen. Mit dem Befehl "Form4.Memo1.Lines.DelimitedText" schreibt man zwar alles in die INI, jedoch splittet dieser Befehl die Sätze und schreibt quasi beim einlesen jedes neue Wort in eine neue Zeile. Ich möchte aber, dass er Text, nach dem Einlesen aus der INI, wieder so in der Memo erscheint wie ich diesen dort eingegeben hatte. Wäre super wenn mir jemand helfen könnte |
AW: Momo in ini ein- und auslesen
Normalerweise müsste das aber schon funktionieren :
Delphi-Quellcode:
Delimiter vorher setzen!
//speichern
ini.writestring('section', 'memo', memo1.lines.delimitedText); //laden memo1.lines.delimitedText := ini.Readstring('section', 'memo', ''); |
AW: Momo in ini ein- und auslesen
Ähm...genauso habe ich das gemacht, oben den befehl im text und genauso wie du es zeigt schreibe und lese ich. Klappt aber leider so nicht.
Wie gesagt so trennt er die Wörter und liest diese in einzelne Zeilen ein. |
AW: Momo in ini ein- und auslesen
Hast du einen eindeutigen Delimiter?
|
AW: Momo in ini ein- und auslesen
Wie kann ich den einen Zeilenumbruch als Delimiter einstellen?
|
AW: Momo in ini ein- und auslesen
#13 müsste gehen.
|
AW: Momo in ini ein- und auslesen
|
AW: Momo in ini ein- und auslesen
Wozu brauchst du denn DelimitedText?
Reicht nicht einfach Memo.Lines.LoadFromFile bzw. Memo.Lines.SaveToFile ? Frank |
AW: Momo in ini ein- und auslesen
Zitat:
|
AW: Momo in ini ein- und auslesen
Dann muss man sich aber die Frage stellen, wie sinnvoll es ist, den kompletten Inhalt eines Memos in eine Ini schreiben zu wollen.
|
AW: Momo in ini ein- und auslesen
Geht ja jetzt hier nicht um die Klärung des Sinnes.
Hat nun jemand eine Idee? |
AW: Momo in ini ein- und auslesen
Nochmal alles zusammenfassend:
Delphi-Quellcode:
Und das klappt immer noch nicht?
memo1.lines.Delimiter := #13;
memo1.lines.StrictDelimiter := True; //speichern ini.writestring('section', 'memo', memo1.lines.delimitedText); //laden memo1.lines.delimitedText := ini.Readstring('section', 'memo', ''); |
AW: Memo in ini ein- und auslesen
Ich war mal so frei und hab aus der Momo im Titel ein Memo gemacht. Ich hab mich schon ernsthaft gefragt, wieso man ein Buch in eine Ini-Datei schreiben wollen würde ;-)
|
AW: Memo in ini ein- und auslesen
[OT] Du stiehlst uns unsere Zeit :lol: [/OT]
|
AW: Memo in ini ein- und auslesen
:D Dann gib doch einfach mal eine Antwort die zur Lösung beiträgt.
Nun wird immer nur die erste Zeile eingelesen. |
AW: Momo in ini ein- und auslesen
Häufig werden mehrzeilige Texte so in einer Inidatei abgelegt:
Code:
[Memotext]
1=Das ist die 1. Zeile und 2=hier geht die Zweite Zeile weiter. Und weils so schön ist 3=kommt hier noch eine Zeile |
AW: Memo in ini ein- und auslesen
Oder man speichert den Text in eine eigene Datei und hinterlegt deren Pfad in der Ini.
|
AW: Memo in ini ein- und auslesen
Hallo,
wenn Du nur einen Wert aus der Ini-Datei ins Memo haben willst, dann ist delimitedText vollkommen überflüssig. Dieshier sollte dann ausreichen:
Delphi-Quellcode:
Wenn Du was anderes meinst, dann stelle hier bitte mal eine vollständige INI-Datei ein und beschreibe genau, welchen Teil daraus Du in das Memo einlesen und welchen Teil Du in die INI-Datei schreiben möchtest. So, wie es momentan aussieht, würde für die Erledigung Deiner Aufgabe auch ein TEdit ausreichen.
//speichern
ini.writestring('section', 'memo', memo1.lines.Text); //laden memo1.lines.Text := ini.Readstring('section', 'memo', ''); Sollte Dein Anliegen sein, einen beliebigen, mehrzeiligen Text aus einem Memo in eine Ini-Datei zu schreiben, so geht das nicht mit den zur Verfügung stehenden Methoden. Einen ganzen Bereich kannst Du zwar mit
Delphi-Quellcode:
lesen, aber es gibt keine (vorgefertigte) Methode, um dies zu schreiben. Hier könntest Du eventuell hergehen und zuerst den Bereich mit
ini.ReadSection('section', memo.lines);
Delphi-Quellcode:
löschen, müsstest dann aber die INI-Datei (z. B. mit einer Stringliste) vollständig lesen, dann den Text aus dem Memo dort anfügen und anschließend die vollständige INI-Datei schreiben. Das könnte ungefähr so aussehen:
ini.EraseSection('section');
Delphi-Quellcode:
(Das ist ungetestet dahingeschrieben.)
begin
ini.EraseSection('section'); sl := TStringlist.Create; sl.LoadFromFile(ini.Filename); sl.AddStrings(memo.Lines); sl.SaveToFile(ini.Filename); sl.Free; end; |
AW: Memo in ini ein- und auslesen
OKay, vielen Dank
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:17 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