![]() |
D-Filer |
![]() |
Wychodząc z założenia iż nie warto niepotrzebnie komplikować sobie życia 99% programów przechwuje w standardowym formacie Atari tz. w gęstościach single, medium, double z możliwością zapisu 64 plików w katalogu. Dzięki tej metodzie nie zwracam zbytnio uwagi na to pod jakim DOS'em pracuję (ale kłamie - wszyscy wiedzą że używam tylko jedynie słusznego DOS'u :-) ). W większości przypadków jest to wygodne i oszczędne! Niestety sprawa się komplikuje gdy na jednym dysku trzeba zgromadzić dużą liczbę plików, które zajmują od 1 do 10 sektorów w DD. Takimi plikami są np. fonty (100%) lub moduły w CMC lub MPT (ok. 70-80%). Po umieszczeniu 64 plików z fontami na dysku DD pozostaje 387 wolnych sektorów, których nie można już wykorzystać (brak miejsca na nazwy plików w VTOC). Jedynym rozwiązaniem jest zastosowanie PODKATALOGÓW. Najbardziej popularne (i chyba jedyne) DOS'y, które umożliwiają stosowanie podkatalogów to:
Z pewnej strony wydaje się to trochę dziwne, gdyż MyDOS i Sparta to stosunkowo stare DOS'y, a więc programów obsługujących (wygodnie) podkatalogi powinno być sporo, dlaczego więc ich nie ma? Odpowiedź jest naprawdę bardzo prosta! To po prostu lenistwo! Przyznam się że ja też tak postępowałem i po pewnym czasie mściło się to! Z tego też powodu postanowiłem opracować sobie BIBLIOTECZKĘ, która umożliwiała by wygodną obsługę podkatalogów (i nie tylko). W ten sposób powstał D-FILER v1.0!
Wszystkie dostępne opcje programu wybiera się przy pomocy klawiszy funkcyjnych. Zostaną one podane wraz z opisem danej opcji. Warto się ich nauczyć na pamięć :-), gdyż większość moich nowych programów będzie wykorzystywać tą bibliotekę!
Po wejściu do Filer'a ukazuje się nam jego ekran główny (i jedyny :-) ). Patrząc od góry widzimy:
Wpis danych czyli np. podawanie nazwy pliku/podkatalogu, ścieżki dostępu, podkatalogu do stworzenia itp. Aktywne klawisze to:
DELETE - kasowanie ostatniego znaku Dostępne znaki: 0-9, A-Z, *_?.:> Potwierdzenie operacji (OK)
RETURN lub Y - wykonaj Przy komunikatach
RETURN, ESC, Y - wyjście Przy odpowiedziach na pytania
ESC - przerwij (wyjście) Wybór nazwy Operacje tą umożliwiają klawisze [-], [=]. Ścieżki dostępu Dla stacji źródłowej bufor wynosi 256 bajtów. Nie jest on ustawiony "na sztywno", a więc ilość możliwych do odczytania podkatalogów uzależniona jest od długości nazwy danego podkatalogu. W praktyce możliwe jest wejście do ok. 20-22 podkatalogów. Myślę że powinno wystarczyć? W przypadku gdy bufor zostanie zapełniony, wejście do kolejnego podkatalogu, lub (UWAGA) odczyt pliku nie zostanie wykonany! Odpowiedni komunikat ukaże się w linii komunikacyjnej. Ścieżka na ekranie pokazywana jest tak aby zawsze była widoczna jak największa ilość OSTATNICH podkatalogów. Tak więc na początku (po np. D1:) mogą wystąpić trzy kropki informujące o tym iż widoczna jest tylko część ścieżki. Ścieżka docelowa to tylko to co można będzie wpisać po np. D1:. Tak więc mamy jedynie możliwość wpisania 20 znaków. W większości wypadków zupełnie to wystarczy, choć w przyszłości być może ulegnie to zmianie (na gorsze :-) ). Jeżeli program uzna iż po dodaniu nazwy pliku ścieżka będzie dłuższa to odpowiednio zredukuje ją do postaci Dx:xxxxxxxx.xxx
Odczyt katalogu głównego Opcja umożliwia odczyt (lub natychmiastowy powrót) głównego katalogu dysku, który znajduje się w stacji źródłowej (SOURCE).
Odświerzenie katalogu/podkatalogu Opcja podobna do poprzedniej z tą różnicą iż pod uwagę brana jest ścieżka dostępu.
Wzór dla odczytu katalogu/podkatalogu Opcja umożliwia podanie wzoru, który zostanie wzięty pod uwagę podczas odczytu katalogu/podkatalogu. Standardowy wpis to: *.*, który oznacza iż zostaną odczytane i wyświetlone wszystkie pliki znajdujące się w danym katalogu/podkatalogu. Należy zwracać na to uwagę aby uniknąć niepotrzebnego stresu - pliki były... i znikły :-).
Wejście do podkatalogu/Odczyt pliku Program automatycznie rozpozna co chcemy zrobić i jeżeli naciśniemy ten klawisz na podkatalogu to zostanie automatycznie wywołana opcja odczytu katalogu/podkatalogu. W przypadku pliku nastąpi jego odczyt.
Wyjście z danego podkatalogu Opcja umożliwia powrót do poprzedniego podkatalogu lub powrót do katalogu głównego (w każdym przypadku zostanie on odczytany ponownie z dysku).
Szybka zamiana stacji źródłowej na docelową Krótko mówiąc stacja SOURCE otrzyma numer stacji TARGET, ponowne naciśnięcie klawisza odwraca sytuację (chyba logiczne). Należy pamiętać o tym iż zamieniony zostaje tylko numer stacji, a więc ścieżka dostępu pozostaje bez zmian! Umożliwia to automatyczne wejście do tego samego podkatalogu (o ile istnieje) w stacji docelowej (jeżeli go tam nie będzie to ukaże się komunikat z błędem i należy wtedy przy pomocy klawiszy 1-9 "ręcznie" wywołać główny katalog).
Sposób wyświetlania nazw Przy pomocy tych trzech klawiszy decydujemy o tym co chcemy aby pierwsze było pokazywane (bez względu na to jak jest zapisane w VTOC). Informacja o ustawieniu pokazana jest w oknie DISPLAY. Oto trzy możliwe kombinacje:
Wywołanie: M Opcja "mówi" chyba wszystko. Po wywołaniu wpisujemy nazwę podkatalogu i potwierdzamy to RETURN'em. Klawisz ESC umożliwia przerwanie tej operacji.
Kasowanie pliku/podkatalogu Przed wywołaniem opcji należy wskazać nazwę pliku/podkatalogu! Po wywołaniu opcji program poprosi o potwierdzenie naszej decyzji i o ile będzie to odpowiedź pozytywna nastąpi kasowanie. UWAGA: Przed skasowaniem podkatalogu należy się upewnić czy jest on pusty, gdyż tylko taki może być skasowany! W innym przypadku ukaże się błąd!
Zmiana nazwy pliku/podkatalogu Podobnie jak w poprzedniej opcji, przed wywołaniem należy wskazać nazwę, którą chcemy zmienić. Po wywołaniu podajemy nową nazwę (lub poprawiamy starą) i potwierdzamy to RETURN'em. Wyjście z opcji umożliwia ESC. Funkcja nie jest "idioto-odporna", a więc potwierdzenie STAREJ nazwy jako NOWĄ spowoduje... zamianę starej... na nową :-) UWAGA: W przypadku podkatalogów opcja działa w 100% pod MyDOS'em! Niestety w przypadku BW-DOS'a i SpartaDOS są problemy (przeczytaj KŁOPOTY).
Zabezpiecz/Odbezpiecz plik/podkatalog Opcja chyba nie wymaga żednego opisu!
Kopiowanie pliku Przed wywołaniem należy wskazać plik i potwierdzić to klawiszem RETURN. Po tej operacji w dolnej części ekranu (linia komunikatów) ukaże się nam docelowa ścieżka dostępu. Jeżeli odpowiada nam ona to ponownie naciskamy RETURN, a jeżeli nie to możemy wpisać ją od nowa (lub poprawić tylko nazwę). Jeżeli chcemy zmienić stację docelową to można skorzystać z kombinacji SHIFT+1-9. ESC umożliwia wyjście. Jeżeli stacja źródłowa i docelowa mają ten sam numer to program wyświetli pytanie czy będzie to ten sam dysk (umożliwia to kopiowanie z jednego podkatalogu do drugiego). Ukaże się pytanie SAME DISK? Jeżeli tak jest to naciskamy Y jeżeli nie (chcemy skopiować plik na inny dysk) to naciskamy inny klawisz (najlepiej N). Następnie rozpocznie się odczyt pliku do bufora. Po odczytaniu całego pliku lub zapełnieniu bufora może pojawić się kolejny komunikat: INSERT TARGET DISK, o ile na pytenie SAME DISK odpowiedzieliśmy negatywnie. Po zmianie dysku naciskamy RETURN i rozpocznie się zapis. W pierwszej kolejności program sprawdzi czy aby plik o podanej nazwie już nie istnieje. Jeżeli tak będzie to ukaże się kolejny komunikat: FILE ALREADY EXISTS. RETURN spowoduje iż stary plik zostanie skasowany i w jego miejsce nagrany zostanie aktualnie kopiowany, natomiast ESC umożliwi przerwanie zapisu. Po nagraniu całego bufora (o ile cały plik nie został odczytany) ukaże się prośba o włożenie dysku źródłowego i po potwierdzeniu rozpocznie się ponownie odczyt. Oczywiście prośby o zmianę dysku nie będą występować gdy stacje będą miały inne numery. W przypadku wystąpienia błędu odpowiedni komunikat ukaże się na ekranie.
Dźwięk podczas transmisji włącz/wyłącz Literka S informuje że dźwięk będzie włączony, brak jej że wyłączony.
Informacja o wersji D-Filer'a Warto w przyszłości zwrócić na to uwagę gdyż D-Filer napewno będzie jeszcze modyfikowany, a to może wprowadzić pewne zmiany w jego obsłudze i zasad pracy.
Powrót do programu głównego Jak wspomniałem D-Filer to biblioteka, a więc będzie on wykorzystywany w różnych programach. Powrót (bez żadnej reakcji ze strony Filera) umożliwiają wymienione wyżej klawisze.
Występują one w momencie gdy pracujemy pod kontrolą BW-DOS'a oraz SpartaDOS i usiłujemy zmienić nazwę podkatalogu. Krótko mówiąc NIE możemy tego zrobić! Przy każdorazowej próbie wykonania tej operacji D-Filer wyświetli nam komunikat o błędzie 170 (plik nie istnieje). Prawdę mówiąc nie mam pojęcia dlaczego tak się dzieje. Być może używam złej komendy (innej niestety nie znam) lub procedurę RENAME należy wykonywać z nazwą poprzedzając ją znakiem ">"? Przyznam się że nie znam zbyt dobrze tych systemów, a w dokumentacji do BW-DOS'a Jiri nic nie wspomina na ten temat. Jeżeli ktoś wie jak sobie z tym poradzić to proszę o kontakt. Druga sprawa to sama obsługa podkatalogów. Jak wszyscy wiedzą DOS'y Sparto-podobne po wpisaniu komendy DIR wyświetlają znacznie więcej informacji o danym pliku niż standardowa komenda Atari DOS. Oczywiście w SpartaDOS można uzyskać TAKI SAM "wydruk" katalogu jak w Atari DOS używając komendy DIRS. Jak się okazuje nie jest to tak do końca prawdą. Wszystko jest w porządku do momentu gdy w danym katalogu/podkatalogu nie ma kolejnych podkatalogów, które oprócz nazwy posiadają także rozszerzenie. W takim wypadku wygląda to tak: odczytując katalog poleceniem DIR wszystko jest w porządku tz. pokazywana jest nazwa oraz rozszerzenie danego katalogu. Po użyciu komendy DIRS wyświetlana zostaje tylko nazwa, natomiast w miejsce rozszerzenia wpisywane jest DIR w inwersji. D-Filer (i inne programy, które nie są pisane spacjalnie dla SpartaDOS) wykorzystują standardowe wywołanie procedury odczytu katalogu tz. do aux1=6, a do aux2=0. Otrzymany w ten sposób katalog NIE zawiera rozszerzeń dla podkatalogów. Aby uzyskać pełny katalog należy wpisać do aux2 wartość 128 lub większą. Niestety wiąże się to z tym iż trzeba zupełnie inaczej napisać procedurkę "obrabiającą" tak otrzymany katalog! Moim zdaniem sposób informowania o tym iż dana nazwa to nazwa katalogu nie został odpowiednio przemyślany. Wystarczyło przecież zastosować metodę podobną, a nawet taką samą jaką stosuje MyDOS (przecież w Sparcie ten bajt i tak pozostaje pusty). Być może w przyszłości ten "kłopocik" zostanie usunięty w D-Filer'ku. Podsumowując. Poza ZMIANĄ NAZWY PODKATALOGU reszta operacji na podkatalogach jest możliwa pod warunkiem iż dany podkatalog nie zawiera rozszerzenia! Żaden z opisanych problemów NIE dotyczy MyDOS'a! Autor biblioteki |