Hi,
du könntest es mittels
FindComponent und Ini-Dateien lösen.
In einer Schleife gehst du alle ComboBoxen durch und speicherst den ItemIndex in der Ini mittels
WriteInteger. Diese liest du beim Programmstart aus und weist diesen den ComboBoxen wieder mittels Schleife und FindComponent zu. Hierfür müssen die Namen der Komponenten aus dem gleichen String mit fortlaufender Nummer bestehen (Bsp: ComboBox1, ComboBox2, ...).
Hier nur ein Ansatz für's Speichern/Auslesen der ItemIndizes:
Delphi-Quellcode:
// Speichern
Ini := TIniFile.Create(...);
try
for i := 1 to Anzahl_der_ComboBoxen do
Ini.WriteString('Vorauswahl', 'CB' + IntToStr(i),
(FindComponent('ComboBox' + IntToStr(i) as TComboBox).ItemIndex);
finally
FreeAndNil(Ini);
end;
// Auslesen
Ini := TIniFile.Create(...);
try
for i := 1 to Anzahl_der_ComboBoxen do
(FindComponent('ComboBox' + IntToStr(i) as TComboBox).ItemIndex :=
Ini.ReadInteger('Vorauswahl', 'CB' + IntToStr(i), -1); // Bei -1 ist nichts vorausgewählt
finally
FreeAndNil(Ini);
end;
Mit den Edits geht das analog (alles ungetestet).