IBM Lotus Symphony
|
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.
Dir [(Text As String) [, Attrib As Integer]]
String
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)
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