AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Ini: Mehrzeilige Texte

Ein Thema von CalganX · begonnen am 11. Aug 2002 · letzter Beitrag vom 11. Aug 2002
Antwort Antwort
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#1

Ini: Mehrzeilige Texte

  Alt 11. Aug 2002, 14:49
Hi,
mal eine Frage: wie kann ich es realisieren mehrzeilige Texte in die Ini zu schreiben (zum Beispiel den Text einer Memo).

Eine Möglichkeit wäre es so zu machen:
Code:
[section]
rowcount = 2
row1 = Dies ist ein Text
row2 = Dies ist ein weiterer Text
Oder eine weitere Möglichkeit wäre auch, die Zeilen-Umbrüche durch Zeichen ersetzen (also #13 durch \ und #10 durch n; daraus folgt: #13#10 = \n)

Aber was ist die beste, da es ehrlich gesagt sehr umständlich ist die zuvor genannten Methoden umzusetzen, gerade bei längeren Texten.

Chris
  Mit Zitat antworten Zitat
Daniel B
(Gast)

n/a Beiträge
 
#2
  Alt 11. Aug 2002, 15:00


wenn du sooo lange Texte hast, dann solltest du aufpassen, den die normale INI geht nur bis 64KB. Wenn es mehr sein soll, dann brauchst du TBigIniFile oder TMemIniFile.
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#3
  Alt 11. Aug 2002, 15:07
Ok, danke für den Tipp.
Ich vermute, dass Handling ist gleich, oder?
Gibt es vielleicht in einer der beiden Types zufälligerweise die Proz. WriteStrings?

Chris
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#4
  Alt 11. Aug 2002, 15:08
Moin Chris,

also so aufwändig finde ich das nicht.
Mal kurz umrissen:

Code:
  [color=#000080]// Schreiben[/color]
  ini.EraseSection('Section');
  ini.WriteInteger('Section','rowcount',Memo1.Lines.Count);
  [b]for[/b] i := 0 [b]to[/b] Memo1.Lines.Count-1 [b]do[/b]
  [b]begin[/b]
    ini.WriteString('Section','row'+IntToStr(i+1),Memo1.Lines[i]);
  [b]end[/b];

  [color=#000080]// Lesen[/color]
  Memo1.Lines.Clear;
  iCount := ini.ReadInteger('Section','rowcount',0);
  [b]for[/b] i := 1 [b]to[/b] iCount [b]do[/b]
  [b]begin[/b]
    Memo1.Lines.Add(ini.ReadString('Section','row'+IntToStr(i),''));
  [b]end[/b];
Ist zwar ungetestet, sollte soweit aber stimmen.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#5
  Alt 11. Aug 2002, 15:11
Moin Chris,

noch ein kleiner Nachtrag:
Auslesen ginge auch mit ReadSectionValues.
Dann kannst Du in einem Rutsch alles in der Section einlesen.
Nachteil:
Er würde auch den Rowcount mitnehmen, die Zeile müsste dann entweder gelöscht, oder in einer anderen Section untergebracht werden, die nur die Zeilenzähler enthält.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#6
  Alt 11. Aug 2002, 15:20
Habe jetzt die Methode mit #13#10 durch \n ersetzen genommen ist kürzer und bedarf weniger Anderungen des Source.

Chris
  Mit Zitat antworten Zitat
Daniel B
(Gast)

n/a Beiträge
 
#7
  Alt 11. Aug 2002, 21:55
Zitat von Chris1308:
Ich vermute, dass Handling ist gleich, oder?
Die TBigInifile ist gleich, nur das sie halt grösser sein kann. Die TMemIniFile kenn ich auch nur vom hören und sagen. Aber ich denke das die auch gleich ist.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:28 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