IBM Lotus Symphony


Função Dir [Runtime]

Devolve o nome de um ficheiro, um directório ou de todos os ficheiros e directórios numa unidade ou num directório que corresponda a um caminho de procura especificado.

Sintaxe:

Dir [(Text As String) [, Attrib As Integer]]

Valor de retorno:

String

Parâmetros:

Text: Qualquer expressão em caracteres que especifique o caminho de procura, directório ou ficheiro. Este argumento apenas pode ser especificado da primeira vez que invocar a função Dir. Se pretender, pode introduzir o caminho em notação URL.

Attrib: Qualquer expressão de valor inteiro que especifique os atributos do ficheiro em bits. A função Dir devolve apenas ficheiros ou directórios que correspondam aos atributos especificados. Pode combinar vários atributos adicionando os valores de atributo:

0: Ficheiros normais.

16: Devolve apenas o nome do directório.

Utilize este atributo para verificar se um ficheiro ou directório existe, ou para determinar todos os ficheiros e pastas do directório especificado.

Para verificar se um ficheiro existe, introduza o caminho completo e o nome do ficheiro. Se o ficheiro ou nome de directório não existir, a função Dir devolve uma cadeia com comprimento de zero ("").

Para gerar uma lista com todos os ficheiros existentes num directório especificado, execute os seguintes procedimentos: Da primeira vez que invocar a função Dir, especifique o caminho de procura completo para os ficheiros, por exemplo, "D:\Files\*.sxw". Se o caminho estiver correcto e a procura encontrar pelo menos um ficheiro, a função Dir devolve o nome do primeiro ficheiro que corresponde ao caminho de procura. Para devolver nomes de ficheiro adicionais que correspondem ao caminho, invoque novamente Dir, mas sem argumentos.

Para devolver apenas directórios, utilize o parâmetro de atributos. O mesmo aplica-se se pretender determinar o nome de um volume (por exemplo, uma partição de disco rígido)

Códigos de erro

5 Chamada de procedimento não válido

53 Ficheiro não encontrado

Exemplo:

Sub ExampleDir

REM Displays all files and directories

Dim sPath As String

Dim sDir as String, sValue as String

sDir="Directories:"

sPath = CurDir

sValue = Dir$(sPath + getPathSeparator + "*",16)

Do

If sValue <> "." and sValue <> ".." Then

if (GetAttr( sPath + getPathSeparator + sValue) AND 16) >0 then

REM get the directories

sDir = sDir & chr(13) & sValue

End If

End If

sValue = Dir$

Loop Until sValue = ""

MsgBox sDir,0,sPath

End sub


Comentários sobre o produto | Documentação adicional | Marcas comerciais