[Allegro] Vb.260 Vorabdruck: HFM

Bernhard Eversberg ev at biblio.tu-bs.de
Di Jul 8 07:56:15 CEST 2014


Am 07.07.2014 18:18, schrieb Fischer, Thomas:
>
> Nur zur Klärung ein paar Fragen:
> 1. Mit
> var #77.1
> wird das Feld #77.1 *ohne* führendes Spatium ausgegeben.
> Bei
> var #77 kr
> steht hingegen vor dem Feldinhalt ein Leerzeichen. Korrekt?
>
Ja, denn "kr" ist eine Auflistung des Inhalts in der internen Form, und
da steht nun mal hinter "#77.1" ein Leerzeichen.
Während, wenn man var #77.1 schreibt, man den Inhalt von #77.1 haben
will, und zwar *nur* den, ohne Spatium davor.
Das Zwangs-Spatium bei den HFM-Feldern ist bewußt eingeführt worden,
weil sonst ein mit einer Ziffer beginnender *Inhalt* gar nicht als
Inhalt erkannt würde. Stellen Sie sich vor, wir hätten

#77.11914-1918

Mit var #77.1 käme nichts heraus - es sei denn, es gäbe noch ein #77.1
mit Spatium hinter "#77.1".
Nur mit var #77.11914 käme also was raus - aber nur "1918"! Denn bei
var #nnn.zzz geht das Programm intern so vor: Es sucht exakt nach
#nnn.zzz mit einem nichtziffrigen Zeichen dahinter - denn so ist dieses
Feld eindeutig identifiziert. Und als Inhalt wird genommen, was hinter
der Nichtziffer steht, der '-' fällt daher flach.
Sie könnten das als Irritat monieren und fordern, daß das Programm
nach dem Spatium suchen müsse und nur dieses dann wegnehmen, so daß
der Inhalt übrigbliebe. Diesem Einwand können wir zwar stattgeben, er
ist aber müßig! Denn eine Eingabe wie  #77.1ABC können Sie gar nicht
machen, es wird Ihnen ein Spatium eingefügt: #77.1 ABC wird
gespeichert, ob Sie wollen oder nicht. Die Suche nach "Nichtziffer"
ergibt damit dasselbe wie nach "Spatium".
(Sie könnten etwas anderes fordern: "Mit var #77.1 soll auch var #77.01
herauskommen oder #77.0001, denn die HFM-Felder werden ja nach dem
Zahlenwert geordnet, und nur eines dieser drei kann vorkommen!" Wir
haben das aber doch nicht so gelöst, sondern mit exakter Suche nach
#77.1 mit Nichtziffer dahinter, und ich denke, das wird in der Praxis
kein Problem sein. Wenn doch, ändern wir's.)

Wären wir dem Vorschlag gefolgt, eine feste Ziffernzahl vorzugeben,
z.B. 4, und stets .zzz mit führenden Nullen auszustatten, also dann
.0001 statt .1, dann könnte der Inhalt - wie bei den Feldern alter
Art - immer auf einer festen Position beginnen und wir hätten jetzt
diesen Disput nicht. Das war uns zu starr und die Festlegung einer
festen Ziffernzahl war zudem nicht möglich, weil es keinen Konsens
dazu gab. Eine neue Option in der CFG dazu wollten wir aber auch nicht
einrichten, denn jeder sollte unmittelbar, ohne jede Vorbereitung,
bei jedem alten Schema mit HFM-Feldern beginnen können.

> 2. Bekommt man mit
>   var #_nnn~(e" ")\if %.% ...
> nicht heraus, ob in dem letzten Mehrfachfeld von #nnn vor dem ersten Spatium ein Punkt steht?
> Ich denke an so etwas wie
> #nnn3Dr. Müller...
>
>
Nein, damit nicht, sondern mit  var _#nnn~\if ="nnn." ...
Wir nehmen das aber als Korrektur der Doku auf, da steht's
tatsächlich falsch drin, was Sie hiermit aufgespießt haben, danke.
Das Kriterium "Punkt vor dem ersten Spatium" ist nicht das
Entscheidende, sondern daß da die Kategorienummer nnn mit einem Punkt 
direkt dahinter am Beginn des Feldes steht.
Da werden Sie nun noch eine andere Frage stellen: Wie stelle ich fest,
ob das letzte Feld *des gesamten Satzes* ein HFM-Feld ist? Das wäre
schwieriger, aber wozu könnte man *das* wirklich wissen wollen?


B.E.




Mehr Informationen über die Mailingliste Allegro