|
Trochę historii. Clipper powstał w 1985 roku jako język programowania na podstawie systemu zarządzania bazą danych dBase firmy Ashton-Tate. Poczatkowo Clipper'a rozwijała firma Nantucket. Pod jej kontrolą powstały kolejne wersje: * Clipper'85 Winter* Clipper'86 Autumn - 31.09.1986 * Clipper'87 Summer - 21.12.1987 W roku 1990 powstała nowa (zupełnie) wersja Clipper'a. Wersja ta była zgodna (funkcjonalnie) z Clipper'87 natomiast pod względem wewnętrznej architektury był to już zupełnie nowy produkt. * Clipper 5.00* Clipper 5.01 - 15.04.1991 Wersja 5.01 była ostatnią (i niezbyt udaną) wersją firmy Nantucket. Wkrótce po jej wypuszczeniu Clipper'a przejął jeden z największych producentów software w ameryce - Computer Associates, który w krótkim czasie wypuscił poprawioną wersje: * CA-Clipper 5.01aNastępnie po dwuletnim milczeniu powstała nowa, już całkowicie wyprodukowana przez CA wersja. Wersja 5.2 była wielokrotnie poprawiana. Powszechnie uważa się że wersja 5.2d jest najlepszą (najstabilniejszą) wersją Clipper'a * CA-Clipper 5.20 - 15.12.1993* CA-Clipper 5.2a * CA-Clipper 5.2b - 25.07.1993 * CA-Clipper 5.2c * CA-Clipper 5.2d - 25.03.1994 * CA-Clipper 5.2e - 07.12.1995 Ostatnia wersja Clipper'a pokazała się w 1995 roku. * CA-Clipper 5.30 - 26.07.1995* CA-Clipper 5.3a - 20.05.1996 * CA-Clipper 5.3b - 21.05.1997 Wszystko wskazuje na to, że to już koniec. CA nie planuje nowych wersji (ani poprawek). Oficjalnym ciągiem dalszym jest CA-Visual Object. |
|
Podstawy języka Clipper. Program utworzony przez programistę jest nazywany programem źródłowym i jest on po prostu tekstem. Po przetłumaczeniu przez translator uzyskuje się program wynikowy (binarny). Przy pisaniu programu należy zwracań uwagę na poprawność składni. W języku Clipper relacje (tablice) pamiętane są w postaci plików bazy danych. Każdy wiersz tablicy odpowiada rekordowi, a każda kolumna tablicy odpowiada polu. Pliki bazy danych mają rozrzeszenia .dbf. Inne podstawowe pliki wykorzystywane w języku Clipper to pliki zawierające pola typu MEMO danego pliku bazy danych o rozszerzeniu .dbt, pliki zawierające informacje o uporządkowaniu rekordów pliku bazy danych o rozszerzeniu .ntx oraz pliki .mem przechowujące nazwy zmiennych i ich wartości, które zostały zapamiętane w pliku podczas wykonywania programu. Pola w pliku bazy danych mogą być typu tekstowego (character), numerycznego (numeric), typu daty (data), logicznego (logical) oraz typu notatnika (memo). Pliki bazy danych można utworzyć przy pomocy pomocniczego systemu o nazwie dbu.exe
dostarczanego wraz z kompilatorem Clipper, lub wykorzystując funkcję DBCREATE().
Do otworzenia istniejącego pliku bazy danych służy instrukcja USE, np Język Clipper umożliwia zaindeksowanie plików bazy danych tzn. przechowywanie Język Clipper definiuje 255 obszarów roboczych. W celu przejścia do określonego obszaru roboczego należy wykonać instrukcję SELECT z określonym parametrem definiującym numer obszaru roboczego (od 0 do 255) Do przejścia do wybranego rekordu wykorzystuje się instrukcję SKIP, np Podstawową instrukcją służącą do wprowadzania i wyprowadzania danych jest instrukcja
@... SAY...GET @ 10, 30 SAY "Pewien tekst" Na ekranie w miejscu o współrzędnych 14, 20 wyprowadzony zostanie komunikat: W celu przypisania wartości wyrażenia wskazanemu elementowi języka np. zmiennej Zmienne lokalne dostępne są wyłącznie wewnątrz danej procedury. Zmienne statyczne natomiast dostępne wewnątrz procedury w której Zmienna PUBLIC dostępna jest we wszystkich procedurach programu, chyba że istnieje zmienna PRIVATE, LOCAL lub STATIC o takiej samej nazwie jak zmienna PUBLIC. Składnia deklaracji PUBLIC jest następująca: Jeżeli odwołujemy się do pola bliku bazy danych, wówczas nazwę zmiennej
Przykład: Zmienne sterujące. Podstawową instrukcją decyzyjną jest instrukcja IF o następującej strukturze: Mogą to być również instrukcje zagnieżdżone: instrukcja1 ELSEIF warunek2 instrukcja2 ELSE instrukcja3 ENDIF Następną instrukcją sterującą jest: DO WHILE DO WHILE warunek Instrukcja DO WHILE powoduje wykonanie bloku instrukcji tak długo, Instrukcja FOR: Instrukcja FOR powoduje wykonanie instrukcji umieszczonych pomiędzy słowem kluczowym FOR a NEXT określoną liczbę razy. Przykład: Wyniki wykonania programu: Następny program wczytuje 10 liczb i sprawdza czy są one większe od 1000
CLEAR Instrukcja DO CASE DO CASE Przykład: DO CASE Tablice. Tablica jest to uporządkowany zbiór wartości, które posiadają taką samą nazwę. Każdą wartość w tablicy nazywamy jej elementem. Element tablicy może być dowolnego typu z wyjątkiem typu MEMO. W tej samej tablicy elementami mogą być łańcuchy tekstowe, liczby, daty, a nawet inne tablice, obiekty oraz bloki kodu. Fakt, że elementem tablicy może być inna tablica, jest bardzo istotny, ponieważ umożliwia tworzenie tablic zagnieżdżonych, które są rozszerzeniem tablic wielowymiarowych. Tablicę przyporządkowuje się zmiennej, która zawiera odwołanie do tablicy (wskazanie na tablicę). Inaczej pisząc zmienna jest deklarowana jako tablica. Tablicę można tworzyć wykorzystując jedną z następujących instrukcji: PRIVATE, PUBLIC, LOCAL, STATIC. Przykład: Procedury i funkcje. Procedura posiada następującą strukturę: Funkcja posiada następującą strukturę: Procedura od funkcji różni się tym, że procedura nie może zwracać wartości. Procedura lub funkcja mogą być umieszczone w dowolnym miejscu w programie lub w oddzielnym pliku (chyba, że jest zadeklarowana z opcją STATIC - wówczas może być wywoływana wyłącznie przez podprogramy umieszczone w tym samym pliku, w którym znajduje się jej definicja). Przykład ilustrujący wywoływanie podprogramów: |
|
(c) LAnFORM 09-06-2003 r. |