Auflistung aller Dateien Auf ein Verzeichnis Auf einem TListView
Ich Baue ein Programm, das muss auf Form_Create
füllen Sie ein TListView
genannt FileList
das Verzeichnis, das ich will, zu füllen ist, wo das kompilierte Programm ist + \Files
, wie ich noch nie verwendet, eine TListView
ich möchte wissen, wie dies zu tun?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es mehrere Teile zu Ihrer Frage. Werde ich ein übersicht hier. Wenn Sie Hilfe benötigen, auf einen bestimmten Schritt, bitte post ein spezifischer follow-up-Frage.
Bestimmen, was "wo das kompilierte Programm ist" verweist.
Erhalten Sie den vollständigen Pfad der EXE-Datei, rufen Sie
ParamStr(0)
. Zum entfernen der EXE-Dateiname von string, so haben Sie nur noch die directory-Teil, callExtractFilePath
. Stellen Sie sicher, es endet mit einem umgekehrten Schrägstrich (IncludeTrailingPathDelimiter
) und fügen Sie Ihrem "Files" - Verzeichnis.Erhalten eine Liste von Dateien.
Verwenden
FindFirst
undFindNext
eine Schleife zu erstellen, der schaut auf alle Dateien. Die Namen sind "." und ".." relative Verzeichnis-Namen, so möchten Sie vielleicht, um Sie auszuschließen. Beachten Sie, dass die Dateien nicht aufgelistet, die in einer bestimmten Reihenfolge. Wenn Sie brauchen Sie, alphabetisch sortiert, zum Beispiel, müssen Sie selbst erledigen. (Sie können erscheinen werden in alphabetischer Reihenfolge in Ihren tests, aber das wird nicht immer wahr sein.)Hinzufügen von Knoten zum Steuerelement zum darstellen der Dateien.
Möchten Sie vielleicht, dies zu tun in der hypothetischen
DoSomethingWithFile
Funktion, die ich oben erwähnt. Verwenden Sie die Listenansicht, dieElemente
Eigenschaft, Dinge zu tun, mit den Elementen, wie Sie neue hinzu.TListItem
zusätzliche Eigenschaften besitzt; überprüfen Sie die Dokumentation für details. DieUnterpunkte
Eigenschaft ist nützlich, wenn Sie zeigen in der Listenansicht im "report" - Modus, in dem es mehrere Spalten für einen einzelnen Knoten.Zuordnen von Bildern mit den Elementen.
Knoten' Bilder in einer Liste anzeigen kommen aus der zugehörigen Bild-Listen,
LargeImages
undSmallImages
. Sie beziehen sich auf eine oder mehrereTImageList
Komponenten auf Ihrem Formular. Legen Sie Ihre Icons da, und dann ordnen Sie die Elemente'ImageIndex
Eigenschaften zu den entsprechenden Nummern.Je nachdem, wie aufwendig die Sie wollen, Ihr Programm, die Sie verwenden möchten, Delphi
TShellListView
Kontrolle zu tun, anstatt alle der oben genannten Arbeit selbst.Wenn Sie drop eine TImagelist auf die form mit zwei Bildern (einer Vorder-Dateien und für Verzeichnisse), dann weisen die TImagelist auf die TListviews LargeImages-Eigenschaft verwenden, können Sie den folgenden code.
Können Sie dann bauen, auf das durch hinzufügen verschiedener Bilder auf die TImageList für verschiedene Datei-Typen, und mit ExtractFileExt(SR.Name), um die Dateien Erweiterung
Müssen Sie die Bilder anzeigen, die beim zeichnen der Zeilen.
Dies sollte Ihnen eine Idee geben:
http://www.delphidabbler.com/articles?article=16
http://delphi.about.com/od/delphitips2008/qt/lv_checkbox_bmp.htm
Der einzige Unterschied ist, dass Sie zeichnen ein Symbol/Bild.
Hier erfahren Sie, wie es in einem grid: http://delphi.about.com/library/weekly/aa032205a.htm
Also von beiden Sie bekommen die Idee.