[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