Dziś przedstawię dwa z nadesłanych programów. Oba, mimo pewnych zastrzeżeń, mogą z powodzeniem spełniać zaplanowane funkcje i chciałbym w tym miejscu przekazać słowa uznania dla Autorów. Uwag zawartych w dalszej części proszę nie traktować jako surową krytykę, lecz raczej jako rady co jeszcze warto wziąć pod uwagę przy projektowaniu programów tego typu.
Autorem pierwszej bazy, uruchomionej na Atari 800XL jest JERZY FIOŁKA z Warszawy. Bezpośrednio po załadowaniu programu na ekranie pojawia się następujące menu:
*** MENU *** 1) Wprowadzanie zapisów. 2) Zmiana zawartości zapisów. 3) Podaje pierwszy napotkany zapis wg dowolnego wzorca. 4) Podaje wszystkie napotkane zapisy wg dowolnego wzorca. 5) Zapis bazy z kasety. 6) Zapis bazy na kasetę. 7) Kasowanie zapisów. 8) Zakładanie bazy. KASUJE STARĄ!!! Wybierz pozycję UWAGA: w każdej sytuacji „pusty” RETURN powrót do MENU.
Brakuje trochę możliwości dowiedzenia się czegoś bliższego o ogólnych zasadach pracy z programem — mogło by to być np. kilka ekranów tekstu, wyświetlanych po wybraniu (nieistniejącej w tej chwili) opcji: „Wyświetlanie skróconej instrukcji”. Na szczęście po wybraniu poszczególnych punktów z menu program informuje co robić dalej. Np. w punktach 3, 4 prosi o podanie wzorca. Jak funkcjonuje wzorzec niestety trzeba zgadnąć samemu. Otóż baza jest to ciąg rekordów, z których każdy może zawierać tekst Jeśli podamy wzorzec, np. arb to program znajdzie teksty zawierające w sobie ciąg znaków arb np. Barbara, rabarbar itd.
Brak tablic tekstowych w komputerze Atari autor ominął zapisując rekordy jako jeden długi tekst, w którym rekordy rozdzielone są znakiem @ Znak ten oczywiście nie może być zawarty w treści wpisywanych rekordów. Program informuje o tym zakazie, ale niestety nie sprawdza czy użytkownik go nie złamał. Nieco inaczej wygląda baza danych na Spectrum, której autorem jest MARCIN WITKIEWICZ z Warszawy. Główne menu jest tu nieco uboższe (PRZEGLĄDANIE, WYSZUKIWANIE, ZAPISYWANIE, DOPISYWANIE, ZMIANY), ale po wybraniu każdej z funkcji otrzymujemy następne menu (każda z funkcji ma własne), pozwalające wybierać bardziej szczegółowe czynności. Wyświetlane są także ułatwiające pracę wyjaśnienia.
Każdy rekord bazy składa się ź trzech pól, nazwy pól można wybrać samemu, wyszukiwanie rekordów odbywa się przez porównywanie podanego przez użytkownika wzorca z zawartością pierwszego pola każdego rekordu. Wzorzec porównywany jest tylko z początkiem, tekstu, tzn. tekst Bajtek będzie znaleziony dla wzorców takich jak Baj, Ba, Bajtek, natomiast (w przeciwieństwie do bazy Atari) nie będzie znaleziony dla wzorców: ajt, jtek, itd. Która z metod jest lepsza — to zależy od konkretnego zastosowania. Najlepiej by było, gdyby użytkownik miał do wyboru obie.
W bazie mieści się na stałe 100 rekordów. Te, do których nie wpisaliśmy danych przechowywane są jako puste. Przy zapisie danych podajemy numer rekordu, do którego mają zostać wpisane. Program wyświetla numery pustych rekordów, ale to za mało, powinien jeszcze sprawdzić, czy rekord, który wybrałem jest naprawdę pusty — brak tej kontroli może spowodować przypadkowe zniszczenie poprzednio wpisanych danych. Okazuje się jednak, że zaufanie do użytkownika jest typową cechą (przypomnijmy znak @ w bazie Atari). Następnym jego objawem jest pytanie czy baza już jest wczytana z kasety. Tego typu informacje program jest w stanie zapamiętywać sam.
I jeszcze rzecz wspólna w obu bazach: po wybraniu opcji „poprawianie rekordu” całą zawartość trzeba wpisać na nowo. Dużo wygodniej jest jeśli starą zawartość wyświetlimy na ekranie a użytkownik może przesuwać się po niej kursorem i nanosić poprawki — po co pisać na nowo 100 znaków, jeśli tylko jeden jest zły, a pozostałe dobre.
Na zakończenie raz jeszcze chciałbym podkreślić, że rozwiązania, które sugeruję znajdują się zwykle w poważnych bazach danych, tworzonych przez zespoły zawodowych programistów. Dlatego nie można mieć za złe komuś kto samodzielnie stworzył pierwszą w życiu bazę, że nie wszystko wziął pod uwagę.
Programy, które otrzymałem wykonują zadanie, do którego zostały przeznaczone i to jest najważniejsze - Dziękuję za ich nadesłanie i życzę Autorom dalszych sukcesów.
a.p.

