[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