• Arexx w praktyce - część 1

27.12.2006 09:29, autor artykułu: Dariusz Gac
odsłon: 5618, powiększ obrazki, wersja do wydruku,

Witam wszystkich zainteresowanych Arexxem. ARexx jest prosty i potężny jednocześnie. Po nauczeniu się podstaw będziesz w stanie uwolnić wielką, ukrytą siłę zawartą w AmigaOS i długo jeszcze będziesz się dziwić dlaczego nie zacząłeś eksperymentów z Arexxem wcześniej. Najistotniejszą rzeczą jest jednak po prostu radość z tworzenia. Jeśli to co robisz Cię nie bawi, nie jest wtedy warte robienia. Zasadniczo moim celem jest ukazanie możliwośći związanych z wykorzystaniem oprogramowania udostępniającego tzw. port Arexxa. Dlatego nie będę się skupiał na szczegółach samego języka jako takiego.

Zaczynamy...

Arexx jest jedną z cech, która powoduje że Amiga jest tak dobrym komputerem. Wykorzystuje on wielozadaniowość AmigaOS w sposób nie spotykany w podobnej skali na innych systemach operacyjnych. Dzięki niej, Arexx pozwala na łatwe modyfikowanie zachowań konkretnych programów do swoich własnych celów. Jakkolwiek, nie trzeba pisać skryptów Arexxowych tylko pod kątem poszczególnych programów. Można również pisać skrypty same w sobie będące aplikacjami i niezależne od jakichkolwiek programów. Jednak najważniejszą zaletą Arexxa jest kontrola innych programów, czy nawet wymiana danych między programami, wyposażonymi w tzw. port Arexxa.

Niezbędne wymagania:

Arexx jest nierozłącznym elementem systemu AmigaOS od wersji 2.0. Aby korzystać z jego dobrodziejstw należy go przede wszystkim uaktywnić poprzez uruchomienie polecenia RexxMast, ale proponuję dokonać następujących czynności:

  1. Utwórz katalog REXX na swojej partycji systemowej i następnie wyedytuj S:Startup-Sequence i zmień linijkę, która mówi:
    Assign >NIL: REXX: S:
    na
    Assign >NIL: REXX: SYS:Rexx
  2. upewnij się, że Arexx jest startowany wraz z systemem. W tym celu w S:User-Startup powinna być zawarta sekwencja:
    Run >NIL: SYS:System/Rexxmast >NIL:
  3. Upewnij się, że katalog RexxC dopisany jest do ścieżek systemowych. W S:Startup-Sequence powinieneś mieć dopisane:
    RexxC:
    po SYS:Utilities/
  4. Sprawdżź czy następujące polecenia są zawarte w katalogu SYS:RexxC:
    TS TCC RXC TCO WaitForPort HI RXSET RX RXLIB TE

Jako że Arexx jest językiem interpretowanym, oznacza to że każdy jego skrypt czy program jest niczym innym jak zwykłym plikiem tekstowym. Do napisania skryptu wystarcza każdy, choćby najprostszy, edytor tekstu. Skrypty ARexxa, generalnie rzecz ujmując, powinny posiadać w swej nazwie rozszerzenie .rexx. Dzięki temu rozszerzeniu są one rozpoznawane przez system amigowy.

Każdy program, czy skrypt Arexxa musi posiadać jako pierwszą linijkę komentarza np.

/* Moj pierwszy skrypt ARexxa */

czy np.

/* $VER: MojSkrypt.rexx v1.0 (01/12/2006) */

Arexx posiada swój własny zestaw poleceń które można wykorzystywać w skryptach, jak np. polecenie SAY, które otwiera okienko CLI i wyświetla zadany tekst. Polecenia Arexxa można pisać tak małymi jak i dużymi literami, ale stosownie do niepisanego standardu lepiej je pisać drukowanymi literami. Skrypt nabiera przez to czytelności.

Poniżej prosty przykład:

/* $VER: hello.rexx v1.0 (01/12/2006) */
SAY "hello, world!"
/* Koniec skryptu */

Otwieramy edytor tekstu, wpisujemy te linijki, po czym zapisujemy skrypt do pliku pod nazwą hello.rexx do RAM:. Otwieramy okno CLI, po czym wklepujemy z klawiatury:

rx Ram:hello.rexx

Jako rezultat otrzymujemy "hello, world!" w nowej linijce okienka CLI.

Poniżej następny przykład skryptu, który pozwala na obliczenia matematyczne, będący jednocześnie prostą aplikacją:

/* kalk.rexx - prosty kalkulatorek */
parse arg args
interpret 'say 'args
exit
/* End */

Aby użyć ten skrypt, zapisz go do pliku jako RAM:kalk.rexx. Nie zapomnij o linijkach komentarza, zwłaszcza pierwszej linijce. Istnieje kilka sposobów na uruchamianie skryptów Arexxa. Najprostszy wymaga konsoli CLI i użycia polecenia RX (z katalogu SYS:RexxC):

rx Ram:kalk.rexx 2+2

lub po prostu:

rx Ram:kalk 2+5

Zamiast "2+2" czy "2+5" można oczywiście użyć dowolnych wyrażeń numerycznych rozumianych przez AmigaOS.

I to by było na tyle tytułem wstępu do Arexxa. Poniżej zamieszczam zestaw funkcji wbudowanych w Arexxa:

ABBREV()
ABS()
ADDLIB()
ADDRESS()
ARG()
B2C()
BITAND()
BITCHG()
BITCLR()
BITCOMP()
BITOR()
BITSET()
BITTST()
BITXOR()
C2B()
C2D()
C2X()
CENTER() lub CENTRE()
CLOSE()
COMPRESS()
COMPARE()
COPIES()
DC2()
DATATYPE()
DELSTR()
DELWORD()
EOF()
ERRORTEXT()
EXISTS()
EXPORT()
FREESPACE()
GETCLIP()
GETSPACE()
HASH()
IMPORT()
INDEX()
INSERT()
LASTPOS()
LEFT()
LENGTH()
MAX()
MIN()
OPEN()
OVERLAY()
POS()
PRAGMA()
RANDOM()
RANDU()
READCH()
READLN()
REMLIB()
REVERSE()
RIGHT()
SEEK()
SETCLIP()
SHOW()
SIGN()
SPACE()
STORAGE()
STRIP()
SUBSTR()
SUBWORD()
SYMBOL()
TIME()
TRACE()
TRANSLATE()
TRIM()
UPPER()
VALUE()
VERIFY()
WORD()
WORDINDEX()
WORDLENGTH()
WORDS()
WRITECH()
WRITELN()
X2C()
XRANGE()

oraz zestaw poleceń:

ADDRESS
ARG
BREAK
CALL
DO
DROP
ECHO
ELSE
END
EXIT
IF
INTERPRET
ITERATE
LEAVE
NOP
NUMERIC
OPTIONS
OTHERWISE
PARSE
PROCEDURE
PULL
PUSH
QUEUE
RETURN
SAY
SELECT
SHELL
SIGNAL
THEN
TRACE
UPPER
WHEN

Jak widać powyżej, bezpośrednio po uruchomieniu Arexxa mamy do dyspozycji, co może zaskakiwać, całkiem sporo tych funkcji i poleceń. Co ciekawe, może ich być nawet zdecydowanie więcej, ale to temat na dalsze roważania. A do czego służą konkretne funkcje i polecenia? Szczegóły znajdziesz w podręczniku Arexxa bądż na Aminecie np. tutaj lub tutaj. Miłej lektury! Niech moc Arexxa będzie z Tobą!

 głosów: 1   
komentarzy: 2ostatni: 14.01.2023 20:52
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem