Środowisko pracy 10/1.1 - Strona 1
10 Zarządzanie i konstruowanie aplikacji systemowych
10/1 Clarion for Windows 2.0
Clarion for Windows to zintegrowane środowisko służące do wytwarzania aplikacji Windows przeznaczonych do obsługi baz danych. Clarion for Windows należy do grupy narzędzi “wyższego poziomu” określanych mianem Rapid Aplication Development (Błyskawiczne Wytwarzanie Aplikacji). Jest tak dlatego, że Clarion to nie tylko język programowania, ale również efektywny generator kodu odciążający programistę od żmudnego wykonywania typowych składników aplikacji, takich jak okienka do przeglądania danych, formularze do ich aktualizacji, czy proste raporty.
Środowisko tworzenia aplikacji
Clarion nie jest językiem nowym. Pierwsza jego wersja (kompilator i interpreter), opracowana przez firmę Clarion Software Corporation, pojawiła się w maju 1986. Po kilku latach została nawiązana współpraca z firmą Jensen & Partners znaną z serii bardzo efektywnych kompilatorów o wspólnej nazwie TopSpeed (między innymi Modula-2, C, C++, Pascal) oraz z tego, że jej właściciel był jednym z założycieli Borlanda. Współpraca ta okazała się na tyle owocna, że w kwietniu 1992 roku doszło do fuzji firm i powstała nowa - Top Speed Corporation.
10/1.1 Środowisko pracy
Środowisko wytwarzania oprogramowania - Clarion for Windows 2.0 - składa się z siedmiu podstawowych elementów, wzajemnie ze sobą powiązanych. Są to:
· Edytor słownika baz danych (Dictionary Editor),
· Generator Aplikacji (Application Generator),
· Formater Okien (Window Formatter),
· Formater Raportów (Report Formatter),
· Edytor Kodu Źródłowego (Text Editor),
· Edytor Formuł (Formula Editor) i
· Edytor Projektu (Project System).
Oprócz tego jest dostępny oczywiście debugger i zawierający wszelkie niezbędne informacje system pomocy.
Słownik baz danych
Clarion for Windows jest bardzo elastyczny, jeśli chodzi o format wykorzystywanych plików danych. Umożliwia on przy tym równoczesne stosowanie wielu różnych formatów plików. Odbywa się to w ten sposób, że funkcje obsługujące poszczególne z nich sa zgrupowane w oddzielnych bibliotekach DLL ładowanych w razie wystapienia takiej potrzeby. Nic więc nie stoi na przeszkodzie, by nasza aplikacja obsługiwała równocześnie bazy danych zapisane w plikach np. formatu Clipper i Btrieve.
Elastyczne środowisko
Baza danych to nie tylko dane, ale też i indeksy decydujące o uporządkowaniu rekordów. W Clarionie rozróżnia się trzy typy indeksów: klucze (key), indeksy (index) oraz indeksy dynamiczne (dynamic index).
Klucz jest indeksem zakładanym na dane o określonej liście składników. Składnikami tymi są pola i może ich być wiele. Klucz jest aktualizowany automatycznie za każdym razem, gdy nastąpi aktualizacja danych.
Indeks to statyczna odmiana klucza. Podobnie jak on zawiera listę składników, którymi są pola. Różnica polega na tym, że indeks nie jest aktualizowany automatycznie. Obowiązek aktualizacji indeksu spoczywa na programiście, operację ta wykonuje się za pomocą instrukcji BUILD.
W przypadku indeksu dynamicznego nie definiuje się z góry jego składników. Możemy definiować różne zestawy składników w różnych miejscach programu. W ten sposób za pomocą jednego pliku możemy uzyskiwać różne indeksy.
W zdecydowanej większości przypadków, na bazach danych poszczególnych formatów możemy operować w oparciu o ten sam zestaw poleceń i funkcji. Wyjątki, które choć nieliczne jednak występują, są wyszczególnione w dokumentacji i w systemie pomocy.
Należy wiedzieć, że w ramach pakietu Clarion for Windows są dostarczane sterowniki umożliwiające odczyt danych z plików o formatach przedstawionych poniżej .
ASCII
Pozwala na zapis i odczyt ze standardowych plików ASCII pozbawionych rozdzielników p.ól. Znakiem rozdzielającym rekordy jest CR/LF. Sterownik ten nie pozwala na stosowanie kluczy. Poza tym dane nie są bezpieczne, każdy użytkownik może je zmienić za pomocą dowolnego edytora tekstu.
BASIC
Umożliwia zapis i odczyt ze standardowych plików ASCII z rozdzielnikami pól. Rozdzielnikiem jest przecinek, wartości pól zamykamy w podwójnym cudzysłowie. Znak rozdzielający rekordy to CR/LF. Sterownik nie pozwala na stosowanie kluczy. Jest on dobrym wyborem wtedy, gdy dane mają być na przykład współdzielone z arkuszem kalkulacyjnym.
Btrieve
Sterownik umożliwia zapis i odczyt z plików Btrieve w oparciu o dostęp bezpośredni (niskiego poziomu). Sterownik ten znajduje zastosowanie w przypadku aplikacji sieciowych działających w oparciu o architekturę klient-serwer. W pojedynczym pliku są przechowywane dane i wszystkie klucze. W tym samym lub w oddzielnym pliku mogą być przechowywane pola memo.
Klucze dynamiczne są aktualizowane automatycznie po zmianie danych. Indeksy statyczne są przechowywane w oddzielnych, tymczasowych plikach kasowanych po normalnym zakończeniu działania aplikacji. W plikach Btrieve jest przechowywana okrojona informacja o ich strukturze. Jest możliwe otwarcie pliku, którego struktura w przybliżeniu pokrywa się ze struktura zdefiniowaną w aplikacji.
Clarion
Sterownik zgodny ze sterownikiem stosowanym w Clarion 3.0 for DOS. Dane oraz klucze i indeksy są przechowywane w oddzielnych plikach. Klucze dynamiczne są automatycznie aktualizowane po każdej zmianie danych. Rekordy maja stałą długość.
Clipper
Sterownik zgodny z formatem stosowanym w Clipper Summer’87 oraz Clipper 5.0. Dane oraz klucze, indeksy i pola memo są przechowywane w oddzielnych plikach. Rekordy mają stała długość.
DBase III
Sterownik zgodny z formatem stosowanym w dBase III. Dane oraz klucze, indeksy i pola memo są przechowywane w oddzielnych plikach. Rekordy mają stała długość.
DBase IV
Sterownik zgodny z formatem stosowanym w dBase III. Dane oraz klucze, indeksy i pola memo są przechowywane w oddzielnych plikach. Rekordy mają stała długość. Istnieje możliwość tworzenia plików wieloindeksowych.
DOS
Umożliwia zapis i odczyt z plików binarnych. Odczyt rekordu polega na odczytaniu odpowiedniej ilości bajtów, takiej jak suma bajtów zajmowanych przez pola zdefiniowane w strukturze rekordu. Nie jest możliwe stosowanie kluczy. Przetwarzanie pliku może odbywać się tylko sekwencyjnie i tylko do przodu, nie można pobrać poprzedniego rekordu.
Fox Pro
Sterownik zgodny z formatem stosowanym w Fox Pro oraz w Fox Base. Dane oraz klucze, indeksy i pola memo są przechowywane w oddzielnych plikach. Istnieje możliwość tworzenia plików wieloindeksowych. Przy dużych bazach danych wadą tego sterownika jest długi czas aktualizacji ze względu na indeksy.
Paradox 3
Sterownik zgodny z formatem stosowanym w Paradox w wersjach wcześniejszych niż 4.0. Rekordy są stałej długości
TopSpeed
Nowy, wydajny i bezpieczny format danych opracowany specjalnie dla Clarion for Windows (w związku z tym nie jest zgodny z Clarion 2.1 i 3.0 for DOS). Dane, klucze, indeksy i pola memo są przechowywane w tym samym pliku. Oprócz niego występuje oddzielny plik kontrolny transakcji.
Korzyści wynoszone ze stosowania pojedynczego pliku są następujące:
— otwieranie wielu plików (dane, indeksy, klucze) poprzez zastosowanie jednego uchwytu (file handle),
— oszczędna gospodarka zasobami systemu.
Maksymalny rozmiar rekordu to 64 KB, w pliku może się znajdować 4 294 967 295 rekordów. Rozmiar pliku danych jest ograniczony tylko miejscem na dysku.
Plik danych, na którym chcemy operować, musi zostać otwarty. W języku Clarion służą do tego dwa polecenia OPEN i SHARE. Oba działają w zasadzie tak samo, czyli otwierają plik. Różnica polega na domyślnym trybie, w którym ten plik jest otwierany. W przypadku OPEN jest to tryb 22H, w przypadku SHARE - 42H. Wartości odnoszące się do poszczególnych trybów oraz ich znaczenia zostały przedstawione w tabelce.
Wartość
Użytkownik
Inni użytkownicy
program SHARE.EXE
34 (22H)
odczyt / zapis
oprócz zapisu
wymagany
66 (42H)
bez ograniczeń
64 (40H)
tylko odczyt
18 (12H)
brak dostępu
nie wymagany
16 (10H)
32 (20H)
Definiowanie słownika
Słownik baz danych zawiera wszystkie informacje o bazach danych wykorzystywanych przez daną aplikację, ich kluczach, indeksach, sterownikach, wzajemnych relacjach. Generalnie tworzenie nowej aplikacji powinniśmy zawsze rozpoczynać od utworzenia nowego słownika baz danych lub przystosowania do jej potrzeb już istniejącego.
Operację tworzenia nowego słownika rozpoczynamy od wybrania polecenia File >> New. W Wyświetlonym okienku dialogowym wskazujemy zakładkę Dictionary i w polu File Name wpisujemy nazwę naszego słownika (plik domyślnie będzie miał rozszerzenie DCT) .
Rys. 10/1.1.1: Definiowanie słownika
Po podaniu nazwy słownika i wciśnięciu przycisku Create jest otwierane okienko, w którym definiujemy całą strukturę baz danych wykorzystywanych przez aplikację.
Add File Umożliwia zdefiniowanie nowego pliku danych.
Add Alias Pozwala na tworzenie aliasów.
Properties Wyświetla okienko dialogowe pozwalające na określenie właściwości pliku danych.
Fields/Keys Umożliwia definiowanie pól i kluczy dla wybranego pliku danych.
Delete Usuwa zaznaczony plik danych lub alias.
Browse Wyświetla okienko, w którym można przeglądać rekordy wybranego pliku danych.
Convert Zmienia format fizycznego pliku danych, tak, by pokrywał się z definicją określoną w słowniku.
Add Relation Pozwala na określenie powiązań relacyjnych wskazanego pliku lub aliasu.
Properties Umożliwia wprowadzanie zmian we wcześniej zdefiniowanej relacji.
Delete Usuwa wskazaną relację.
Dictionary Properties Pozwala na definiowanie informacji dotyczących aktualnego słownika .
Operacje tworzenia nowego pliku danych rozpoczynamy od wciśnięcia przycisku Add File. Powoduje to otworzenia okienka New File Properties, w którym definiujemy właściwości nowo tworzonego pliku.
Rys. 10/1.1.2: Tworzenie pliku danych
Name W tym polu wpisujemy nazwę pliku danych. Nazwa ta jest przyjmowana przez Generator jako etykieta odpowiedniej struktury definiującej plik danych.
Description ...
sq3llx