[Allegro] V28.8 pre-Release 2

Bernhard Eversberg ev at biblio.tu-bs.de
Fr Aug 22 10:21:11 CEST 2008


Wenn eine CD-Produktion ansteht, zaudern wir immer besonders lange mit
der Festschreibung.
Die V28.8.1 soll daher nun erst am nächsten Donnerstag kommen.
Weil gerade auf das neue JanaS und etliche Kleinigkeiten, siehe unten,
sicher schon sehr gewartet wird, gibt es heute ausnahmsweise schon
ein zweites pre-Release mit erweitertem Vorabdruck der Vb.209.
[Hinweis: nur aus Gründen der Tradition verzichten die Vb-Texte auf
ä,ö,ü,Ä,Ö,Ü,ß: die erste erschien 1995, da hatten die meisten Mail-
Systeme damit noch arge Probleme.]

Bereitgelegt:  http://ftp.allegro-c.de/aktuelle-version/inst-all.exe
(alcarta, a99, a99a, janas liegen da auch separat)
Auch SVN aktualisiert.

Verlautbarung 209 der Entw.Abt.                              2008-08-28
-------------------------------
zweiter Vorabdruck 22.8.


V28.8 mit Archivdatenbank
=========================
Die Idee ist einfach: Eine Datenbank im Hintergrund zu haben, in die
hinein man sich jederzeit irgendwelche Datensaetze kopieren und aus der
man sie bei Bedarf wieder hervorholen kann. Das koennen Momentaufnahmen
bestimmter Saetze sein, die im laufenden Betrieb oft veraendert werden,
es koennen Saetze sein, die man anschliessend loeschen will und von
denen man zur Sicherheit eine Kopie aufbewahren will.
Die Umsetzung war weniger einfach, aber in V28.8 ist die komplette
Loesung enthalten. Ziel war aber, dem Anwender die Sache extrem leicht
zu machen, vom Anlegen der Archivbank bis zu ihrer spurlosen Loeschung.
Auch wichtig: Keine Aenderungen an den Parametern etc. der Grundbank,
schon gar nicht in deren Daten, sofortiges Funktionieren mit JEDER
allegro-Datenbank.

Was muss man tun? Extrem wenig:

1. Im "Fuellhorn" auf "Archivdatenbank" klicken, dann wird sie angelegt
    (falls noch nicht existent) und/oder sofort gestartet. Man sieht
    gleich nach dem Anlagen noch keinen Datensatz, sondern nur eine Art
    Ueberschrift.   [die Arbeit macht ara.flx]

2. Danach bei jedem beliebigen Datensatz F8 und "s : Satz archivieren".
 >> Auch: e : Ergebnismenge aktualisieren.
    In der Statuszeile erscheint "Archiviert" und wenn man umschaltet
    auf die Archivbank, sieht man die Kopie.  [ark.flx]

Mehr zu den Einzelheiten und Moeglichkeiten:  h archiv
Darin auch Tips, um das Archiv gleich beim Start der Grundbank eben-
falls zu oeffnen bzw. am Sitzungsende automatisch zu schliessen. Das
Archiv laeuft in einem separaten a99-Fenster als eigene Datenbank!


ZAboM: Mahnwesen
================
Es wurde eine einfache Loesung gefunden, ueber die schon in der
Mail-Liste am 28. und 30.7. berichtet wurde. Jetzt ist sie
offiziell mit drin.
Mehr dazu:  h zmahn.txt
Das Verfahren ist schon in alle relevanten Menues, Dateien und
Texte einbezogen.
Man braucht erfreulich wenig zu tun, um das Konzept zu nutzen.
Der Text beschreibt alles. In der DemoBank sind schon Beispiele von
Heften, die gemahnt werden muessen: Klicken Sie im ZAboM-Menue den
den neuen Punkt "Mahnungen", dann sehen Sie diese. Waehlen Sie einen
davon aus, dann koennen Sie auch den Mahnbrief sofort anzeigen lassen.

Besser funktioniert jetzt auch "Abos eines Lieferanten".
Wenn das bei einzelnen nicht geht: die Hilfsliste der Lieferanten
mal erneuern lassen. An kommt es darauf, dass in den Abosaetzen
die Lieferantenkennung hinsichtlich Gross-/Kleinschreibung korrekt
drinsteht, d.h. mit der Kennung im Systemsatz uebereinstimmt
(d.h. mit der Angabe code in  #9A Lcode...).


aLF: Ueberfaellige Sachen anzeigen
==================================
Eine neue Funktion auf dem Hauptmen (alf.rtf):
    Ueberfaellige Exemplare
Es wird damit die Ergebnismenge unter R im Register 10 gebildet,
von 1900 bis zum aktuellen Datum. Diese wird dann mit den aktuellen
Druckparametern (i.d.R. p-w.apr) angezeigt. Die Standarddatei
p-w.apr wurde dahingehend erweitert, dass bei den Exemplarsaetzen
auch der Entleihername und der Exemplarbarcode erscheinen, damit die
Uebersicht umso brauchbarer ist.
(Kein neuer FLEX, sondern der ist gleich in alf.rtf eingebettet!)

Kleinere Verbesserung: Bei "Exemplar freigeben" wird jetzt nach
Erledigung nicht mehr in die Rueckgabeschleife gesprungen.


Kleinere Verbesserungen
=======================

Engl. Fuellhorn
In onhlpa99.flx wird nun nur bei Sprache Deutsch die Datei
fillhorn.rtf geladen (der Name ist ja ein Witz). Bei anderer
Sprache aber cornuXXX.rtf  wobei XXX die Sprachkennung ist.
Mitgeliefert wird cornu.rtf und enthaelt die engl. Version.


FLEX
====

get pid
-------
   Kopiert die Prozess-IdNr in die iV

cstring.flx verbessert
----------------------
  ce, cn, cg, ci, cf aus der CFG werden angezeigt


Manipulationsbefehle von var und write: (ist schon laenger so!)
--------------------------------------
? maskiert einzelnes Zeichen
z.B.:  var ...(e"?A") endet vor xA  mit bel. x
Praktische Anwendung: Wenn man z.B. hinten 2 Zeichen abschneiden
will von #123, dann
var #123 "[}" (e"??[}")
ins #123


Feste Anzahl Zeichen vom Ende einer Zeichenfolge
------------------------------------------------
Im Trick 72 stand: "Es gibt leider keinen Manipulationsbefehl, der
direkt die letzen 100 Byte herausgriffe."
Jetzt gibt es ihn!
Man kann jetzt  var #nnn(0,-100) schreiben, um die letzten 100
Zeichen von #nnn zu kriegen. (Gilt auch fuer acon)
Plausibler ist zumindest den Perl-Kennern die Syntax #nnn(-20,20),
um die letzten 20 Zeichen zu kriegen. Das geht ab V28.8.1 ebenfalls.
Ist #nnn kuerzer, bleibt der Text unveraendert.
Moeglich und vermutlich sinnvoller ist die Form (-100,100), dann
werden zuerst die letzten 100 Zeichen genommen, davon dann 100,
also der gesamte Rest.
(Beschreibung jetzt auch in  xcstring.rtf)



$-Variablen
-----------
Ab sofort gehoeren die mit $@ beginnenden $-Variablen ebenfalls
zu den sog. "grossen" Variablen. Diese bleiben erhalten ueber den
FLEX hinaus fuer die gesamte Sitzung. Das traf schon zu fuer alle mit
einem Grossbuchstaben beginnenden Namen, also $A... bis $Z..., jetzt
kommt also $@... noch hinzu.
Das hat diesen Sinn: Es soll mit $@... eine Klasse von Variablen
geben, die fuer Systemzwecke verwendet werden, also als Flags fuer
besondere Zwecke, mit Gueltigkeit fuer die gesamte Sitzung.
Man konnte sich auch bisher schon irgendeine Teilmenge der Variablen
per Konvention fuer solche Aufgaben reservieren, aber es konnte dann
theoretisch Kollisionen geben mit Variablen in Standard-FLEXen oder
anderen, die man von sonstwo uebernahm. Total auszuschliessen ist das
mit $@... auch nicht, aber wir wollen nun ganz bestimmte Variablen
mit solchem Namen ausdruecklich reservieren und von Beginn an sicher-
stellen, dass sie noch nicht anderweitig verwendet werden.

Als erste solche Variablen fuehren wir jetzt diese ein:

$@a     Archiv-Flag  (wird in ara.flx gesetzt)
         Wenn eingeschaltet, dann ist die sog. ArchivBank eingerichtet
         und fuer die laufende Sitzung aktiviert.


Befehl extern
-------------
Damit wird ein Satz mit Hilfe der Parameter e-w0.apr in eine Datei
exx.xxx geschrieben und der Editor darauf angesetzt. Wenn man aber nur
extern 0  gibt, unterbleibt der Start des Editors.


ins $x
------
mit einstelligem Namen x konnte zu Fehlern fuehren, wenn ein # am
Anfang der iV stand. Behoben.


var ... Jd
Damit verwandelt man den momentanen Inhalt der iV in Dezimalzahlen,
z.B. wird aus   var "abc" Jd  dann  "97 98 99 "
Brauchen wird man das am ehesten, um ein einzelnes Zeichen mal in
seinen dezimalen Codewert zu wandeln:
var #20(0,1) Jd
liefert in der iV den Zahlenwert des ersten Zeichens in #20


JanaS klappte mit DbAux nicht
-----------------------------
d.h. wenn in der INI-Datei mit DbAux=... ein anderes Verzeichnis als
Arb.Verz. als das Startverz. von a99 eingestellt war.
... aber jetzt geht's


JanaS
=====
Mehrere geoeffnete a99 koennen nun je ihren eigenen JanaS-Browser
starten. "Besondere Links" sendet der jeweilige JanaS dann auch
nur an das zugehoerige a99.
Empfehlung: In der Registry den bisher dort eingetragenen
Schluessel "Local AppWizard Generated Applications" loeschen,
(unter HKEY_LOCAL_USERS/Software)
er wird nicht mehr gebraucht. Es wird ein neuer angelegt, unter
"Janas Browser".



Mehr Informationen über die Mailingliste Allegro