Dir funtzioa
Zehaztutako bilaketaren bide-izenarekin bat datorren fitxategi-izena, direktorio-izena edo unitate edo direktorio bateko fitxategi eta direktorio guztien izena itzultzen du.
Sintaxia:
Dir [(Testua As String) [, Atributua As Integer]]
Itzulera-balioa:
Katea
Parametroak:
Testua: Bilaketaren bide-izena, direktorioa edo fitxategia zehazten duen kate-adierazpena. Argumentu hori Dir funtzioa lehenengo aldiz deitzean bakarrik zehaztu daiteke. Nahi izanez gero, bide-izena URL idazkeran sar dezakezu.
Atributua: Fitxategi-atributuak bitetan zehazten dituen osoko adierazpena. Dir funtzioak zehaztutako atributuarekin bat datozen fitxategiak edo direktorioak bakarrik itzultzen ditu. Hainbat atributu atributu-balioak gehituz konbina daitezke:
0 : Fitxategi arruntak.
16 : Direktorioaren izena soilik itzultzen du.
Funtzio hau erabili fitxategi edo direktorioa lehendik badagoen ziurtatzeko edo direktorio bateko fitxategi eta karpeta guztiak zehazteko.
Fitxategia lehendik badagoen ziurtatzeko, idatzi bide-izen osoa eta fitxategi-izena. Fitxategi- edo direktorio-izena ez badago, Dir funtzioak zero karaktereko luzera duen katea ("") itzultzen du.
Direktorio bateko fitxategi guztien zerrenda sortzeko, egin ondorengo hau: Dir funtzioari lehenengo aldiz deitzean, zehaztu fitxategiaren bilaketarako bide-izen osoa, adibidez, "D:\Fitxategiak\*.ods". Bide-izena zuzena bada eta bilaketaren ondoren fitxategi bat gutxienez aurkitu bada, Dir funtzioak bilaketaren bide-izenarekin bat datorren lehen fitxategiaren izena itzuliko du. Bide-izenarekin bat datozen fitxategi-izen osagarriak itzultzeko, deitu Dir funtzioari berriro argumenturik gabe.
Direktorioak soilik itzultzeko, erabili atributu-parametroa. Gauza bera bolumenaren izena zehaztu nahi baduzu (adibidez, disko gogorreko partizioa).
Adibidea:
Sub ExampleDir
' Fitxategi eta direktorio guztiak bistaratzen ditu
Dim sPath As String
Dim sDir As String, sValue As String
sDir="Direktorioak:"
sPath = CurDir
sValue = Dir$(sPath + getPathSeparator + "*",16)
Do
If sValue <> "." And sValue <> ".." Then
If (GetAttr( sPath + getPathSeparator + sValue) And 16) >0 Then
' direktorioak lortzen ditu
sDir = sDir & chr(13) & sValue
End If
End If
sValue = Dir$
Loop Until sValue = ""
MsgBox sDir,0,sPath
End Sub