AW: [Allegro] Kopfbefehle

Thamm, Jochen jochen.thamm at leopoldina.org
Di Feb 14 08:38:32 CET 2012


Lieber Herr Eversberg,

a99 stammt aus dem gestern geholten inst-all vom 13. 2, was dann ein a99 vom 19. 1. installiert.
Da hol ich dann gleich die aktuellere Version.
Das mit den Kopfbefehlen ist mir soweit klar,  und wir drucken schon lange keine Karten mehr, brauchen diese Kopfbefehle nicht. Aber: sie sind nun mal da und die Anzeige hat funktioniert. 


Mit freundlichen Grüßen


Jochen Thamm
Leiter der Bibliothek

Deutsche Akademie der Naturforscher Leopoldina
- Nationale Akademie der Wissenschaften -

August-Bebel-Straße 50a
D-06108 Halle (Saale)

Tel. +49 (0)345 47239140
Fax +49 (0)345 47239149

jochen.thamm at leopoldina.org
www.leopoldina.org

Vereinsregisternummer 20649
Steuernummer 111/142/01520

-----Ursprüngliche Nachricht-----
Von: allegro-bounces at biblio.tu-bs.de [mailto:allegro-bounces at biblio.tu-bs.de] Im Auftrag von Bernhard Eversberg
Gesendet: Dienstag, 14. Februar 2012 08:18
An: Allegro-C Diskussionsliste
Betreff: Re: [Allegro] Kopfbefehle


Zuerst eine Frage an Herrn Thamm:
Von wann ist Ihr  a99.exe? Wenn es älter als 10.2.2012 ist, dann holen Sie sich zuerst das aktuelle:
   http://ftp.allegro-c.de/aktuelle-version/a99.zip


Zwecks Erhellung der Sache, falls dann noch Unklarheiten bestehen, muß man weit ausholen:

"Kopfbefehle" deuten mit ihrem Namen schon an, daß sie aus Zettelzeiten
herkommen: Zettel mußte man "köpfen", d.h. mit Überschriften versehen für die "Nebeneintragungen", um sie dann zwanglos unter diesen Kopfzeilen in die Schubladen einordnen zu können. (Als man noch die Zettel mit Schreibmaschine schrieb und per Offsetdrucker kopierte, mußte man die Kopien dann manuell köpfen.) Das bedeutete, daß für einen Datensatz i.d.R. mehr als ein Zettel zu drucken war. So lag die Idee nahe, die erforderlichen Köpfe mittels "Kopfbefehlen" festzulegen, und die sahen und sehen so aus:

ak=40.+a
ak=41.+b
ak=20+c
ak=31.+d
...

Jeder dieser Befehle lieferte dann - sofern die Felder belegt waren - einen Zettel; besser gesagt, je einen für jede #40 usw.

In der Anzeige brauchen wir aber stets den Datensatz nur in einfacher Ausführung, d.h. das Konzept der Kopfbefehle ist hier ein Fremdkörper.
In PRESTO war es nun aber so gedacht, daß die Anzeigeparameterdatei eine doppelte Aufgabe hatte: sowohl die Anzeige hervorzubringen als auch die Zettel zu drucken. Deshalb wurde dann für die Anzeige nur der erste ausführbare Kopfbefehl tatsächlich ausgeführt. Und wenn keiner ausführbar war, dann wurde die Kategorieliste von der ersten Zeile an abgearbeitet. So kam in jedem Fall was raus, wenn nur die erste Zeile nicht gerade  #+#  lautete.
Dazu mußten in den Parametern noch diese Zeilen stehen:

ad=1   (Aufnahme exportieren auch ohne Kopf, d.h. wenn kein ak-Befehl
         ausführbar ist)
dx=0   Für die Anzeige nicht umcodieren, nur für den Druck

Der zweite war für PRESTO richtig, weil der interne Zeichencode (ASCII) auch für die DOS-Anzeige galt. für Windows aber geht das nicht, da *müssen* die Zeichen umcodiert werden (ASCII -> ANSI).
Aus diesem, aber auch aus anderen Gründen (z.B. Flips, Schriftattribute
etc.) konnte unter Windows die Doppelfunktion nicht mehr aufrecht erhalten werden. Hat man aber eine separate Anzeigeparameterdatei, die für den Druck nicht herangezogen wird, sind die Kopfbefehle in ihrer intendierten Bedeutung obsolet. Sie lassen sich ersetzen durch eine Sequenz dieser Form (da, wo jetzt die ak-Befehle stehen):

#40 +a e0
#41 +b e0
#20 +c e0

#...

Bei den betr. Sprungmarken muß man aber jeweils #u1 durch #40 etc. ersetzen. Denn #u1 wird nur durch einen ak-Befehl belegt.

Das Vorhandensein bestimmter Felder steuert dann den Absprung an die richtige Stelle der Anzeigegenerierung. Sind alle diese Zeilen nicht ausführbar, weil die Felder fehlen, geht es an der Stelle #...
los, bei der ersten ausführbaren Zeile also, die demnach auch nicht gerade #+# lauten darf.

Diese Anordnung ist nicht schwer herzustellen bzw. in einer existierenden Anzeigeparameterdatei einzurichten, wenn diese noch mit ak-Befehlen konstruiert ist.
Unsere Standarddatei  d-wrtf.apr  ist schon lange so eingerichtet.

Angst vor dem Experimentieren mit den Anzeigeparametern ist unbegründet.
Es kann dabei an den Daten nichts passieren, denn die Parameter enthalten keine Speicherbefehle; sie ändern nur das Erscheinungsbild im Anzeigefenster, nichts am Datenatz selbst.

Wie heißen meine Anzeigeparameter und wo liegen sie?
Das sieht man im admin-Menü:  h adm  eingeben. Mit Klick auf das Wort "Anzeigeparameter" wird der Editor gestartet, um sie bearbeiten zu können. Welcher Editor? Derjenige, der mit dem Befehl Editor=...
in der INI-Datei eingestellt ist. Wenn da Editor=x steht, klappt es bei Windows 7/64 nicht. Dann hilft:
Editor=notepad
Besser aber
Editor=winvi
Jedoch muß man sich  winvvi.exe  besorgen und installieren:
   http://www.winvi.de/de/
Denn dieser kann leicht auf MSDOS-Code umgeschaltet werden.
Wer sich mit solchen Dingen unsicher fühlt, wird ohnehin seine
Programm- und Datenordner kopiert haben. Eine vermurkste Parameterdatei holt man sich dann aus der Kopie zurück.

Gleichwohl und dessenungeachtet werden wir nochmal schauen, ob wir das "alte Verhalten" noch wiederherstellen, also zurück in DOS-Zeiten regredieren können.

B.Eversberg

_______________________________________________
Allegro mailing list
Allegro at biblio.tu-bs.de
http://sun250.biblio.etc.tu-bs.de/mailman/listinfo/allegro






Mehr Informationen über die Mailingliste Allegro