Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Memo in ini ein- und auslesen (https://www.delphipraxis.net/175365-memo-ini-ein-und-auslesen.html)

Beginner2013 17. Jun 2013 06:24


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

baumina 17. Jun 2013 06:48

AW: Momo in ini ein- und auslesen
 
Normalerweise müsste das aber schon funktionieren :

Delphi-Quellcode:
//speichern
ini.writestring('section', 'memo', memo1.lines.delimitedText);

//laden
memo1.lines.delimitedText := ini.Readstring('section', 'memo', '');
Delimiter vorher setzen!

Beginner2013 17. Jun 2013 06:51

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.

baumina 17. Jun 2013 06:58

AW: Momo in ini ein- und auslesen
 
Hast du einen eindeutigen Delimiter?

Beginner2013 17. Jun 2013 07:04

AW: Momo in ini ein- und auslesen
 
Wie kann ich den einen Zeilenumbruch als Delimiter einstellen?

baumina 17. Jun 2013 07:08

AW: Momo in ini ein- und auslesen
 
#13 müsste gehen.

Sir Rufo 17. Jun 2013 07:18

AW: Momo in ini ein- und auslesen
 
Wichtig ist es auch

Delphi-Referenz durchsuchenTStrings.StrictDelimiter auf True

zu setzen ;)

dataspider 17. Jun 2013 07:20

AW: Momo in ini ein- und auslesen
 
Wozu brauchst du denn DelimitedText?

Reicht nicht einfach Memo.Lines.LoadFromFile bzw. Memo.Lines.SaveToFile ?

Frank

baumina 17. Jun 2013 07:31

AW: Momo in ini ein- und auslesen
 
Zitat:

Zitat von dataspider (Beitrag 1218750)
Wozu brauchst du denn DelimitedText?

Reicht nicht einfach Memo.Lines.LoadFromFile bzw. Memo.Lines.SaveToFile ?

Frank

Nicht, wenns in einer INI-Datei ist, in der noch andere Sachen drin stehen.

DeddyH 17. Jun 2013 07:34

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.

Beginner2013 17. Jun 2013 08:08

AW: Momo in ini ein- und auslesen
 
Geht ja jetzt hier nicht um die Klärung des Sinnes.
Hat nun jemand eine Idee?

baumina 17. Jun 2013 08:11

AW: Momo in ini ein- und auslesen
 
Nochmal alles zusammenfassend:

Delphi-Quellcode:
memo1.lines.Delimiter := #13;
memo1.lines.StrictDelimiter := True;

//speichern
ini.writestring('section', 'memo', memo1.lines.delimitedText);

//laden
memo1.lines.delimitedText := ini.Readstring('section', 'memo', '');
Und das klappt immer noch nicht?

Phoenix 17. Jun 2013 08:19

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

DeddyH 17. Jun 2013 08:24

AW: Memo in ini ein- und auslesen
 
[OT] Du stiehlst uns unsere Zeit :lol: [/OT]

Beginner2013 17. Jun 2013 08:32

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.

sx2008 17. Jun 2013 08:44

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

DeddyH 17. Jun 2013 08:57

AW: Memo in ini ein- und auslesen
 
Oder man speichert den Text in eine eigene Datei und hinterlegt deren Pfad in der Ini.

nahpets 17. Jun 2013 09:12

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:
//speichern
ini.writestring('section', 'memo', memo1.lines.Text);

//laden
memo1.lines.Text := ini.Readstring('section', 'memo', '');
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.

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:
ini.ReadSection('section', memo.lines);
lesen, aber es gibt keine (vorgefertigte) Methode, um dies zu schreiben. Hier könntest Du eventuell hergehen und zuerst den Bereich mit
Delphi-Quellcode:
ini.EraseSection('section');
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:
Delphi-Quellcode:
begin
  ini.EraseSection('section');
  sl := TStringlist.Create;
  sl.LoadFromFile(ini.Filename);
  sl.AddStrings(memo.Lines);
  sl.SaveToFile(ini.Filename);
  sl.Free;
end;
(Das ist ungetestet dahingeschrieben.)

Beginner2013 17. Jun 2013 10:18

AW: Memo in ini ein- und auslesen
 
OKay, vielen Dank


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:34 Uhr.

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