[Allegro] Zusammenfassung von Kategorien

Thomas Berger ThB at Gymel.com
Fr Feb 26 15:07:39 CET 2016


Am 26.02.2016 um 14:37 schrieb Fischer, Thomas:

> Ansonsten kommt es wohl darauf an, an welche Sprache man sich am
> meisten gewöhnt hat, da liegt mir die Exportsprache zur Zeit noch näher.
> Und die globalen Manipulationen sollten zumindest funktionieren, dabei
> stoße ich jedoch auf einige Probleme (HANS mit A99 v35.F).
> 
> 1. Wenn ich "Global" -> "Globale Manipulationen" aufrufe, sollte ich
> eine Exportparameterdatei wählen können, diese werden aber nicht
> angezeigt. Erst wenn ich deren Namen oder etwas wie "*.hpr" in die
> Namenszeile eingebe, kann ich die Datei auswählen.

Es werden fuer globale Manipulationen nur g-*.?pr angeboten. Und da
die Dateiauswahlbox zunaechst das Datenverzeichnis anbietet, taucht da
normalerweise nichts auf...


> 2. Wenn man "Globale Manipulationen" erneut aufruft, wird die letzte
> gewählte Exportparameterdatei angeboten, aber nicht neu eingelesen, dazu
> muss sie neu ausgewählt werden. In Verbindung mit 1. macht das das
> Testen mühsam. (Das wäre vielleicht überall eine Erleichterung, da das
> Auswählen heutzutage immer aufwändiger ist als das neu Einlesen. Andere
> Exportparameterdateien kann man per FLEX neu laden, geht das hier auch?)

Es *ist* die aktuelle Exportparameterdatei, die fuer Globale
Manipulationen benutzt wird.


> 3. Das überwindend erscheint es einfach, ein kleines Skript zu erstellen:
> 
> #-#
> #uxy dxy
> #uyz dyz
> #451. ++ P>X
> #uyz p'#080p' t2 M
> #uxy p'#451 ' M
> #+#
> #(X
> #cc +x c'Nachlass' Axy
> #cc P'; ' Ayz
> #-x
> #cca e5 P'  ' M
> #)X
> 
> Leider leistet das nicht ganz das gewünschte:
> 
> #451 Zassenhaus M 289
> #451AZassenhaus M 296
> #451BZassenhaus M 342
> #451CZassenhaus M 342 b
> #451DNachlass Hans Zassenhaus : mathematische Arbeiten und Aufzeichnungen (nach der von H. Zassenhaus vorgegebenen Ordnung)
> 
> wird zu:
> 
> #080pZassenhaus M 289; Zassenhaus M 342
> #451 Nachlass Hans Zassenhaus : mathematische Arbeiten und Aufzeichnungen (nach der von H. Zassenhaus vorgegebenen Ordnung)
> #451AZassenhaus M 296
> #451CZassenhaus M 342 b
> 
> d.h., es wird nur jede *zweite* Folgekategorie angesprungen und
> ausgewertet. Warum dies? Steckt in meinem Skript ein Gedankenfehler oder
> fehlt vielleicht eine strategische Null an geeigneter Stelle?

Der "Iterator", der durch die Fortsetzungen von #451 haspelt,
wird durch die parallel dazu erfolgenden Aenderungen am
Kategorienspeicher massiv beeintraechtigt (Ihr Rueckspeichern
#cca e5 P'  ' M
im Unterprogramm #(X).
Sie *muessen* zuerst alle Aenderungen *und* geplanten Loeschungen
ueber die von Ihnen skizzierte Schleifenkonstruktion in einer
Anwendervariablen sammeln, und anschliessend koennen Sie die dann
in den Kategorienspeicher zurueckspeichern.

[Das Problem ist nicht spezifisch fuer die Exportsprache oder
fuer die allegro-Sprachen, in allen Programmiersprachen kann
das analoge u.U. tueckisch werden]



> 4. Nebenbei habe ich bemerkt, dass +#cca als Sprungbefehl nicht funktioniert, daher das "#-x". Ist das selbstverständlich?

Bei HANS (t3,k5) m.w. leider ja, nicht nur fuer Sonderkategorien
sondern auch fuer Anwendervariable. Dafuer gibt es Kategorien
#00a ff.
die in der .CFG definiert sind und nur fuer relative Spruenge
eingesetzt werden, das spart also kostbare Sprungmarken und
Such-Zeit, leider um den Preis einer zusaetzlichen Codezeile.

viele Gruesse
Thomas Berger






Mehr Informationen über die Mailingliste Allegro