Dir Function
Visszaadja egy könyvtár, egy fájl vagy az összes olyan fájl, illetve könyvtár nevét egy meghajtón, illetve egy könyvtárban, amelyek megfelelnek a megadott keresési útvonalnak.
Szintaxis:
Dir [(Szöveg As String) [, Attribútum As Integer]]
Visszatérési érték:
String (karakterlánc)
Paraméterek:
Szöveg: String (karakterlánc) kifejezĂ©s, amely megadja a keresĂ©si utat, a fájlt vagy a könyvtárat. Ez az argumentum csak a Dir fĂĽggvĂ©ny elsĹ‘ meghĂvásakor adhatĂł meg. IgĂ©ny szerint URL-jelölĂ©ssel is megadhatja az elĂ©rĂ©si utat.
AttribĂştum: Bármilyen integer (egĂ©sz szám) kifejezĂ©s, amely megadja a fájlattribĂştum-biteket. A Dir fĂĽggvĂ©ny csak a megadott attribĂştumoknak megfelelĹ‘ fájlokat vagy könyvtárakat adja vissza. Az attribĂştumĂ©rtĂ©kek hozzáadásával számos attribĂştumot egyesĂthet:
0 : Normál fájlok.
16 : Csak a könyvtár nevét adja vissza.
Ezzel az attribútummal ellenőrizheti egy könyvtár létezését, vagy meghatározhatja az adott könyvtárban levő összes fájlt és mappát.
Annak ellenőrzéséhez, hogy a fájl létezik-e, adja meg a fájl teljes elérési útját vagy nevét. Ha a fájl- vagy könyvtárnév nem létezik, akkor a Dir függvény nulla hosszúságú karakterláncot ad vissza ("").
Ha egy adott könyvtárban lĂ©vĹ‘ összes fájlt akarja kilistázni, a következĹ‘ mĂłdon járjon el: A Dir fĂĽggvĂ©ny elsĹ‘ meghĂvásakor adja meg a fájlok keresĂ©sĂ©nek teljes elĂ©rĂ©si Ăştját, pĂ©ldául "D:\Files\*.ods". Ha az elĂ©rĂ©si Ăşt helyes, Ă©s a keresĂ©s legalább egy fájlt talál, akkor a Dir fĂĽggvĂ©ny visszaadja a keresĂ©si Ăştnak megfelelĹ‘ elsĹ‘ fájlt. Az elĂ©rĂ©si Ăştnak megfelelĹ‘ további fájlnevek visszaadásához hĂvja meg Ăşjra a Dir fĂĽggvĂ©nyt, de argumentumok nĂ©lkĂĽl.
To return directories only, use the attribute parameter. The same applies if you want to determine the name of a volume (for example, a hard drive partition).
PĂ©lda:
Sub ExampleDir
' MegjelenĂti az összes könyvtárat Ă©s fájlt
Dim sPath As String
Dim sDir As String, sValue As String
sDir="Könyvtárak:"
sPath = CurDir
sValue = Dir$(sPath + getPathSeparator + "*",16)
Do
If sValue <> "." And sValue <> ".." Then
If (GetAttr( sPath + getPathSeparator + sValue) And 16) >0 Then
' könyvtárak beolvasása
sDir = sDir & chr(13) & sValue
End If
End If
sValue = Dir$
Loop Until sValue = ""
MsgBox sDir,0,sPath
End Sub