Einzelnen Beitrag anzeigen

Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#1

[TListView & FindFirst/Next] Fehlerhafte Suche

  Alt 2. Sep 2006, 13:12
Ich habe selber einen OpdenDialog programmiert...
Wenn ich auf ein TShellTreeView einen Ordner auswähle soll er alle *.mp3/*.wav und Ordner in diesem Ordner anzeigen (im DataView = TListView)!

Das ist die Suchenprozedur:
Delphi-Quellcode:
procedure TfrmOp.FolderShellTreeViewChange(Sender: TObject;
  Node: TTreeNode);
var
  sr : TSearchRec;
  Ext : string;
begin
  DataView.Clear;
  label1.Caption := FolderShellTreeView.Path;
  // Find Directorys
  if FindFirst(FolderShellTreeView.Path, faDirectory, sr) = 0 then begin
    repeat
      Application.ProcessMessages;
      with DataView.Items.Add do begin
        ImageIndex := 0;
        Caption := sr.Name;
      end;
    until FindNext(SR) <> 0;
  end;

  // Find MusicFiles
  if FindFirst(FolderShellTreeView.Path, faAnyFile, sr) = 0 then begin
    repeat
      Application.ProcessMessages;
      Ext := ExtractFileExt(sr.Name);
      if (Ext = '.mp3') or (Ext = '.wav') then
        with DataView.Items.Add do begin
          ImageIndex := 1;
          Caption := sr.Name;
        end;
    until FindNext(SR) <> 0;
  end;
end;
Allerdings zeigt er nur den aktuell markierten Ordner an.
Und wenn es z.B. so aussieht:
Code:
- [O] Meine Musik
- - [D] M1.mp3
- - [D] M2.mp3
- - [D] Windows_ShutDown.wav
- - [O] Alte Musik
Und ich auf "Alte Musik" klicke, zeigt er nicht, wie ich erwartet hätte auch noch die Musikdateien an, sondern nur "Alte Musik"!
([O] = Ordner und [D] = Datei)
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat