Array
(
)

Listar os nomes das pastas de de diretório?

Redoctober
   - 06 set 2004

Preciso listar o conteudo de um pasta...


dentro de c:\apache\mysql\data tenho as seguintes pastas:

bloco-10-10-1-0-24
bloco-10-10-2-0-24
bloco-10-10-3-0-24
bloco-200-195-24-0-24
fornecedores
clientes
usuarios


Preciso colocar o nome dessas pastas em variaveis, mais somentes as que conter blobo antes dos números, tipo:

ba := bloco-10-10-1-0-24
bb := bloco-10-10-2-0-24
bc := bloco-10-10-3-0-24
bd := bloco-200-195-24-0-24

as outras pasta devem ser descartadas...

Testei várias vezes e não tive êxito.

Alguém me ajuda?


Ipc$
   - 06 set 2004

#Código


var sr:TSearchRec;
begin
if FindFirst(´c:\apache\mysql\data \*.*´, faAnyFile, sr) = 0 then
Repeat
if ((sr.Attr and $10) > 0) and
(Pos(´BLOCO´, UpperCase(sr.Name)) = 1) then
ShowMessage(sr.Name); // pasta selecionada
Until FindNext(sr) <> 0;
FindClose(sr);
end;



Redoctober
   - 09 set 2004


Citação:
#Código


var sr:TSearchRec;
begin
if FindFirst(´c:\apache\mysql\data \*.*´, faAnyFile, sr) = 0 then
Repeat
if ((sr.Attr and $10) > 0) and
(Pos(´BLOCO´, UpperCase(sr.Name)) = 1) then
ShowMessage(sr.Name); // pasta selecionada
Until FindNext(sr) <> 0;
FindClose(sr);
end;


Olá IPC$,

Não consegui rodar conforme o esperado!

Preciso que ele imprima o nome de todas as pastas que contenha a palavra bloco no nome

:(


Tatuweb
   - 09 set 2004

Tente assim:

#Código

procedure FindFolder (const Path: String; List: TStrings) ;
var
Res: TSearchRec;
EOFound: Boolean;
begin
EOFound:= False;
if FindFirst (Path, faDirectory, Res) < 0 then
Exit
else
while not EOFound do
begin
if Res.Attr = faDirectory then List.Add(Res.Name) ;
EOFound:= FindNext(Res) <> 0;
end;
FindClose(Res) ;
end;

Para usar:
#Código
FindFolder (´c:\apache\mysql\data\bloco*´ , Listbox1.items);