Vb.137: FLEX-Unterprogramme
Heinrich Allers
allers at t-online.de
So Nov 12 01:03:46 CET 2000
Die Entwicklungsabteilung ließ kürzlich verlauten:
> Immer wenn man eine neue Programmiersprache erfindet, kann man sich
> auf eines verlassen: es kommen Momente, wo nach einer Unterprogramm-
> technik .... vehement verlangt wird.
Klar! Nur der Respekt vor dem bereits Geleisteten und den in
schneller Folge zusätzlich angebotenen Möglichkeiten hielten mich
von einer entsprechenden Nachfrage ab (oder war es schon die
Ahnung, daß da früher oder später etwas käme?).
> Soweit ist es auch mit FLEX gekommen. ...
> so dass wir nun das fertige Produkt vorstellen koennen.
Phantastisch!
Und als kleinen Dank dafür ein didaktischer Exkurs, der gestern
entstand, als ich jemandem, der mangelnder
Programmmierungserfahrung wegen nicht spontan mit
Begeisterung auf die Ankündigung einer Unterprogramm-Technik
reagierte, und - auch dieser Verständnisschwierigkeit wegen - nicht
gleich die befreiende Wirkung der Bereitstellung dieser Technik auf
die Flex-Unterstützung von bibliothekarischen Arbeitsgängen
ermessen konnte, anschaulich zu erklären versuchte, warum uns
diese Flex-Neuerung so nützlich ist.
Mein konstruiertes Beispiel: Pro Datensatz sind #90 und #91
einzufügen und/oder zu korrigieren. (Es gibt bestimmt bessere
Beispiele für die Demonstration von Funktionieren und Nützlichkeit
einer Unterprogramm-Technik, aber mir fiel auf die Schnelle kein
besseres ein).
Mein Ziel ist also, an einer relativ simplen Anwendung zu zeigen,
wie diese mit einer - kleinen und drum überschaubaren - Flex-
Datei erledigt werden kann, deren Übersichtlichkeit und
Ausbaubarkeit und Pflegbarkeit gerade durch Benutzung der UP-
Technik ermöglicht und sinnfällig wird.
Hier das Ergebnis meines Versuches, die UP-Technik durch einen
Didaktisierungsversuch zu popularisieren:
Zuerst gilt es, den Flexaufruf in der D-WRTF.APR zu verankern:
Hinter die Zeile
#nr dZ~ dY~ ...
die Zeilen
#t{t69 "Nachbearbeiten von 90 und 91" t68 C}
#dt "Nachbearbeiten von 90 und 91!" e"!" =Y~
#dt "X nachbear.flx!" e"!" =Z~
einfügen.
Die eigentliche Flex-Datei NACHBEAR.FLX, die der beschriebenen
Aufgabe gerecht wird, kann so aussehen:
*** Flex-Hauptteil (Kern des Flexes) / Beginn
perform upinit
Jetzt ist #90 dran:
var "#90"
Festhalten der zu bearbeitenden Kategorie-Nr.
ins #ukn
Einfügung oder Manipulation von #90:
perform kateinf
Jetzt ist #91 dran:
var "#91"
Festhalten der zu bearbeitenden Kategorie-Nr.
ins #ukn
Einfügung oder Manipulation von #91:
perform kateinf
end
*** Flex-Hauptteil (Kern des Flexes) / Ende
***Initialisierung von im UP kateinf
benutzten Anwendervariablen:
:upinit
var "Bitte jetzt"
ins #ua1
var "eingeben!"
ins #ua2
return
*** Unterprogramm (UP) kateinf:
:kateinf
var #ua1 " " #ukn " " #ua2 "=" #ukn
ask
ins #ukt
var #ukn " " #ukt
ins #uka
var #uka
ins
put
show rec
disp
return
Man male sich aus, wie sehr diese Datei aufgeblasen würde, wenn
es nicht nur keine UP-Technik gäbe, sondern diese
Nachbearbeitungsmethode sogar auf mehr als zwei Kategorien (#90
und #91) ausgeweitet werden sollte.
###
Zusatzbemerkung für Flex-Experten: Die hier wiedergegebene
Flex-Datei mag an manchen Stellen umständlich erscheinen; ich bin
zu ihr gekommen, weil einfachere Ansätze nicht die erwarteten
Ergebnisse zeigten. Ich hörte dann einfach auf, als das, was ich
wollte, ordentlich funktionierte; weitere Versuche zur
Vereinfachung der Flex-Datei stellte ich danach nicht mehr an.
###
Mit besten Grüßen:
Heinrich Allers
allers at t-online.de
http://home.t-online.de/home/allers
* Kulturen in Deutschland: Ja!
* Deutsche Leitkultur? Nein, Danke!
Mehr Informationen über die Mailingliste Allegro