![]() |
ListBox-/View mit Dateien und Verzeichnissen anzeigen
Das ist mein erster Beitrag also seid nicht böse mit mir, wenn ich irgendwelche Regeln nicht beachte.
Ich habe eine TForm mit einer Komponente namens TGtroCheckShellTreeView drauf. Das ist eine ListView mit allen Dateien und Verzeichnissen eines Root-Verzeichnisses XYZ. Ich kann alle Verzeichnisse und Dateien checken und unchecken. Die Komponente ist aber sau langsam wenn man das Programm startet! Außerdem weiß ich nicht wie ich gecheckte Einträge erneut checken kann, wenn ich sie vorher in einer Liste gespeichert habe. Kann ich die Komponente TGtroCheckShellTreeView durch etwas Besseres ersetzen wo ich auch Einträge anchecken kann? |
AW: ListBox-/View mit Dateien und Verzeichnissen anzeigen
Anchecken?
Du hast doch gesagt, dass die Auswahl per Checkbox möglich ist. Wo ist das Problem? |
AW: ListBox-/View mit Dateien und Verzeichnissen anzeigen
Genau, anchecken funktioniert.
Aber ich schaffe es nicht das nachher wieder auszulesen und erneut anzuchecken. Eine Textdatei mit den angecheckten relativen Pfaden existiert. Ich dachte halt, es gibt etwas Besseres, schnelleres, schöneres. Wenn nicht, ist das auch OK und ich muss nur wissen, wie ich die Items wieder anchecke die in der Textdatei mit relativem Pfad stehen. Durch die erste Ebene schaffe ich es aber weiter schaffe ich es nicht
Delphi-Quellcode:
procedure TForm11.Button3Click(Sender: TObject);
var i: Integer; begin for i := 0 to GtroCheckShellTreeView1.Items.Count - 1 do begin ShowMessage(GtroCheckShellTreeView1.Items[i].Text); // Nur zum Anzeigen/Test end; end; |
AW: ListBox-/View mit Dateien und Verzeichnissen anzeigen
Einträge in einer Schleife durchgehen. Die Komponente wird sie ja irgendwie in einer Liste zur Verfügung stellen. Gucken, ob der Eintrag gecheckt ist, es sollte eine entsprechende Eigenschaft geben, und dann eben die Auswahl aufheben.
Delphi-Quellcode:
if Item[i].Checked then Item[i].checked := false;
|
AW: ListBox-/View mit Dateien und Verzeichnissen anzeigen
Ich meinte eher, wie ich generell durch die Liste gehe.
Ich bin jetzt soweit, dass ich durch alle Items gehen kann:
Delphi-Quellcode:
Das würde eigentlich perfekt passen.
procedure TForm11.Button3Click(Sender: TObject);
var i: Integer; Node: TTreeNode; begin // ... Liste mit Dateinamen in StringList laden ... Node := GtroCheckShellTreeView1.Items[0].getFirstChild; while Assigned(Node) do begin ShowMessage(Node.Parent.Text + '\' + Node.Text); // Hier würde ich jetzt gucken, ob Node.Parent.Text + '\' + Node.Text in der StringList ist. Wenn ja => anchecken Node := Node.GetNext; end; Ist das OK so oder totaler Mumpitz? |
AW: ListBox-/View mit Dateien und Verzeichnissen anzeigen
Warum probierst du es nicht aus, ob es funktioniert?
|
AW: ListBox-/View mit Dateien und Verzeichnissen anzeigen
Es funktioniert natürlich, genau wie ich wollte. Ich dachte nur, es gibt da eine schönere Lösung.
|
AW: ListBox-/View mit Dateien und Verzeichnissen anzeigen
Es funktioniert doch nicht so wie ich erhofft habe :(
Die Ordnberstruktur ist - test -- test\1 --- test\2 ---- test\2\3.dll --- test\2\2.dll -- test\1.dll Verzeichnis test beinhaltet Ordner 1 und Datei 1. Verzeichnis 1 beinhaltet Ordner 2 und Datei 2. Verzeichnis 2 beinhaltet Datei 3. Meine oben geschriebene while-Schleife guckt leider nur in test nach und geht nicht in die Unterverzeichnisse. Jetzt bin ich mit meinem Latein leider am Ende. |
AW: ListBox-/View mit Dateien und Verzeichnissen anzeigen
Stichwort Rekursion.
|
AW: ListBox-/View mit Dateien und Verzeichnissen anzeigen
Genau das habe ich befürchtet. Seitdem der erste Beitrag existiert suche ich nach Lösungen aber ich scheine zu dumm dafür zu sein.
Denkst du, du kannst mir helfen? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:52 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