IBM Lotus Symphony


Funkcia Dir [Runtime]

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.

Syntax:

Dir [(Text ako reťazec) [, Atribút ako celé číslo]]

Návratová hodnota:

Reťazec

Parametre:

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)

Chybové kódy

5 Neplatné volanie procedúry

53 Súbor sa nenašiel

Príklad:

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


Spätná väzba na produkt | Ďalšia dokumentácia | Ochranné známky