Hai Vader,
FindFirst möchte im Pfad auch eine Dateimaske haben. Du must die Funktion also so aufrufen:
Delphi-Quellcode:
begin
Memeo1.Lines.Add (GetFolders ('c:\windows\*.*'));
end;
Oder, noch einfacher, das "*.*" in der Funktion an path dranhängen:
Delphi-Quellcode:
function GetFolders( path : string ) : string;
var
searchRec : TSearchRec;
begin
path := path + '*.*';
result := '';
if ( FindFirst( path,$00000010, searchRec ) = 0 ) then
begin
while FindNext( searchRec ) = 0 do
begin
if ( ( searchRec.Attr and $00000010 ) = searchRec.Attr ) then
result := result + searchRec.Name + '|';
end;
FindClose( searchRec );
end;
Delete( result, length( result ), 1 );
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Memo1.Lines.add (GetFolders ('c:\Windows\'));
end;
Stephan B.
"Lasst den Gänsen ihre Füßchen"