IBM Lotus Symphony


Dir-funksjonen [kjøretid]

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.

Syntaks:

Dir [(Tekst som streng) [, Attrib som heltall]]

Returverdi:

Streng

Parametere:

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).

Feilkoder

5 Ugyldig prosedyrekall

53 Filen ble ikke funnet

Eksempel:

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


Tilbakemelding om produktet | Annen dokumentasjon | Varemerker