Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi ListView speichern/laden mit Checkboxen (https://www.delphipraxis.net/36676-listview-speichern-laden-mit-checkboxen.html)

Helmi 23. Dez 2004 13:12


ListView speichern/laden mit Checkboxen
 
Liste der Anhänge anzeigen (Anzahl: 1)
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


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:43 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz