Magnetic Pages Article | 1995-09-02 | 6KB | 98 lines
MPARTICLE
ARexx Workshop Teil 1
7 Ab OS 2.1 liegt die Interpreter-Sprache AREXX anstelle5 von AMIGA BASIC jedem AMIGA bei. Leider vers
umte es2 Commodore, wie so oft, eine gute Beschreibung der3 Sprache beizulegen, ja bei meinem A1200 fehlte gar
jegliche Literatur
ber ARexx.
5 Da ich manchmal, z.B. in der Ferien, stundenlang vor/ dem Computer sitze, verbessere ich meist meine1 Konfiguration, l
sche nichtgebrauchte Files oder5 starte einfach mal ReOrg. Neulich fiel mir doch auf,5 da
ich den ARexx Server
RexxMast
gar nicht in die2 Startup-Sequence eingebaut habe. Dann dachte ich:5 "Hmm, wieso eigentlich, schlie
lich hab` ich sowieso4 kein Proggi f
r den Mist !". Als mir dann doch noch5 etwas langweilig wurde, startete ich ARexx, startete5 GoldED und schrieb einfach mal ein paar Scripte, von7 denen keines lief... Schlie
lich schnappte ich mir ein6 paar Beilegscripte von Programmen wie GED, PP, welche7 ich dann als "Schablone" f
r meine Programme benutzte.8 Schlie
lich klappte es, ich konnte kleinere "Programme"0 schreiben. Naja es sind mehr Befehle aber egal.
5 Jeder professionelle Programmierer wird jetzt sagen:5 "Der spinnt, tz, Programme in ARexx, Befehlssatz von
30 Kommandos."6 Naja okay, mit 30 Befehlen l
t sich nix machen, aber3 wir haben ja noch die Libraries, jeder kennst sie,/ sie vermotten auf unserer WB Disk oder auf der3 Festplatte. Man kann sie immer im LIBS Verzeichnis
finden.
Jetzt sagen die Programmierer:$ "Ha ha, die paar Rexx libraries !!"
8 Naja, es stimmt tats
chlich da
ARexx selbst z.B. nicht3 die Reqtools.library oder die Asl.library aufrufen- kann, aber ein cleverer Programmieren namens3 Francois Rouaix programmierte die "RXGen.library".4 Die RXGen.library bekommt ihr auf der etwas
lteren5 SaarAG 196. Mit dieser Library ist es m
glich selbst8 Systembibliotheken wie die Inuition.library aufzurufen.5 Ja man kan also einen Guru programmieren, jedenfalls/ mindestens einen mini-Guru der nicht abst
5 Dieses ganze "Expertengeschwafel" erstmal zur Seite,2 schreiben wir doch erstmal unser eigenes, simples3 Programm, vielleicht sollte es auch etwas n
tzlich' sein ? Ja, vielleicht f
r die Schule ?0 Naja, okay, hier ein Programm, um den Notenend-
durchschnitt auszurechnen:. (Wir werden den normalen Befehlsatz von ARexx0 benutzen, gebrauchen KEINE externen Libraries !, Das Programm wird auch auf Kick 1.3 und 2.0
laufen !)
/* Notenrechner */
2 SAY "Notenrechner-Script, berrechnet die Zensur.") SAY "Original aus WB 3.1 ARexx Handbuch"
SAY ""
response = 0
DO while response ~="Q"= /* Schleife wird solange abgearbeitet bis Q gedr
ckt wird */, SAY "Bitte alle 4 Einzelzensuren eingeben."
Say "Arbeit 1:"
Pull es1 /*
SAY "Arbeit 2:"
Pull es2 /*
SAY "Arbeit 3:" Pull es3
SAY "Arbeit 4:" Pull es4
Say "M
ndliche Beteiligung:"
Pull P< Note = (((es1 + es2)/2*.3) + ((es3 + es4)/2*.45) + (p*.25))! SAY "Die Abschlu
note ist:" Note
SAY "": SAY "M
chten Sie wirklich weitermachen ? (Mit Q beenden)"
Pull response
EXIT
6 Der Befehl "SAY" gibt also einen ganz normalen String. aus. In unserem Beispiel ist dieser String in
hrungszeichen gesetzt.: Bei der Ausgabe der Abschlu
note ist aber "Note" nicht in6 "" gesetzt, warum ? "Note" haben wir die ganzen es1-41 Variablen zugewiesen, nat
rlich die berechneten.
Was hei
t Berechnet ?: Also man wird ja aufgefordet seine Noten einzugeben, dies; wir z.B. mit SAY "Arbeit 1:" gemacht, doch bis jetzt haben9 wir ja nur ein String ausgegeben. Da wir das eingegebene8 noch brauchen werden, m
en wir ARexx mitteilen, da
es5 sich merken soll. Dies tut man, indem man den Befehl= PULL eingibt. Da PULL nicht alleine stehen kann, schlie
lich= brauch ARexx ja noch einen Namen unter dem es es sich merken; kann, weisen wir dem eingegebenen noch eine
Variable
zu.4 Dies geschieht mit es?. Also es1, es2, es3 und es4.6 Die Variablen m
en nicht es hei
en, wir k
nnten auch6 bongo1, bongo2, bongo3, bongo4 oder Gonzo1, Gonzo2...
schreiben bzw. zuweisen.
ter lassen wir dann die endliche Note ausrechnen.: Dies geschieht, indem man eine Variable als "Oberbegriff": benutzt, indem die Summe, also das Ergebnis, der Rechnung6 gespeicher wird. Also die Summe von es1-4 wird "Note"
zugewiesen.
: Zum Schlu
nnen wir dann den Ergebniss String ausgeben.4 Nun sieht das etwas seltsam aus, wenn nur die Summe: ausgegeben wird, also verpacken wir das ganze noch etwas.
Dies geschieht mit:
SAY "Die Abschlu
note ist:"
6 Dieser String wird ausgegeben. Nun m
en wir nur noch# die Summe, also die Note ausgeben.: Dies machen wir einfach, indem wir unsere Variable "Note" hinter den String setzen. Also:
! SAY "Die Abschlu
note ist:" Note
/ Damit ist das eigentliche Script fast beendet.6 Nun noch die Abfrage ob wir weitermachen wollen, also1 nochmal eine Notenberechnung durchf
hren wollen.
. Dies Geschieht mit "PULL response". (Ohne "")
6 Wenn also "Q" eingeben wird, wird das Script beendet.4 Die Anfangsschleife
berpr
ft ob ein "Q" eingegeben8 wurde oder nicht. Wenn ja, wird das Script abgebrochen,
wenn nein wird weitergemacht.
5 Soviel zu Teil 1 des ARexx Workshops, wenn Interesse7 besteht, werde ich diesen Workshop gerne weiterf
hren,8 es liegt an euch, schreibt doch nen kurzen Text f