![]() |
Ini.ReadSectionValues mit mehreren gleichen Names
Hallo,
folgende Ausgangssituation: Ich hab eine INI-Datei, in der Definitionen für eine Oberfläche stehen (so grob gesagt). Dabei schaut eine Section beispielhaft wie folgt aus:
Code:
Wie man sieht hab ich mehrere gleiche Names (was für mich ok ist).
[Input]
ID_INPUT_Eingabe10={Left=180;Top=35;TextColor=255,255,0;BackgroundColor=200,200,200;Height=45;Width=100} ID_INPUT_Eingabe11={Left=180;Top=100;TextColor=0,0,0;BackgroundColor=255,225,200;Height=45;Width=100} ID_INPUT_Eingabe10={Left=0;Top=0;TextColor=255,255,0;BackgroundColor=200,200,200;Height=45;Width=50} Mit
Delphi-Quellcode:
les ich den Inhalt von "Input" ein.
Ini.ReadSectionValues
Nach dem Einlesen hab ich zwar in der StringList die gleiche Names, nur bei dem letzten "ID_INPUT_Eingabe10" den Wert (Value) vom ersten Eintrag. Schau ich mir den Code hinter "ReadSectionValues" an, so ist das klar, da in ReadSection nach dem Namen gesucht wird und dieser ist schon an erster Stelle vorhanden.
Delphi-Quellcode:
Wie kann ich den gesamten "Inhalt" der Section auslesen? - so, wie es in der Section auch steht (trotz gleicher Names)?
procedure TIniFile.ReadSectionValues(const Section: string; Strings: TStrings);
var KeyList: TStringList; I: Integer; begin KeyList := TStringList.Create; try ReadSection(Section, KeyList); Strings.BeginUpdate; try Strings.Clear; for I := 0 to KeyList.Count - 1 do Strings.Add(KeyList[I] + '=' + ReadString(Section, KeyList[I], '')) finally Strings.EndUpdate; end; finally KeyList.Free; end; end; |
AW: Ini.ReadSectionValues mit mehreren gleichen Names
Ich behaupte: mit TIniFile gar nicht. Innerhalb einer Section sollen die Keys eindeutig sein, sind sie das nicht, kommt es zu dem von Dir geschilderten Phänomen. Du wirst Dir also selbst etwas schreiben müssen, das die Werte zu einem Schlüssel dann nicht als Einzelwert, sondern als Wertliste einliest.
|
AW: Ini.ReadSectionValues mit mehreren gleichen Names
Zitat:
IniFiles macht es ja eigentlich erstmal richtig, jedenfalls bei den Names, nur bei den Values geht's schief. [Edit] Ich hab jetzt MemIniFile ausprobiert und dort funktioniert es so, wie ich es brauche |
AW: Ini.ReadSectionValues mit mehreren gleichen Names
Zitat:
Dann ist die Handhabung von TMemIniFile und IniFile quasi gleich. |
AW: Ini.ReadSectionValues mit mehreren gleichen Names
Zitat:
|
AW: Ini.ReadSectionValues mit mehreren gleichen Names
Zitat:
|
AW: Ini.ReadSectionValues mit mehreren gleichen Names
Zitat:
|
AW: Ini.ReadSectionValues mit mehreren gleichen Names
Zitat:
Aber keine Sorge, das passiert eh nicht. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:12 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