Fórum verificar se um diretório existe.... #141060
26/02/2003
0
será que você poderia me ajudar??? Estou precisando saber se um determinado diretório existe, se não existir preciso criá-lo. O problema é que não sei fazer nenhuma das coisas descritas acima.
Desde já muito obrigado....
Lauro Emerson
balceiro@bol.com.br
Anonymous
Curtir tópico
+ 0Posts
26/02/2003
Lfernandos
if not CreateDir(Path) then begin
ForceDirectories(Path);
end;
end;
A função DirectoryExists testa se o dir existe.
A CreateDir tenta criar o diretório se falhar a ForceDirectories cria o diretório.
Gostei + 0
26/02/2003
Aroldo Zanela
Colega,
Primeiramente coloque FileCtrl na uses da Interface;
O DOS e Windows só permitem criar um diretório de cada vez. Por exemplo, para criar o diretório C:\APPS\SALES\LOCAL os diretórios APPS e SALES devem existir antes que o diretório LOCAL possa ser criado.
Use ForceDirectories para criar um diretório e todos os diretórios ´pais´ que ainda não existam.
ForceDirectories é uma procedure recursiva, bem como, já tem implementada os testes para verificar a existência do diretório. Portanto, não é necessário verificar se o diretório existe, pois se já existir ela abandona a execução.
var cDiretorio: String; begin cDiretorio:= ´C:\APPS\SALES\LOCAL´; ForceDirectories(cDiretorio); end;
Gostei + 0
26/02/2003
Nildo
falowwwwssss
Gostei + 0
26/02/2003
Aroldo Zanela
Se existir ele pula, se nao existir ele cria. ?????????
procedure ForceDirectories(Dir: string); begin if Length(Dir) = 0 then raise Exception.Create(SCannotCreateDir); if (AnsiLastChar(Dir) <> nil) and (AnsiLastChar(Dir)^ = ´\´) then Delete(Dir, Length(Dir), 1); if (Length(Dir) < 3) or DirectoryExists(Dir) or (ExtractFilePath(Dir) = Dir) then Exit; // avoid ´xyz:\´ problem. ForceDirectories(ExtractFilePath(Dir)); CreateDir(Dir); end
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)