[Allegro] technische infos zum datensatz sichtbar machen. wie?
Thomas Berger
ThB at Gymel.com
Do Apr 28 10:16:22 CEST 2016
Am 28.04.2016 um 09:13 schrieb Fischer, Thomas:
> Hallo Herr Lehmann,
>
>>> Gesendet: Mittwoch, 27. April 2016 um 11:33 Uhr
>>> Von: "Klaus Lehmann" <lehmann_klaus at t-online.de>
>>>
>>>> kann man das nicht "statisch" anzeigen lassen? in der d-wrtf.apr?
>>>
>>> In der Exp.Sprache gibt es dafür leider keine Sondervariable und keine andere
>>> Handhabe, sich dergleichen Werte zu besorgen.
>>> Gehen könnte es nach vorläufiger Einschätzung mit einem AutoFLEX.
>>> Was das ist und wie man einen macht, steht in h flex, Abschnitt E.
>>>
>>> B.E.
>>
>> das ist doch klar wie klossbrühe, daß ich damit nix anfangen kann ;-)
>> sorry.
>> ich bin batcher mit dos, oder skripter mit bash. des weiteren perl
>> und konsorten....
>> aber flex? no sir!
>
> kein Problem.
> Sie setzen in die Variable #uX= (wie immer hilfreich, der Herr Berger) den Wert "X size", um einen FLEX size.flx (Umlaute und Sonderzeichen vermeidend) aufzurufen, z.B. indem sie in Ihrer _start.flx
> var "X size"
> ins #uX=
> setzen.
>
> Dann schreiben Sie
> var jb
> ins #ujb
> in eine Textdatei, nennen sie size.flx und legen sie in das Datenbankverzeichnis.
>
> Dann ist beim Aufruf eines Datensatzes die Parametervariable #ujb mit dem aktuellen Wert von jb belegt.
> Ich vermute, dass Sie diesen Wert suchen:
> jb Länge des Datensatzes in Byte (aktuelle Länge im Arbeitsspeicher)
> jf ... in der Datei (wird schon beim Einlesen des Satzes festgestellt)
>
> In Ihrer Parameterdatei (wahrscheinlich d-wrtf.apr) können Sie dann an geeigneter Stelle unterbringen:
>
> #ujb y0 p'\b Größe: \b0\tab ' P{C}
>
> und die Größe das Datensatzes wird Ihnen angezeigt.
>
> Wenn Sie nur diese eine Größe benötigen, können Sie das Verfahren noch vereinfachen:
> Setzen Sie im _start.flx
> var "x var jb\ins #ujb"
Vorsicht, das sollte entweder als
var "x var jb\\ins #ujb"
ins #uX=
oder als
#uX=x var jb\\ins #ujb
geschrieben werden, in beiden aber mit Verdopplung des "\"
Ich hatte gestern aehnliche experimentiert, #uX= laesst sich auch in
der d-wrtf.apr setzen. wenn man auf Anzeige anlaesslich des ersten
Datensatzes verzichten mag. Man muss sich da aber ueber die
Ablaufreihenfolge im klaren sein, es ist wirklich so wie
dokumentiert:
Erst wird der Flex aus #uX= ausgefuehrt
Dann werden die Anzeigeparameter abgearbeitet
Konsequenzen:
Setzen von #uX= wirkt erst fuer den naechsten Datensatz
(wenn man es immer auf denselben Wert setzt, ist das eher egal,
ausser beim Ersten)
#ujb wird vor dem Ausfuehren der Parameter gesetzt, wenn man es
loescht, kommt es nicht wieder.
[Ich hatte mir beim Testen zunaechst selbst ein Bein gestellt, indem
ich in die d-wrtf.apr setzte:
#nr djb dX= p"x var jb\ins #ujb|" e"|" =X=
#ujb p66 "Größe:" E":" P98
#ujb p{'\tab '} P{C}
funktioniert nicht!]
viele Gruesse
Thomas Berger
Mehr Informationen über die Mailingliste Allegro