Moin Fabian,
das Beispiel in der Delphi-Hilfe ist übrigens auch fehlerhaft.
Zum einen fehlt try/finally (wie oben angesprochen), zum anderen werden die Attribute mit + verknüpft.
Diese sollten man aber auf jeden Fall mit OR verknüpfen.
Bezogen auf das Beispiel in der Hilfe:
Sobald die 7. Checkbox und irgendeine (auch mehrere) andere aktiviert wurden, erhält FileAttrs einen ungültigen Wert.
Was mir gerade noch aufgefallen ist:
Also Suchmaske nimmst Du nur den Pfad. Probier's mal mit:
FindFirst(FolderShellTreeView.Path+'\*.*',....
Um die Dateien von vornherein zu filtern:
Delphi-Quellcode:
FindFirst(FolderShellTreeView.Path + '\*.mp3',....
bzw.
FindFirst(FolderShellTreeView.Path + '\*.wav',....
also zweimaliger Aufruf, bzw. besser noch, indem Du die Endungen in einer Schleife der Reihe nach durchgehst.
Du kannst natürlich auch nach allen suchen, und dann hinterher filtern, hierbei solltest Du aber daran denken, das
if Ext = '.mp3' then ...
fehlschlägt, wenn die Endung nicht kleingeschrieben wurde, also z.B. .Mp3 lautet.
Schau Dir dazu mal LowerCase (UpperCase) bzw. AnsiLowerCase an.