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 Text in TIniFile speichern (https://www.delphipraxis.net/43253-text-tinifile-speichern.html)

Niels 31. Mär 2005 13:33


Text in TIniFile speichern
 
Hallo,
ich möchte den Inhalt eines Memos in einer Ini-Datei speichern. Würde nur ungern einen anderen Dateityp wählen, weil ich auch viele andere Informationen des Programms darin speichere. Das Speichern funktioniert auch, beim Auslesen wird allerdings nur das erste Wort des Textes angezeigt. Ist es irgendwie möglich trotzdem den gesamten Text wieder auszulesen oder muss ich eine TCustomFile benutzen?

MfG Niels

sakura 31. Mär 2005 13:34

Re: Text in TIniFile speichern
 
Da Texte Zeilenumbrüche enthalten können, kannst Du diese nicht in INI-Files abspeichern. In einer IniFile definiert eine Zeile einen Wert ;)

...:cat:...

gsh 31. Mär 2005 13:36

Re: Text in TIniFile speichern
 
du kannst beim Memo.text einen String vom ganzen Text bekommen. den brauchst du dann nur noch normal abspeichern. :zwinker:

Zu spät
@sakura aber es geht doch

sakura 31. Mär 2005 13:37

Re: Text in TIniFile speichern
 
Zitat:

Zitat von gsh
du kannst beim Memo.text einen String vom ganzen Text bekommen. den brauchst du dann nur noch normal abspeichern. :zwinker:

Zu spät
@sakura aber es geht doch

Der String enthält aber die von mir genannten Zeilenumbrüche und deswegen geht es ja nicht :roll:

...:cat:...

P.S.: Aber Du könntest mal Memo1.Lines.CommaText versuchen :)

gsh 31. Mär 2005 13:40

Re: Text in TIniFile speichern
 
Aber mann bekommt doch bei Memo.text einen String den hat man danach wieder bei Meo.text rein und man hat wieder den gesamten text mit zeilumbrüchen

sakura 31. Mär 2005 13:41

Re: Text in TIniFile speichern
 
Zitat:

Zitat von gsh
Aber mann bekommt doch bei Memo.text einen String den hat man danach wieder bei Meo.text rein und man hat wieder den gesamten text mit zeilumbrüchen

Dieser String enthält die Zeilenumbrüche, korrekt. Wenn man diesen String samt Umbrüchen jetzt in einer INI-File speichert, dann beendet der erste Umbruch den Wert in der Ini-File und somit kann nicht mehr der gesamte Text des Memo rekonstruiert werden...

...:cat:...

Orbmu2k 31. Mär 2005 13:52

Re: Text in TIniFile speichern
 
Man könnte entweder die Zeilenumbrüche in "normale" Zeichen kovertieren und beim laden wieder in Zeilenumbrüche machen oder du speicherst den Text Zeile für Zeile->

Delphi-Quellcode:

//Speichern

for i := 0 to Pred(Memo1.Lines.Count) do
  ini.WriteString('Memo1','Line'+IntToStr(i),Memo1.Lines[i]);

//Laden

Memo1.Clear;
i:=0;
while ini.ValueExists('Memo1','Line'+IntToStr(i)) do
begin
  Memo1.Lines.Add(ini.ReadString('Memo1','Line'+IntToStr(i),''));  
  Inc(i);
end;

3_of_8 31. Mär 2005 13:57

Re: Text in TIniFile speichern
 
Nimm halt einfach memo1.savetofile.

Und wenns gar nicht anders geht, probier folgendes:

Delphi-Quellcode:
for I:=0 to memo1.lines.count-1 do
ini.writestring('Memotext','Zeile'+inttostr(I),memo.lines.strings[I]);
Würde ich aber nicht empfehlen.

sakura 31. Mär 2005 14:04

Re: Text in TIniFile speichern
 
Ich zitiere mich nochmal:
Zitat:

Zitat von sakura
P.S.: Aber Du könntest mal Memo1.Lines.CommaText versuchen :)

Das sollte am einfachsten sein :zwinker:

...:cat:...

Orbmu2k 31. Mär 2005 14:09

Re: Text in TIniFile speichern
 
Zitat:

Zitat von sakura
Ich zitiere mich nochmal:
Zitat:

Zitat von sakura
P.S.: Aber Du könntest mal Memo1.Lines.CommaText versuchen :)

Das sollte am einfachsten sein :zwinker:

...:cat:...

Ich glaube der String Pro Zeile ist in der Länge begrenzt irgendwann macht er dann doch ne Umbruch so bei 2048 Zeichen ... glaub ich zumindest :)

Der nächste Punkt ist das wenn der Benutzer im MemoText den Delimiter verwendet die Umbrüche auch nicht mehr stimmen :(


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:08 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