Odczyt katalogu dysku
Odczyt katalogu dysku.
W poleceniach Turbo Basic XL znajduje się DIR, którego efektem działania jest odczyt katalogu ze wskazanego urządzenia. Przydatne do szybkiego wyświetlenia listy plików w trybie bezpośrednim lub do użycia w programie. Lista plików wyświetlana jest w formacie DOS: * (gwiazdka na pierwszej pozycji jeśli plik jest zabezpieczony), odstęp, 8 znaków nazwy pliku, odstęp, 3 znaki rozszerzenia, odstęp, 3 cyfrowy wskaźnik wielkości pliku podany w sektorach. Na końcu wyświetlana jest liczba wolnych sektorów na dysku. Przykład, odczyt bieżącego katalogu dysku D:
System plików Sparta DOS umieszcza na dyskietce nieco więcej informacji o pliku. Po wydaniu polecenia DIR otrzymamy nazwę woluminu (dyskietki, partycji dysku), nazwę aktualnego katalogu lub wpis MAIN jeśli jest to katalog główny, potem listowana jest zawartość dyskietki w formacie: 8 znaków nazwy pliku, odstęp, 3 znaki rozszerzenia, odstęp, jeśli wpis jest katalogiem pojawi się wpis <DIR>, a jeśli jest to plik to podana zostanie wielkość pliku w B, kB, MB. W następnych 2 kolumnach otrzymamy datę i czas utworzenia pliku w formacie: DD-MM-RR GG:MM (dzień-miesiąc-rok godzina:minuty). W ostatniej linii DIR wyświetla liczbę wolnych sektorów. Przykład:
DIR można użyć z parametrami, na urządzeniach, które funkcję katalogu posiadają, w konwencji zgodnej z używanym DOS-em. Przykłady (ostatni w formacie Sparta Dos X):
DIR | puste DIR – lista wszystkich plików i katalogów bieżącego dysku |
DIR „D8:*.*” | lista wszystkich plików i katalogów folderu nadrzędnego dysku nr 8 |
DIR „DA:\TBXL\*.BAS” | lista plików z rozszerzeniem BAS w katalogu TBXL na dysku D1 |
Przykłady dla Turbo Basic XL i nie tylko:
Odczyt katalogu i wyświetlanie na ekranie, brak formatowania Sparta DOS X:
10 DIM A$(34):TRAP 12:OPEN #1,6,0,”D:*.*”
11 INPUT #1,A$:?A$:GOTO 11
12 CLOSE #1
Odczyt katalogu i wyświetlanie na ekranie, w formacie Sparta DOS X:
10 DIM A$(34):TRAP 12:OPEN #1,6,128,”D:*.*”
11 INPUT #1,A$:?A$:GOTO 11
12 CLOSE #1
To samo co wyżej z pominięciem informacji o dysku, woluminie i wolnych sektorach – tylko lista plików i katalogów:
10 DIM A$(34):TRAP 14:OPEN #1,6,128,”D:*.*”
11 INPUT #1;A$,A$,A$,A$
12 INPUT #1;A$:IF A$(13,13)=”E” THEN 14
13 ? A$:GOTO 12
14 CLOSE #1
Aby dodatkowo wyświetlić atrybuty plików do drugiego parametru OPEN dodajemy 64:
10 DIM A$(40):TRAP 12:OPEN #1,6,128+64,”D:*.*”
11 INPUT #1;A$: ? A$:GOTO 11
12 CLOSE #1
Teraz pobrane ciągi tekstowe A$ mają już 40 znaki, więc trzeba specjalnej procedury formatującej wydruk na ekranie