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