Hallo,
mit den angehängten Proceduren speichere und lade ich den Inhalt einer
ListView.
Das geht ja auch.
Mit den folgenden Codes speichere ich den Zustand der einzelnen Checkboxen der
ListView.
CheckBoxen
speichern:
Code:
//CheckBoxen
Anzahl := ListView_Dateien.Items.Count;
S := '';
for i := 0 to Anzahl - 1 do
begin
S := S + BoolToStr(ListView_Dateien.Items.Item[i].Checked) + Trennzeichen;
end;
WriteString('ListView', 'CheckBoxen', S);
CheckBoxen laden:
Code:
//CheckBoxen
S := ReadString('ListView', 'CheckBoxen', '');
Anzahl_Zeilen := ListView_Dateien.Items.Count;
Anzahl_Teiler := Length(S) - Length(StringReplace(S, Trennzeichen, '',
[rfReplaceAll])) div Length(Trennzeichen);
//Anzahl Zeilen prüfen
If Anzahl_Zeilen > Anzahl_Teiler then
Anzahl := Anzahl_Teiler
else
Anzahl := Anzahl_Zeilen;
Pos_Teiler := 1;
for i := 0 to Anzahl - 1 do
begin
ListView_Dateien.Items.Item[i].Checked := StrToBool(
copy(S, Pos_Teiler, PosEx(Trennzeichen, S, Pos_Teiler) - Pos_Teiler));
Pos_Teiler := PosEx(Trennzeichen, S, Pos_Teiler) + 1;
end;
Durch diese Lösung kann es vorkommen, dass beim Austausch der Datei in der die
ListView gespeichert wurde, die Anzahl der "angeklickten" Checkboxen nicht zu der Anzahl der ListView-Zeilen zusammenpassen.
Jetzt (endlich) meine Frage:
Wie kann ich den Inhalt der
ListView mit den Checkboxen (und deren Zustand) in einer Datei
speichern bzw. laden?
mfg
Helmi