Wie kann ich direkt nur den indexwert speichern? in der listbox sind unterschiedlich lange inhalte von rechner zu rechner unterschiedlich.
MfG
Wie gesagt, das macht dann Sinn wenn sich am Inhalt der ListBox nichts ändert.
Das Speichern ist relativ einfach, denn hier kann eigentlich kein Fehler vorkommen. Also einfach ItemIndex speichern.
Delphi-Quellcode:
var
Ini: TIniFile;
begin
Ini := TIniFile.Create(ChangeFileExt(ParamStr(0), '.ini'));
try
Ini.WriteInteger('Section', 'Ident', ListBox1.ItemIndex);
finally
Ini.Free;
end;
end;
Das Laden ist etwas komplexer, denn hier kann ein Fehler vorkommen. Also den Wert zuerst zwischenspeichern, prüfen und erst dann zuweisen.
Delphi-Quellcode:
var
Ini: TIniFile;
i: Integer;
begin
Ini := TIniFile.Create(ChangeFileExt(ParamStr(0), '.ini'));
try
//ListBox1.ItemIndex := -1;
i := Ini.ReadInteger('Section', 'Ident', ListBox1.ItemIndex);
if (i > -1) and (i < ListBox1.Items.Count) then
ListBox1.ItemIndex := i;
finally
Ini.Free;
end;
end;