IBM Lotus Symphony
|
Returnerer navnet på en fil, en katalog eller alle filene og katalogene på en stasjon eller i en katalog som samsvarer med angitt søkebane.
Dir [(Tekst som streng) [, Attrib som heltall]]
Streng
Tekst: Et strenguttrykk som angir søkebanen, katalogen eller filen. Dette argumentet kan bare angis første gang du anroper Dir-funksjonen. Hvis du vil, kan du angi banen i URL-notasjon.
Attrib: Et heltallsuttrykk som angir bit-vise filattributter. Dir-funksjonen returnerer bare filer eller kataloger som samsvarer med de angitte attributtene. Du kan kombinere flere attributter ved å legge til attributtverdiene:
0 : Normale filer.
16 : Returnerer bare navnet på katalogen.
Bruk dette attributter til å kontrollere om en fil eller katalog finnes, eller for å finne alle filer og mapper i en bestemt katalog.
Hvis du vil kontrollere om en fil finnes, angir du den fullstendige banen og navnet til filen. Hvis fil- eller katalognavnet ikke finnes, returnerer Dir-funksjonen en streng med nullengde ("").
Hvis du vil generere en liste over alle eksisterende filer i en bestemt katalog, gjør du slik: Første gang du anroper Dir-funksjonen, angir du den fullstendige søkebanen for filene, for eksempel "D:\Filer\*.sxw". Hvis banen er riktig og søket finner minst én fil, returnerer Dir-funksjonen navnet på den første filen som samsvarer med søkebanen. Hvis du vil returnere flere filnavn som samsvarer med banen, anroper du Dir igjen, men uten noen argumenter.
Hvis du vil returnere bare kataloger, bruker du attributtparameteren. Det samme gjelder hvis du vil finne navnet på et volum (for eksempel en harddiskpartisjon).
Sub ExampleDir
REM Viser alle filer og kataloger
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 hent katalogene
sDir = sDir & chr(13) & sValue
End If
End If
sValue = Dir$
Loop Until sValue = ""
MsgBox sDir,0,sPath
End sub