Einzelnen Beitrag anzeigen

elKe

Registriert seit: 17. Aug 2004
13 Beiträge
 
Delphi 5 Enterprise
 
#4

Re: Verzeichnis in einer ListView darstellen

  Alt 18. Aug 2004, 09:44
also ich hab hier jetzt sowas da gefunden:

Delphi-Quellcode:
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;
listView2 ist dabei eine auflistung der laufwerke.

jetzt meine frage: wie kann ich in der listview nicht nur enthaltene dateien sondern auch enthaltene ordner anzeigen lassen?
Florian (m.) ^^
tjo... so isses!
  Mit Zitat antworten Zitat