Hast Du richtig verstanden - man muß immer den genauen Namen mit angeben. Das bekommst Du mit einer Zeile ReadString in einer Ini also so nicht hin. Ich baue mir für solche Fälle immer einen Count in die Sektion mit ein und der enthält die Anzahl die ich lesen muss. Sieht dann in der Ini z.B. so aus
Code:
[Abschnitt]
Count=3
Wert1=abc
Wert2=def
Wert3=ghi
Man muss dazu dann den Count auswerten und sich in einer Schleife die Werte holen
ReadString('Abschnitt', 'Wert'+IntToStr(i), '');
Und noch zu dem Free - er kommt bei Dir nicht in jedem Fall dorthin, obwohl Du die ini jedesmal am Anfang erzeugst. Besser wäre es so:
Delphi-Quellcode:
ini:= TIniFile.create(ExtractFilePath(ParamStr(0))+ 'Settings.ini');
try
if edtWriter.Text <> '' then
begin
ComboBox1.Items.Add(edtWriter.Text);
ini.WriteString('Verfasser','Name',edtWriter.Text);
end;
finally
ini.free;
end;