[Allegro] Vb.298: Jetzt KnowHow sichern - und du staunst wirklich ohne Ende, was DIESE einfachen Tricks mit a99, acon &Co. alles möglich machen!

Bernhard Eversberg b-eversberg at gmx.de
Mo Jul 16 13:26:30 CEST 2018


Verlautbarung 298 zur allegro-Entwicklung                    2018-07-16
-----------------------------------------
(Der Anhang klärt auf über die ungewöhnliche Betreffzeile.)

       Mehr über FLEX, die allegro-Skriptsprache und zugleich 
           DAS Alleinstellungsmerkmal des allegro-Systems

Zuerst für EINSTEIGER ein paar Tips:
  (alles, was hier vorgeschlagen wird, ist komplett ungefährlich!)

Wer von FLEX noch so gut wie nichts weiß, probiert einfach mal diesen
einfachen Trick in a99 aus:
X umrech   (eingeben in das Schreibfeld, aber ein großes X!)
Dann erscheint ein Menü von Umrechnungs-Funktionen.
Setzen Sie den Balken z.B. auf die Zeile  C <-> F ...
Sie sehen, was dann passiert: man kriegt Celsius in Fahrenheit
umgerechnet und umgekehrt.
Dahinter steckt ein FLEX-Skript, es heißt  umrech.flx

Noch zwei Beispiele:
X kalender  : Kalenderfunktion
X iban      : IBAN aus Kontonummer errechnen

Was haben diese Sachen mit allegro zu tun? Nichts - FLEX ist eine
Art Programmiersprache. Die hat zwar besondere allegro-Funktionen, 
die keine andere Sprache besitzt, aber man kann auch sonstwas 
programmieren damit.
Jetzt noch ein Beispiel, aber MIT allegro-Funktionen:

X dbinfo : Info zur Datenbank 
           (DAS steckt hinter "Global / Datenbank-Information"!)

Mit  X abc  kann man jede FLEX-Datei  namens abc.flx ausführen.
Jede Datei abc.flx (also z.B. umrech.flx) kann man sich mit
jedem Texteditor (z.B. notepad oder WinVi) anschauen und editieren.
Einfach nur anschauen kann man sie auch mit  h abc.flx  in a99. 
Editieren und wieder speichern geht dann übrigens auch...

Nun zur Sache:
Seit den ersten Anfängen 1996 hat sich FLEX in 22 Jahren zu einem
Werkzeug fuer (fast) alle Zwecke ausgewachsen.

HISTORIE
Als ersten Ansatz kann man die "avanti-Befehlssprache" nennen:
  http://www.allegro-c.de/news/acn963.htm
Der Name FLEX wurde aber erst in den allegro-news 1999-2 geprägt:
  http://www.allegro-c.de/news/acn992/acn992.htm
In den Vbs wurde FLEX erstmals in vb114 vom 26.7.1999 erwähnt.
Seitdem in fast jeder Nummer.

RESSOURCEN  (zum Lernen und Nachschlagen)
1. Lehrbuch (von Carsten Elsner, deutsch, bebildert, sehr ausführlich):
    http://www.allegro-c.de/flex/handbuch.htm
2. Einstieg: (englisch, insbes. mit Hinweisen zu a35 und acon)
    http://www.allegro-b.de/download/doku/aconflex.htm
3. Gesamt-Doku in a99:
    h flex
4. FLEXikon (Übersicht der Befehle):
    Browser:
     http://www.allegro-b.de/download/doku/flex/
    a99 (interaktiv):
     h xa (alphabetisch)   h xaf (Funktionsübersicht)
    v flex
     alphabetisch geordnetes Register zu FLEX-Funktionen
5. Anwendungen mit acon (= Konsolprogramm und a35-Server)
    h acon  (FLEXe für acon sind Dateien vom Typ .job statt .flx)
6. Sammlung der FLEXe im Gesamtpaket (mehr als 300):
    Diese Dateien liegen im Ordner  allegro\flex
7. FLEXe, die hinter Buttons und Menüfunktionen in a99 stecken:
    (in dunkelrot sind die Namen der FLEXe angegeben!) 
    http://www.allegro-b.de/download/doku/alca99g.htm
8. Trick-Sammlung : Lösungen für viele interessante Probleme
    X gj tricks.htm
      Sehr brauchbar auch zum Lernen - alles ganz genau beschrieben!

NUTZUNG
Die meisten oder fast alle FLEXe bekommt ein Anwender nie als Datei
zu Gesicht, sondern sie werden ueber die Buttons, Menuefunktionen oder
den X-Befehl ausgelöst. Vor allem aber durch Aufrufe, die eingebaut 
sind in Textdateien oder "ViewListen". Vor allem folgende sind sehr 
wichtig - vielleicht haben Sie die noch nicht alle gesehen:

h exprt : Komfortmethoden des Exports
h fremd : Fremddaten einspeisen (Import)
h alf   : Ausleihfunktionen
h order : Erwerbungsfunktionen
h zabom : Zeitschriften-Abo-Management incl. Heftzugang
v quick : Gesamtmenue mit mehr als 400 Funktionen, sehr viele FLEXe
          sind dabei beteiligt. Welche es sind, das sieht man, wenn
          man sich die Datei  help\quick.vw  als Textdatei anschaut.

Was fuer FLEXperten noch fehlt, ist eine Doku der .inc-Dateien.
Wozu sind die gut, was kann man damit machen?
Hier kommt sie, die Doku:

Dokumentation der .inc-Dateien  (KurzErklärung siehe --> h xinclude)
------------------------------
Wer FLEXperte werden will, der nimmt sich was vor. Man muß allerdings
nicht alles selber programmieren!
Neben der eh schon umfangreichen Doku der ca. 100 Befehle gibt es auch
einige fertige komplexere Funktionen, die man einbauen kann in eigene
Skripte. 18 Stueck sind im Gesamtpaket: Dateityp .inc im FLEX-Ordner.
Da steckt jeweils ein Unterprogramm drin oder mehrere, das bzw. die man
mit perform ... in eigenen FLEXen aufrufen kann, wenn man die betr. 
Datei mit include ... einbindet. Die meisten wurden in irgendeiner 
Verlautbarung oder einer Trick-Doku erklärt, aber in den Dateien 
selbst stand nicht allzuviel ueber Sinn und Zweck. Diesem Mißstand 
soll hier abgeholfen werden.
Hilfreich ist in manchen Fällen die Tricks-Doku: X gj tricks.htm.

Querverweis: Kollege Eger hat eine eigene Sammlung von FLEX-
Unterprogrammen erstellt:
  http://www.aneg-dv.de/Modulare%2BParameter%2Bf%25C3%25BCr%2Ballegro-C.html
Diese ist besonders zur Unterstuetzung der Ausleih- und Erwerbungs-
funktionen gedacht, aber auch allgemeiner nutzbar. Ins Gesamtpaket
uebernommen wurde  zeitfunkt.inc, siehe unten.

Hier aber die wichtigsten Hinweise zu den .inc-Dateien im Gesamtpaket:
Die Angaben hinter -> sind help-Befehle, die man in a99 direkt eingibt,
oder es ist eine URL zum Aufruf der Beschreibung im Browser.

a99svi.inc    -> h vb281
  wird in  a99erg.flx  und anderen genutzt
  enth. Basis-URL fuer Job-Aufrufe an entferntes a99 via avanti

alf.inc   -->  h alf
  enth. Einstellungen fuer aLF. Wird von  a-init.flx  einbezogen.

algsrch.inc  -> X gj tricks.htm#34
  Volltextsuche mit RegEx in Grunddateien (Typ .xlg)

alldata.inc  -> h vb234
  Alle Datendateien (*.xld) schnell durcharbeiten

day.inc  -> h vb214   [s.a. zeitfunkt.inc  und  h kalender]
    auch -> X gj tricks.htm#18 
  ein paar Datumsfunktionen. Ausprobieren mit  X day.inc test
  Eingebunden in  kalender.flx  und  holiday.flx

dirlist.inc  -> X gj tricks.htm#52
  Dateiliste erstellen, zur Bearbeitung vorlegen

expi.inc  -> h vb198
  UProg zum Grund- oder Externdatei exportieren (statt mit srch.exe)

extact.inc  -> X gj tricks.htm#76
  eigene Aktion mit der aktuellen Erg.Menge durchfuehren

fsort.inc  -> X gj tricks.htm#56
  Feldinhalt manuell oder automatisch ordnen (2 Funktionen)

ftr.inc  -> X gj tricks.htm#33
  Volltextsuche in Gesamtbank mit Regulärem Ausdruck (RegEx)

numcon.inc  -> X gj tricks.htm#65
  Inhalt eines Feldes ordnen, z.B. Schlagwörter oder Namen
  
oh.inc  -> h vb288  (Verwendung in ohio.flx und ohiolink.flx)
  Textdatei im MARC-OHIO-Format umwandeln in a.cfg

order.inc  -> h order; wird verwendet von o-init.flx
  enth. lokale Einstellungen fuer den Betrieb von ORDER

random.inc  -> h vb218
  Unterprogramm: 22stellige Zufallszahl ermitteln

rsfsr.inc  -> h vb197
  Volltextsuche mit RegEx in aktueller Erg.Menge

stri.inc  -> X gj tricks.htm#48
  Trick 48: Präzisions-Ersetzungen
  Zeichen an fester Position in eine Zeichenfolge einfuegen
    wahlweise mit Ersetzung vorhandener Zeichen

z39m.inc  -> h vb278
  Textdatei im MARC-Z39-Format umwandeln fuer a.cfg
  eingebunden in zc.flx = Datensätze von Z39.50-Servern holen

zabom.inc  -> h zabom  und  h vb204
  enth. lokale Einstellungen fuer den Betrieb von ZAboM

zeitfunkt.inc  -> umfangreiche Doku ist drin enthalten
  Funktionssammlung fuer Wandlung und Berechnung
    von Datums- und Zeitangaben
  Autor: Anando Eger

SONDERFALL:
optsget.inc  -> h vb245
  Wertet die acon-Startzeile aus und stellt die dort angegebenen
  Optionen bereit: Aus Aufrufoption -xabc  wird  $OP_x = abc
  Fuer acon, nicht fuer a99! Wird verwendet von update.job und srch.job
  Liegt im ProgDir, nicht im FLEX-Ordner.

--------------------------------------------------------------

Kleinigkeiten

_initial.flx irritierte
-----------------------
Dieser FLEX wird ausgelöst von _newdb.flx, nachdem man eine neue,
noch leere Datenbank angelegt hat. Man erhielt eine irritierende
Meldung, "Label :drei not found"
Behoben!

Obsolet: zf.inc  [kann gelöscht werden]
---------------
im FLEX-Ordner, wurde längst abgelöst von random.inc

=======================================================================

ANHANG

Was folgt, interessiert nur diejenigen, denen die Überschrift komisch
vorkommt. Zur Sache tut es nichts.

"Jetzt KnowHow sichern - und du staunst wirklich ohne Ende, was DIESE
einfachen Tricks mit a99, acon &Co. alles möglich machen!"

Was soll das?

Die neue Generation des Online-Journalismus macht's vor, wie man heute
Leseanreize schafft! Denn das ist entscheidend, will man Aufmerksamkeit
in den Digitalmedien auf sich ziehen, also Neugier auf eigene Texte.
Wir haben eine Fortbildung besucht, um die Methodik kennenzulernen,
und fassen hier das Gelernte mal zusammen:  

Ein gern gebrauchtes Muster ist, in der Überschrift ein eher banales 
Statement zu machen, dann aber eine sehr viel versprechende Aussage 
folgen zu lassen, eingeleitet mit "- und" oder " - dann", jedoch nur
als vage, nichts wirklich schon enthüllende Andeutung.

Wichtige weitere Elemente, die man gern verwendet:

-- Dringlichkeit suggerieren oder schnellen Vorteil versprechen,
     hier mit "Jetzt ..." 
-- "sichern" spricht den Sammlerinstinkt an, der wirkt unterschwellig!
     Überdies und -haupt:
-- "Jetzt ... sichern" ist kürzer, direkter und kommt besser an als 
     eine unverblümte Aufforderung wie "Sichern Sie sich jetzt ..."
     Dabei sollte ... etwas sein, was vermutlich jeder gerne hätte,
     aber in der Überschrift noch nicht wirklich konkret benannt ist.
-- den Leser direkt anreden, mit "du" natürlich
-- eine Verheißung aussprechen, hier mit "du wirst staunen"
-- "wirklich" kann nie schaden: es verspricht willkommene Aufklärung
     und Ausräumung von Fehlinformationen &Co.
-- "ohne Ende" - nicht sparen mit populären Superlativen! 
-- ein DEMONSTRATIVpronomen als verbaler Zeigefinger, der auf das
     Eigentliche weist, was da auf den Leser wartet. Erst der nächste
     Klick enthüllt dann aber, auf was der Finger zeigt - es geht hier
     um FLEX, nicht wirklich oder nur um "a99, acon & Co.!")
-- &Co. ist ein Zusatz, der jetzt einfach hip ist und lässig durch-
     blicken läßt (Anklang an "cool"!), daß noch vieles ungesagt bleibt
     ("& Co." hat "usw." und "etc." komplett verdrängt;
       auch "komplett" ist übrigens ein sehr beliebtes Wort)
-- "einfach" ist immer gut - keiner will richtig denken müssen
     (Das Wort "einfach" gehört zu den häufigsten im heutigen
      deutschen Sprachgebrauch, achten Sie einfach mal drauf!)
-- Das Reizwort "Trick" verspricht Einfachheit im Umgang mit
     etwas eigentlich Schwierigem, was man gerne können würde
-- An's Ende gehört ein Ausrufzeichen als einfachster Bekräftiger.
-- Und KURZ muß sie sein, die Überschrift, wenig Lesezeit kostend!
     (Gegen DIESEN einen Rat verstößt unser Beispiel, setzt aber
      damit einfach noch einen individuellen Akzent oben drauf, und
      die Überschrift hebt sich dadurch schon optisch heraus aus dem
      Wust der Mails, die dauernd hereinprasseln.)

Dies alles verrät aber noch nichts - und DAS ist das Wichtige - von
der wirklichen Sensation, dem Skandal oder der Horrormeldung, auf 
die der Titel anspielt - die man aber erst erfährt mit dem nächsten
Klick: DER wird dann den unerträglich straffen Spannungsbogen
lösen - und was wäre einfacher als 1 Klick?
Überall da, wo Geld verdient werden muß, geht einfach nichts ohne
diesen nächsten Klick, denn
1. nur dann werden auch geldbringende Werbebotschaften sichtbar, und
2. nur dann hat die Zeitung (oder was es ist) die Möglichkeit, den
   Zugriff zu der eigentlichen Information noch abzubremsen und den
   User zum Abonnieren zu animieren.

Historischer Hintergrund:
Neu ist die Idee des Leseanreizes im Titel zwar gar nicht, sie wird 
aber in den e-Medien zu neuer Wirkmächtigkeit gesteigert.
"Ein Titel muß kein Küchenzettel sein. Je weniger er von dem Inhalte 
verrät, desto besser ist er." schrieb G.E. Lessing in seiner 
"Hamburgischen Dramaturgie" - und führte antike Beispiele an:
  http://gutenberg.spiegel.de/buch/hamburgische-dramaturgie-1183/23
"Seiner Kürze zum Trotze" so dürfte sich L. schon gedacht haben, "soll
ein Titel kraft Wortwahl und Formulierung des Lesers Neugier befeuern."
Ein lesenwertes Stück in diesem unserem Zusammenhange!
(Nebenbei: Zu L's Zeit hatte der Dativ noch die Endung -e, wie es das
Zitat schon zeigt. Heute wirkt das uncool.)

"Leseanreiz" sagt man übrigens nicht für die genannten Stilmittel,
sondern es gibt schon seit ca. Dez. 2013 ein neues, praktisches, ganz 
einfaches Wort: "Clickbait" - Klickköder:
  https://de.wikipedia.org/wiki/Clickbaiting
Das Grundidee geht jedoch schon zurück auf offline-Praktiken des 
"yellow journalism", also der Gelben Presse oder Skandaljournalismus.
Dort allerdings wurden damit meistens Banalitäten aufgebauscht, und
DAS ist das Gegenteil von dem, war wir mit diesem Beitrag vorhatten.





Mehr Informationen über die Mailingliste Allegro