[Allegro] Vb.280 : V36.1 ist da

Thomas Berger ThB at Gymel.com
Do Mai 12 18:54:38 CEST 2016


Lieber Herr Eversberg, liebe Liste,

> Verlautbarung 280 zur allegro-Entwicklung                    2016-05-12
> -----------------------------------------
> Kleinere Verbesserungen, insbes. f. Win'10
> ==========================================
> FLEX : if fam ...
> -----------------
> if fam  hat jetzt in acon und a99 gleiche Funktionsweise.
> Achtung: Es wird dabei keine Erg.Menge gebildet, aber
> die Anzahl der verknuepften Untersaetze steht anschliessend in
> der iV, das ist neu.

danke (v.a. fuer die Reparatur, die auch Kleinfamilien
anerkennt)



> acon: Befehl get
> ----------------
> get  las nur bis zu ca. 1250 Zeichen. Jetzt 2.000.000
> Diese Groesse ist im Prinzip unnoetig! Denn get ist gedacht fuer
> Textdateien, Zeilen mit solcher Laenge werden kaum je auftreten.
> a99 wuerde aber sogar bis 4 MB lesen.

verbreitete Praxis, gerade fuer XML-, JSON- oder Turtle-Daten
ist, einen "Record" pro Zeile auszuliefern, damit Empfaenger
(notfalls) auch ohne einen speziellen Parser mit Text-Ausschneide-
Methoden eine hinreichende Verarbeitbarkeit haben.

Laenger als einige Dutzend Kilobytes duerften solche Konstruktionen
aber nie sein.


> Neue F8-Funktion: individuelle Notiz zum Datensatz
> --------------------------------------------------
> Es kommt vor, dass sich ein Bearbeiter zu einem bestimmten Datensatz
> eine individuelle Notiz machen will, die andere nicht brauchen oder
> sehen sollen.
> Allgemeine Notizen, die jeder sehen soll oder wissen darf, kann man
> seit je mit im Datensatz speichern, z.B. in einer #81X oder #98Y.
> Um jetzt private Notizen zu ermoeglichen, die nicht im Datensatz
> stehen, wurde eine Unterfunktion in onf8.flx eingebaut:
> "Notiz zumm Datensatz"    (vorletzte Zeile des Menues)
> Man drueckt also F8, wenn der betr. Datensatz angezeigt ist, dann
> kommt eine Eingabezeile mit der Ueberschrift "Notiz", darunter im
> Eingabefeld der Text. Diesen kann man nun
> -- aendern und mit Enter wieder speichern
> -- mit Entf Enter loeschen
> -- mit Esc ohne Aktion wieder verschwinden lassen
> Wie funtioniert das?
> Genutzt werden dazu die "Persistenten Variablen", und zwar wird eine
> solche angelegt mit dem Namen
> idnummer-operatorcode
> Wenn also Operator meyer zum Datensatz mit #00 c123 eine Notiz eingibt,
> entsteht im Register 1 von  cat.azx  die Variable  c123-meyer=notiztext
> Die zugehoerige Routine findet man in  onf8.flx  unter :Notiz
> Wer keine Datei cat.azx bei seiner Datenbank hat, kopiert sie sich aus
> dem Programm-Ordner in den eigenen Datenbankordner - sie ist leer. Und
> zwar unter dem Namen  dat.bzx  wenn die Datenbank nicht cat heisst
> sondern dat und nicht mit a.cfg arbeitet sondern mit b.cfg.
> Mehr an Vorbereitungen ist nicht noetig. Bei Reorganisation der
> Datenbank bleibt diese zusaetzliche Datei unangetastet. Wenn man sie
> allerdings mal loescht, sind alle Notizen weg.
> Die Sache ist nur ein kleiner Ansatz, der bei Bedarf sicher noch
> funktional weiter ausgebaut werden kann.

Die Datei waere um einige Bytes kleiner, wenn Sie die Funktion
statt anhand der $A-spezifischen #00 mittels des Primaerschluessels
"formatneutral" implementiert haetten.

Die .azx-Datei liegt in prg\demo bzw. prg\demo2, nicht in prg.

Das unkommentierte Fallback auf die .cdx-Indexdatei halte ich fuer
problematisch, da gehen die Notizen bei der naechsten Indexierung
verloren.

Die Notizen duerfen nicht viel laenger als 100 Zeichen sein.

Leider bietet allegro keine Funktionen, einen darauf hinzuweisen,
dass eine Annotation vorliegt (die Exportsprache kann in die Multix-
Register nur schreiben, nicht von dort lesen), ausser man zaubert
etwas mit den juengst erwaehnten Auto-Flexen. Aber es ist natuerlich
ein beruhigendes Gefuehl, das Datenbank-Aequivalent von kleinen
gelben Zettelchen produzieren zu koennen, man schreibt so etwas doch
deutlich haeufiger als man es liest, zumal ja nicht angedacht ist,
Notizen allegro-2.0-maessig zwischen den Bearbeitern zu sharen.

viele Gruesse
Thomas Berger



Mehr Informationen über die Mailingliste Allegro