Program ten wymaga komputera z pamięcią 64 lub 128 KB oraz jednej lub dwóch stacji dysków. Umożliwia założenie zbioru danych o praktycznie dowolnej pojemności. Dla każego zbioru można zdefiniować dowolny format rekordu, w którym będą zapisywane informacje. Maksymalna wielkość rekordu jest ograniczona tylko rozmiarem ekranu: 21 wierszy po 80 (tak, osiemdziesiąt!) znaków. Oczywiście rekord może być dowolnie podzielony na pola różnych typów. Do tworzenia nowego zbioru stuży specjalny proram „Create”, który znajduje się na dyskietce SynFile'a.
Rodzaje pól
Podczas tworzenia struktury zbioru danych użytkownik ustala położenie, nazwę, wielkość i rodzaj elementów struktury zwanych polami. W jednym rekordzie można umieścić do 66 pól. Po ustawieniu kursora na wybranym miejscu należy wpisać nazwę pola. Nazwa może składać się z dużych i małych liter, cyfr i innych symboli (oprócz nawiasów). Maksymalna długość nazwy wynosi 31 znaków. Naciśnięcie RETURN zatwierdza podaną nazwę i powoduje wyświetlenie dodatkowego menu, które zawiera dozwolone rodzaje pól. Są one następujące:
Text — pole tekstowe, które może zawierać dowolne znaki (litery, cyfry, symbole, a także znaki pseudograficzne — z CONTROL). Maksymalna długość pola tekstowego wynosi 255 znaków.
Look-Up - pole tablicowane, którego zawartość musi znajdować się w tabeli. Po zakończeniu definiowania rekordu program prosi o wprowadzenie do tabeli wszystkich dopuszczalnych elementów. Przy zapisywaniu danych w polu Look-Up mogą być wpisane tylko takie elementy, które zostały wcześniej zdefiniowane (np. nazwy województw). Pola Look-Up pozwalają na zaoszczędzenie nośnika, gdyż na dyskietce zapisywany jest tylko numer elementu. Długość pola jest za to ograniczona do 34 znaków.
Date — pole daty, które zawiera datę w formacie amerykańskim — miesiąc /dzień/rok. Pole ma zawsze 8 znaków długości, a znaki „/” są wpisywane automatycznie. Program jest zabezpieczony przed wprowadzeniem niewłaściwej daty (np. miesiąc 15).
Numeric — pole liczbowe pozwalające na wprowadzenie dowolnej wartości z zakresu od -9x 1097 do 9x1097. Po wybraniu tego typu pola program pyta, czy położenie przecinka ma być ustalone (fix- ed), a jeśli tak, to ile będzie cyfr do przecinku
Integer — pole liczb całkowitych. Może zawierać liczby całkowite z zakresu od -32768 do 32767. Warto go używać wszędzie tam, gdzie występują tylko wartości całkowite, gdyż pole Numeric zajmuje sześć bajtów, a Integer tylko dwa.
Dollar — pole wartości pieniężnej, w którym każda liczba jest poprzedzana znakiem „$” (program powstał w USA) oraz ma dwie cyfry po orzecinku. Przy określaniu długości tego pola trzeba uwzględnić miejsce na punkt dziesiętny (przecinek), ale nie na „$”, gdyż ten znak jest umieszczony przed polem.
Computed — pole liczbowe o wartości obliczanej na podstawie zawartości innych pól według podanej formuły. Formuła jest wprowadzana podczas definiowania rekordu (Create). Obliczenie jest wykonywane automatycznie po wpisaniu rekordu.
Cumulative — pole liczbowe zawierające sumę innych pól i jego samego. Zawartość tego pola również jest obliczana automatycznie.
Conditional — pole warunkowe. Przy definiowaniu rekordu ustalane są dwa wpisy (typu Text, np. ZYSK i STRATA) oraz formuła warunku. Jeżeli obliczenie formuły warunku da wynik dodatni, to w polu umieszczany jest pierwszy wpis (ZYSK), a jeśli ujemny, to drugi (STRATA).
Record — numer wprowadzonego rekordu. Komputer wpisuje tu automatycznie kolejny numer licząc od 1. Maksymalna wartość w tym polu może wynosić 32767. Jest to najwygodniejszy sposób numerowania wprowadzanych danych, lecz numeracja |est wykonywana według kolejności wpisywania i nie można jej zmienić. W rekordzie może być tylko jedno pole typu Record.
Counter — pole licznika. Jego działanie jest podobne do Record. ale użytkownik określa liczbę początkową (od 0 do 999) i wartość, o jaką zwiększany jest licznik przy każdym nowym wpisie (od 1 do 100). Pole typu Counter może być także tylko jedno w rekordzie.
Po ustaleniu rodzaju pola trzeba jeszcze określić jego długość (oprócz Date) oraz sposób justowania wpisanej danej (do lewej lub prawej krawędzi pola). Jeżeli do pola liczbowego nie zostanie wpisana żadna informacja, to program samoczynnie umieszcza w nim zero. Pola typu Record, Counter, Computed i Conditional są wypełniane przez program.
Stworzoną strukturę rekordu można zmienić przez wybranie z programu „Create” funkcji „Edit file> (Redagowanie). Poza dodaniem i usunięciem pól możliwe jest również dokonanie w nich zmian. Program udostępnia możliwości: przesunięcia pola, zmiany nazwy, zmiany typu i zmiany długości.
Operacje na zbiorach
Często podczas pracy ze zbiorami danych występuje konieczność wykonania operacji na całości lub części zbioru (np. skopiowanie lub podzielenie). Dla umożliwienia tych i innych operacji SynFile+ posiada odpowiednie funkcje dostępne po wybraniu opcji FILES.
Open — otwarcie zbioru danych. Po wywołaniu tej funkcji wyświetlany jest spis zbiorów umieszczonych na dyskietce znajdującej się w stacji dysków. Po wybraniu kursorem odpowiedniego zbioru program odczytuje z niego niezbędne informacje, a następnie czeka na dalsze polecenia.
Close — zamknięcie zbioru danych. Wykonanie tej operacji jest konieczne po zakończeniu pracy z danym zbiorem, jeżeli zostały dokonane jakieś zmiany w jego zawartości. W przeciwnym razie dokonane zmiany mogą nie zostać zapisane na dyskietce. Gdy po dokonaniu zmian wybrana zostanie funkcja Open, program sam wykonuje najpierw funkcię Close.
Copy — kopiowanie zbioru danych. Umożliwia przeniesienie całego zbioru na inną dyskietkę lub wykonanie kopii na tej samej dyskietce. W celu uniknięcia pomyłek podczas kopiowania przy użyciu jednej stacji dysków zbiory źródłowy i docelowy muszą mieć różne nazwy (program tego nie sprawdza!).
Subfile — tworzenie podzbioru. Po wybraniu tej funkcji i podaniu nazwy nowego zbioru, program pyta o kryteria kopiowania poszczególnych rekordów do nowego zbioru. Obowiązują tu te same ograniczenia, co w funkcji Copy.
Merge — łączenie zbiorów. Ta funkcja pozwala na dołączenie jednego zbioru do drugiego. Zawartości pól ze zbioru źródłowego są przepisywane do zbioru docelowego do pól o tej samej nazwie i zbliżonym typie. W tym miejscu autorzy programu nie popisali się. Rekordy są bowiem przenoszone po jednym i przy użyciu jednej stacji i dwóch dyskietek wymaga to wymiany dyskietek tyle razy, ile rekordów jest przenoszonych. Trzeba więc korzystać z dwóch stacji dysków, albo wykonywać tę operację w obrębie jednej dyskietki.
Rename — zmiana nazwy zbioru. Funkcja ta pozwala na zmianę nazwy dowolnego zbioru, a działa podobnie jak w DOS-ie. Ponieważ jednak każdy zbiór składa się conajmniej z trzech plików, to użycie do tego celu DOS-u jest bardziej kłopotliwe.
Delete — usunięcie zbioru z dyskietki — ta operacja nie wymaga żadnego komentarza.
Density — zmiana gęstości zapisu na dyskietce. SynFile+ rozróżnia trzy gęstości: pojedynczą (single), podwójną (double) i rozszerzoną (1050). Ustawienie gęstości musi być wykonane przed formatowaniem nowej dyskietki danych. Pozniei- sze zmiany gęstości są już niemożliwe. Nie można także kopiować i przenosić zbiorów między dyskietkami zapisanymi w pojedynczej i podwójnej gęstości.
Format — formatowanie dyskietki przeznaczonej do zapisu zbiorów danych. Dyskietki przeznaczone na zbiory danych SynFile+ należy zawsze formatować przy jego pomocy, ponieważ format SynFile+ różni się nieco od standardowego (szczególnie w gęstości 1050).
SynFile → DIF — zmiana formatu zapisanych danych. Aby umożliwić przenoszenie danych pomiędzy różnymi programami opracowany został standardowy format zapisu informacji na dyskietce DIF (Data Interchange Format). Zbiory tworzone przez SynFile+ nie odpowiadają jednak temu formatowi przed użyciem ich np. w SynStat czy SynGraph. trzeba zmienić ich format.
DIF → SynFile — odwrotna operacja zmiany formatu z DIF na SynFile+ umożliwia dołączenie do zbiorów SynFile'a danych utworzonych przy pomocy innych programów.
Podczas przeprowadzania wymienionych wyżej operacji żądania komputera i konieczne informacje są wyświetlane w oknie menu. Ponieważ program zawiera kilka błędów warto przed przystąpieniem do łączenia, dzielenia i kopiowania zbiorów wykonać najpierw kopie całej dyskietki.
Operacje w zbiorze
Podstawowymi czynnościami, do których przeznaczona jest baza danych, nie są jednak operacje na zbiorach danych, lecz operacje na danych. Ich przeprowadzenie jest możliwe po otwarciu zbioru.' przez wybranie opcji RECORDS
Enter — wprowadzanie danych. Zdefiniowanie zbioru to jeszcze nie wszystko. Otrzymujemy w ten sposób jedynie tabelki, które trzeba wypełnić treścią. Umożliwia to funkcja Enter, która powoduje wyświetlenie pustego rekordu. Po wpisaniu odpowiedniej treści, naciśnięcie klawisza START umieszcza zawartość rekordu w zbiorze. Wprowadzanie danych jest przerywane przez naciśnięcie SELECT
Retrieve — przeglądanie danych. Przy pomocy tej funkcji można przeglądać i poprawiać wszystkie dane znajdujące się w zbiorze. Po jej wybraniu należy podać kryteria wyszukiwania informacji w zbiorze lub nacisnąć START, gdy chcemy przeglądać wszystkie rekordy. Po wyświetleniu rekordu można wykonać w nim dowolne zmiany lub naciśnięciem klawisza OPTION wywołać dodatkowe menu. Umożliwia ono wydrukowanie lub usunięcie rekordu, a ponadto przeliczenie zawartości jego pól liczbowych.
Re-index — porządkowanie zbioru. SynFile+ wymaga, aby zbiór danych był uporządkowany. Dlatego też operacja ta jest wywoływana automatycznie przy pierwszym otwarciu zbioru nowoutworzonego lub powstałego z przyłączania innego zbioru. Ponadto można ją wywołać w każdej chwili w celu zmiany uporządkowania zbioru. Najpierw wyświetlany jest wykaz nazw pól, z którego należy wybrać pole (lub pola), według którego będą porządkowane dane. W przypadku pól typu Text trzeba jeszcze podać, ile początkowych znaków z tego pola ma być uwzględnione. Teraz w górnej linii ekranu pojawia się informacja o liczbie znaków użytych do porządkowania zbioru oraz aktualna i maksymalna liczba rekordów, które mogą być w ten sposób uporządkowane. Wybór pól indeksowych kończy się po ustawieniu kursora na słowie DONE. Następnie program pyta jeszcze, czy kolejność porządkowania ma być rosnąca, czy malejąca i przystępuje do sortowania zbioru. Na koniec sposób uporządkowania jest zapisywany na dyskietce.
Delete all — kasowanie. Jeżeli zachodzi potrzeba usunięcia ze zbioru większej liczby rekordów, to wykonywanie tego pojedynczo jest bardzo żmudne. Należy wtedy użyć funkcji Delete all. Komputer najpierw pyta o kryteria usuwania rekordów, a po ich podaniu i potwierdzeniu wykonuje żądaną operację. Każdy usuwany rekord jest przy tym wyświetlany na ekranie, co umożliwia w pewnym stopniu kontrolowanie operacji.
Update all — zmiana zawartości. Podobne działanie ma funkcja zmiany zawartości rekordów. Jednak zamiast kasowania zamienia ona wskazany element rekordu na inny, który również musi być podany. Ponieważ żaden rekord nie może być powielony (skopiowany na inny rekord), to funkcja Update all umożliwia ominięcie tej niedogodności. W rekordach, w których zawartość jednego lub kilku pól ma być bardzo podobna, wpisujemy dane skrótowo (najlepiej przy pomocy nietypowych znaków), a następnie przy pomocy Update all zamieniamy ich zawartość na poprawną. Ewentualne drobne korekty można potem wykonać indywidualnie w każdym rekordzie.
Warto wiedzieć, że po żądaniu przez program podania kryteriów wyszukiwania nie trzeba wpisywać całej zawartości pola. Można użyć znaku *” na podobnych zasadach, jak podczas pracy z DOS-em, lecz zarówno za, jak i przed szukanym fragmentem pola (lub przed i za). Ponadto przy wyszukiwaniu danych można używać znaków „<” oraz „>” i to także w stosunku do pól tekstowych (litery są sortowane w kolejności: duże — małe, więc „a” jest za „Z”, a nie między „A” i „B”).
Raporty
SynFlle+ umożliwa także wykonywanie zbiorczych zestawień danych oraz tzw. etykiet. Rezultat tych operacji może zostać wyświetlony, wydrukowany lub zapisany na dyskietce. Funkcje te są dostępne po wybraniu opcji REPORTS.
Lists — listy. Po wybraniu tej funkcji w górnej części ekranu wyświetlane są nazwy pól, a w dolnej linia z liczbami. Linia ta określa liczbę znaków w jednym wierszu listy. Dla ekranu nie należy przekraczać wartości 40. Wartość dla zapisu na dyskietce jest dowolna, a dla wydruku zależy od trybu pracy drukarki. Po wpisaniu nazw pól w dolnej linii (nazwy muszą być oddzielone conajmniej jedną spacją) komputer rozsuwa je odpowiednio i pyta o urządzenie, na które ma wysłać listę. Po wybraniu stacji dysków pyta się jeszcze o nazwę pliku, a po wybraniu drukarki o tytuł wydruku. To ostatnie pytanie umożliwia podanie drukarce w tytule kodów sterujących i uzyskanie np. zwężonego lub wyrazistego druku. Na końcu należy jeszcze podać kryteria wyszukiwania rekordów ze zbioru.
Labels — etykiety. Ta funkcja w odróżnieniu od poprzedniej nie umieszcza danych z rekordu w jednej linii, lecz w polu o zdefiniowanym kształcie. Pożądany wygląd etykiety uzyskujemy przez wpisanie nazw pól w miejscach, w których ma się znaleźć ich zawartość. Maksymalny wymiar etykiety jest ograniczony rozmiarem ekranu (21 wierszy i 80 kolumn), a liczba pól w etykiecie nie może przekraczać 32. Po wybraniu urządzenia wyjściowego program pyta o parametry etykiet. Kolejno należy podać: liczbę etykiet obok siebie, lewy margines, poziomy (w spacjach) i pionowy (w liniach) odstęp między etykietami. Na zakończenie trzeba ustalić kryteria przeszukiwania zbioru.
Pomimo kilku błędów w programie oraz istnienia wielu innych baz danych dla komputerów Atari XL/ XE, SynFile+ wydaje się być bezkonkurencyjny w zakresie oferowanych możliwości. Jest to program wystarczający w zupełności do prowadzenia kartoteki, a w połączeniu z SynCalc także księgowości, w niewielkim zakładzie. Nawet serwis Atari w początkach działalności miał kartotekę prowadzoną przy pomocy SynFile+ — cały zbiór danych zajmował prawie dziesięć dyskietek.
Wojciech Zientara




