IBM Lotus Symphony
|
Vracia názov súboru, adresára alebo všetky súbory a adresáre na diskovej jednotke alebo v adresári, ktorý vyhovuje zadanej vyhľadávacej ceste.
Dir [(Text ako reťazec) [, Atribút ako celé číslo]]
Reťazec
Text: Ľubovoľný reťazcový výraz, ktorý špecifikuje vyhľadávaciu cestu, adresár alebo súbor. Tento argument môže byť špecifikovaný len keď prvý krát voláte funkciu Dir. Ak chcete, môžete cestu zapísať v tvare URL.
Atribút: Ľubovoľný celočíselný výraz, ktorý špecifikuje bitové atribúty súboru. Funkcia Dir vracia len súbory alebo adresáre, ktoré vyhovujú špecifikovaným atribútom. Viaceré atribúty môžete kombinovať pridaním hodnôt atribútov:
0 : Normálne súbory.
16 : Vracia len názov adresára.
Tento atribút môžete použiť na kontrolu, či súbor alebo adresár existuje, alebo na zistenie všetkých súborov a zložiek v konkrétnom adresári.
Na kontrolu, či súbor existuje, zadajte úplnú cestu a názov súboru. Ak súbor alebo adresár neexistuje, funkcia Dir vracia reťazec s nulovou dĺžkou ("").
Na vygenerovanie zoznamu všetkých existujúcich súborov v konkrétnom adresári postupujte takto: Keď prvý krát zavoláte funkciu Dir, zadajte úplnú vyhľadávaciu cestu pre súbory, napríklad "D:\Files\*.sxw". Ak je cesta správna a vyhľadávanie nájde aspoň jeden súbor, funkcia Dir vráti názov prvého súboru, ktorý sa zhoduje s vyhľadávacou cestou. Ak chcete zistiť ďalšie názvy súborov, ktoré vyhovujú ceste, zavolajte funkciu Dir znova, ale bez argumentov.
Ak chcete vrátiť len adresáre, použite parameter atribútu. Rovnaké sa použije, ak chcete zistiť názov nosiča (napríklad oddielu na pevnom disku)
Sub ExampleDir
REM Zobrazí všetky súbory a adresáre
Dim sPath As String
Dim sDir as String, sValue as String
sDir="Adresáre:"
sPath = CurDir
sValue = Dir$(sPath + getPathSeparator + "*",16)
Do
If sValue <> "." and sValue <> ".." Then
if (GetAttr( sPath + getPathSeparator + sValue) AND 16) >0 then
REM získať adresáre
sDir = sDir & chr(13) & sValue
End If
End If
sValue = Dir$
Loop Until sValue = ""
MsgBox sDir,0,sPath
End sub