IBM Lotus Symphony


Funktionen Dir [Runtime]

Returnerer navnet på en fil, et bibliotek eller alle de filer og biblioteker på et drev eller i et bibliotek, som svarer til den angivne søgesti.

Syntaks:

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

Returværdi:

String

Parametre:

Tekst: Et strengudtryk, der angiver søgestien, biblioteket eller filen. Argumentet kan kun angives, første gang du kalder Dir-funktionen. Det er tilladt at skrive stien med URL-notation.

Attrib: Et heltalsudtryk, som angiver et bitmønster med filattributter. Dir-funktionen returnerer kun filer eller biblioteker, som passer til de angivne attributter. Du kan kombinere flere attributter ved at lægge attributværdierne sammen:

0 : Almindelige filer.

16 : Returnerer kun navnet på biblioteket.

Med denne attribut kan du kontrollere, om en fil eller et bibliotek findes, eller finde frem til alle filer og mapper i et angivet bibliotek.

Skriv hele stien og navnet på filen, hvis du vil kontrollere, om den findes. Dir-funktionen returnerer en tom streng (""), hvis fil- eller biblioteksnavnet ikke findes.

Sådan kan du oprette en liste med alle eksisterende filer i et bestemt bibliotek: Angiv den fuldstændige søgesti til filerne, f.eks. "D:\Filer\*.sxw", første gang du kalder Dir-funktionen. Hvis stien er rigtig, og mindst én fil findes i søgningen, returnerer Dir-funktionen navnet på den første fil, som passer til søgestien. Du kan få returneret yderligere filnavne, som passer til stien, ved at kalde Dir igen, men uden argumenter.

Brug attributparameteren, hvis du kun vil have returneret biblioteker. Det samme gælder, hvis du vil finde navnet på et drev (f.eks. en partition på en harddisk).

Fejlkoder

5 Ugyldigt procedurekald

53 Filen er ikke fundet

Eksempel:

Sub DirEksempel

REM Viser alle filer og biblioteker

Dim sSti As String

Dim sBib as String, sVaerdi as String

sBib="Biblioteker:"

sSti = CurDir

sVaerdi = Dir$(sSti + getPathSeparator + "*",16)

Do

If sVaerdi <> "." and sVaerdi <> ".." Then

if (GetAttr( sSti + getPathSeparator + sVaerdi) AND 16) >0 then

REM hent bibliotekerne

sBib = sBib & chr(13) & sVaerdi

End If

End If

sVaerdi = Dir$

Loop Until sVaerdi = ""

MsgBox sBib,0,sSti

End Sub


Produktfeedback | Yderligere dokumentation | Varemærker