![]() |
Verzeichnis in einer ListView darstellen
Hi,
ich habe schon erfolglos die Suchfunktion betätigt. Wie kann ich ein Verzeichnis in eine ListView laden? //edit: Ich habe kein Delphi 6 oder höher, also kommt die ShellListView nicht in Frage! danke :) |
Re: Verzeichnis in einer ListView darstellen
Der einfache Weg (allerdings nicht ganz authentisch):
![]() ![]() |
Re: Verzeichnis in einer ListView darstellen
erstmal danke! :)
Mal guggen, was sich finden lässt! |
Re: Verzeichnis in einer ListView darstellen
also ich hab hier jetzt sowas da gefunden:
Delphi-Quellcode:
listView2 ist dabei eine auflistung der laufwerke.
procedure TForm1.ListView2DblClick(Sender: TObject);
var ds : TSearchRec; res : integer; li : TListItem; fi : TSHFileInfo; drive: string; begin drive := ListView2.Selected.caption; ListView3.Items.Clear; res := FindFirst(drive + '*.*', faAnyFile,ds); while(res = 0) do begin if(ds.Attr and faDirectory = 0) and (ds.Name <> '.') and (ds.Name <> '..') then begin // Name der Datei eintragen li := Listview3.Items.Add; li.Caption := ds.Name; // jetzt Zugriff auf die System-Imageliste // und nur den Typennamen und das Symbol // ermitteln! ZeroMemory(@fi,sizeof(fi)); SHGetFileInfo(pchar(drive + ds.Name),0,fi,sizeof(fi), SHGFI_ICON or SHGFI_SYSICONINDEX or SHGFI_TYPENAME); // Icon-Index zuweisen, ... li.ImageIndex := fi.iIcon; // "iIcon" ist eine Integer-Variable und erhält somit // wirklich nur den Index auf das Symbol, aber nicht // das Symbol als solches. Daher ist es nun egal, wie // oft ein Dateityp im Ordner vorkommt. // ... & Typennamen als Untereintrag hinzufügen li.SubItems.Add(fi.szTypeName); end; res := FindNext(ds); end; FindClose(ds); end; jetzt meine frage: wie kann ich in der listview nicht nur enthaltene dateien sondern auch enthaltene ordner anzeigen lassen? |
Re: Verzeichnis in einer ListView darstellen
Hi,
Zitat:
Aber du musst aufpassen mit SHGetFileInfo. Ich glaube das kommt mit Verzeichnissen nicht ganz klar. Chris |
Re: Verzeichnis in einer ListView darstellen
mal ausprobieren
//edit jop geht! danke! |
Re: Verzeichnis in einer ListView darstellen
Zitat:
|
Re: Verzeichnis in einer ListView darstellen
bei mir gehts :) ^^
ähm.. wie kann ich das jetzt nach Ordnern und Dateien sortieren lassen? (Wie im Explorer auch) Hab keinen Plan, wie ich das anstellen soll. Obwohl, wie kann man nach Spalten in ner LsitView sortieren? .. Mal in der Code-Library guggen. :) //edit: verwende den Code hier: ![]() Funktioniert mit der ersten Spalte auch prima, aber wenn ich die zweite spalte sortieren will: "Der Index der Liste überschreitet das Maximum (0)" Wie krieg ich den Fehler weg? //nochn edit: Fehler behoben, die erste Zeile hatte nur kein SubItem, das war der Fehler! :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:48 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