IBM Lotus Symphony


Funkcja Dir [środowisko wykonawcze]

Zwraca nazwę pliku, katalogu albo wszystkich plików i katalogów na dysku lub w katalogu zgodnym z podaną ścieżką wyszukiwania.

Składnia

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

Zwracana wartość

Łańcuch

Parametry

Tekst: Dowolne wyrażenie łańcuchowe określające ścieżkę wyszukiwania, katalog lub plik. Ten argument może zostać określony tylko przy pierwszym wywołaniu funkcji Dir. Ścieżka może zostać wprowadzona w notacji URL.

Atrybut: Dowolne wyrażenie całkowitoliczbowe określające bitowe atrybuty pliku. Funkcja Dir zwraca jedynie te pliki lub katalogi, które są zgodne z podanymi atrybutami. Można połączyć ze sobą wiele atrybutów, dodając ich wartości:

0: Zwykłe pliki.

16: Zwraca tylko nazwę katalogu.

Za pomocą tego atrybutu można sprawdzić, czy plik lub katalog istnieje, albo uzyskać listę wszystkich plików i folderów w określonym katalogu.

Aby sprawdzić, czy plik istnieje, należy wprowadzić pełną ścieżkę do tego pliku wraz z jego nazwą. Jeśli plik lub katalog nie istnieje, funkcja Dir zwraca łańcuch o zerowej długości ("").

Aby wygenerować listę wszystkich plików istniejących w określonym katalogu, należy wykonać następujące czynności. Przy pierwszym wywołaniu funkcji Dir należy podać pełną ścieżkę wyszukiwania plików, na przykład D:\Pliki\*.sxw. Jeśli ścieżka jest poprawna i proces wyszukiwania znalazł co najmniej jeden plik, funkcja Dir zwraca nazwę pierwszego pliku zgodnego ze ścieżką wyszukiwania. Aby zwrócić nazwy kolejnych plików zgodnych ze ścieżką, należy wywołać funkcję Dir ponownie, nie podając żadnych argumentów.

Aby zwrócić tylko nazwy katalogów, należy użyć parametru Atrybut. Dotyczy to również przypadku, gdy ma zostać określona nazwa woluminu (np. partycja dysku twardego).

Kody błędów

5 Nieprawidłowe wywołanie procedury

53 Nie znaleziono pliku

Przykład

Sub Przyklad_Dir

REM Wyświetlenie listy wszystkich plików i katalogów

Dim sSciezka As String

Dim sKatalog as String, sWartosc as String

sKatalog="Katalogi:"

sSciezka = CurDir

sWartosc = Dir$(sSciezka + getPathSeparator + "*",16)

Do

If sWartosc <> "." and sWartosc <> ".." Then

if (GetAttr( sSciezka + getPathSeparator + sWartosc) AND 16) >0 then

REM pobieranie katalogów

sKatalog = sKatalog & chr(13) & sWartosc

End If

End If

sKatalog = Dir$

Loop Until sWartosc = ""

MsgBox sKatalog,0,sSciezka

End sub


Opinia na temat produktu | Dodatkowa dokumentacja | Znaki towarowe