[Allegro] HFM: Vervollständigung
Bernhard Eversberg
ev at biblio.tu-bs.de
Di Jul 1 08:06:07 CEST 2014
Die Herausgabe einer V34.3 verzögert sich noch ein wenig, weil für
die Hochfrequenz-Mehrfachfelder (HFM) noch Handlungsbedarf bestand.
Was unbedingt noch rein mußte, waren folgende Funktion(alität)en:
o Anfuegen eines neuen HFM-Felds ans Ende der schon vorhandenen:
Wenn #nnn~ xyz eingegeben wird (direkt oder per insert im FLEX)
wird die letzte #nnn.zzz gesucht und auf die Zahl dann 1
aufaddiert, um die nachfolgende HFM-Kennung zu bilden.
Wenn keine #nnn mit . und Zahl vorkommt, wird auf die alte Weise
ein neues #nnn-Feld ergaenzt (also z.B. #403, wenn #402 vorkommt)
o Um mit einem Befehl gleich zwei oder mehr HFM-Felder anzufügen,
trennt man sie mit einem Zeilenvorschub:
var "#nnn~ Text1" n "#nnn~ Text2" n ...
insert
Fuer acon gilt aber (Grund: Sicherheit gegen "code injection")
die Schreibweise
var "#nnn~ Text1;#nnn~ Text2;#..."
insert
(Das war schon lange so und klappt auch mit HFM-Feldern)
o In FLEX geht nicht: if #nnn.zzz
Es ergibt sich stets die Bedingung "no", mit "if #nnn." aber stets
"yes", wenn überhaupt irgendein #nnn vorhanden ist.
Ersatzweise kann man schreiben, wenn man checken will, ob #77.123
besetzt ist:
var kr
var (b"77.123 ")
if "" mes #77.123 ist nicht besetzt
o U.U. möchte man mal das erste HFM-Feld von #nnn haben. Aber mit
"var #nnn." kriegt man das erste aller #nnn-Felder, nicht das erste
mit einem Punkt. Dafür gibt es keinen einfachen Befehl.
Die erste Nummer bei #77 findet man ersatzweise mit diesem Rezept:
var kr
var (b"77." e" ")
ins $n1
var "_#77." $n1
var
In der iV steht dann z.B. 77.8 text, wenn .8 das erste HFM-Feld ist.
Die Programme a99hfm und aconhfm liegen bereit zum Ausprobieren:
www.allegro-c.de/aktuelle-version/a99hfm.zip
www.allegro-c.de/aktuelle-version/aconhfm.zip
B.E.
Mehr Informationen über die Mailingliste Allegro