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:
[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}
Wie man sieht hab ich mehrere gleiche Names (was für mich ok ist).
Mit
Ini.ReadSectionValues
les ich den Inhalt von "Input" ein.
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:
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;
Wie kann ich den gesamten "Inhalt" der Section auslesen? - so, wie es in der Section auch steht (trotz gleicher Names)?