[Allegro] Vb.202. V28.0 erschienen : Helle Vielfalt, flinke Groesse

Bernhard Eversberg ev at biblio.tu-bs.de
Mo Jan 7 11:22:41 CET 2008


Verlautbarung 202 der Entw.Abt.                              2008-01-07
-------------------------------
         Download: http://ftp.allegro-c.de/aktuelle-version/inst-all.exe
         Demo:     http://ftp.allegro-c.de/pub/DEMO-Version/demo-all.exe

V28 erscheint : Helle Vielfalt, flinke Groesse
==============================================

Aus welchem Winkel man es auch betrachten will - ohne Vielfalt geht es
nicht. Aber sie soll erhellend ("transparent") dargeboten sein, frei
von dunklen Botschaften, Verwirrung, Fallstricken des Fehlverstehens.
Zudem und nebenbei soll alles flink vonstatten gehen, wie gross auch
immer die Datenmengen und wie kompliziert ihre Struktur, und selbst-
redend unter der gefaelligen Decke einer unaufgeregten Oberflaeche.
Liegt alles das nur zufaellig so nah bei den Erwartungen an hohe Kunst?
Beschwert doch solche den Betrachter nicht mit der Muehe, dank derer
sie existiert, und erweckt in ihm kein noch so leises Begehren, sie
moege anders sein, als sie ist.
Damit soll nicht gesagt sein, eine neue allegro-Version sei Kunst!
Dem steht schon entgegen, dass allein dem Kunstwerk das So-Sein
bereits hinreicht als Grund fuer sein Da-Sein, ohne Warum und
Wozu - welchen Fragen sich hingegen jedes Programm zu stellen hat.
Begegnet wird der Software dennoch mit aehnlichen Anspruechen,
mehr nur empfunden als ausgesprochen: Perfektion als das schlicht
Natuerliche erwartend statt sie als Leitstern zu verstehen, in dessen
Richtung sich noch stets neue Wirren und Windungen auftun und
Bewaeltigung fordern. Der Stern selbst wird nie erreicht...
Aber genug der Erscheinungstags-Besinnlichkeit, werden wir konkret:


Helle Vielfalt
==============
Die Module aLF (Ausleihe), ORDER (Erwerbung) und ZAboM (Zeitschriften-
verwaltung) sind ab V28 ohne Extrakosten im Gesamtpaket enthalten.
Sie bestehen nicht mehr, wie zu DOS-Zeiten, aus separaten Programmen,
sondern aus einer Anzahl von FLEXen, Hilfetexten und Parameterdateien.
Damit kann a99 dann alle Geschaeftsgangsaufgaben uebernehmen. Alle
Funktionen sind so auch leichter an lokale Gegebenheiten anpassbar
und anwenderseitig erweiterungsfaehig. Alles laeuft ab auf der schon
vertrauten Plattform mit laengst gelaeufigen Handgriffen und Methoden,
die Katalogdatenbank im Zentrum, neue Funktionen nahtlos eingefuegt,
auch in Fuellhorn und QUick-Liste.
Fuer Einsteiger:
   aLF   :  h alfh    und   http://www.allegro-c.de/alf/
   ORDER :  h orderh        http://www.allegro-c.de/doku/order/
   ZAboM :  h zabomh        http://www.allegro-c.de/doku/order/zabom.htm
       und  h zabom-e
Die Dateien gesellen sich zwanglos zu den entsprechenden Typen des
bisherigen Gesamtpakets, kenntlich aber durch ihre Namen, meist mit a-
bzw. o- bzw. z- beginnend. In gewohnter Weise bringt man modifizierte
Varianten dann auf dem eigenen Datenverzeichnis unter, wo sie dann im
Betrieb den Standarddateien vorgezogen werden. Es sind insgesamt
weniger als 100 Dateien. Kommentierte Liste:  h aoz.txt
Tips: Alles ist sofort ausprobierbar an der DemoBank!
       Standardanwender übernehmen nur die cat.api aus der DemoBank und
         koennen gleich loslegen mit der eigenen Datenbank.
!!!   Wenn Fehlermeldungen kommen: "Mehrfachcode N unzulaessig..."
         o.ae., dann ersetzen Sie Ihre $a.cfg durch die mitgelieferte
         $A28.CFG. Änderungen, die Sie in Ihrer $A.CFG gemacht haben,
         muessten Sie allerdings in die neue uebernehmen. Wichtig ist es
         nur fuer ZAboM, und dort die Felder #9C, #9D, #9R, die betr.
         Zeilen koennen Sie auch aus $A28.CFG in Ihre CFG kopieren.



Flinke Groesse
==============
Programme INDEX.EXE und QRIX.EXE jetzt 32bit
--------------------------------------------
Zuerst Dank an die Tester Allers, Berger, Schleifenbaum und Weisweiler,
die nervenstark sehr viel zur Problembereinigung beigetragen haben,
bes. Berger wieder mit scharfsichtigem Aufspueren entlegener Ausnahme-
probleme, die wir dann ihrer Ausmerzung zufuehren konnten.

Volle Dokumentation:   h ac7-1
       mit kompletten Mustern fuer Batchdateien
Achtung Normalanwender: Kein Handlungsbedarf, nur V28 installieren!

Tip: Wenn das Indexieren nicht mehr richtig laeuft, aber keiner da ist,
      der helfen kann: index.exe vorerst wieder ersetzen durch das alte
      Programm, das unter dem Namen index16.exe mitgeliefert wird.
      So etwas duerfte nur passieren, wenn man eigene Batchdateien fuer
      das Indexieren nutzt, statt es ueber das CockPit oder das a99-Org-
      Menue zu erledigen. Dann in die Batchdateien statt index.exe
      eben index16.exe einsetzen. Oder einen Kenner rufen, der einem
      die Batchdateien aendert.

Fuer Kenner und Administratoren:
Die Datenbanken wachsen unablaessig, die Zeit zur Reorganisation wird
darob immer laenger. Nicht nur aus diesem Grunde wurden die Programme
INDEX.EXE und QRIX.EXE auf 32bit umgestellt, sie sind nun sog.
"Windows-Konsolprogramme". Aeusserlich bemerkt man es daran, dass
jetzt alles unscheinbar schwarz/weiss ablaeuft, dafuer aber ganz
erheblich schneller. Die Programme haben kein eigenes Menue mehr!
Beim manuellen Start in einem DOS-Fenster muss man deshalb alle
Optionen angeben, die gebraucht werden, das sind i.a. -f -k -d -e -n,
sonst Fehlermeldung, stets entfallen koennen aber  -m -l -v.

ACHTUNG, anders als bei den DOS-Programmen :
index.exe setzt nicht automatisch qrix in Gang, und qrix auch nicht
automatisch   index -fa   fuer den letzten Arbeitsgang (frueher
obskur als "2nd run" angezeigt).
Man muss deshalb eigene Batchdateien, die man sich zum Indexieren
gemacht hat, ergaenzen um die geeigneten qrix- und index-Befehle.
Tip: Bei einem Indexieren ueber das org-Menue entsteht eine Datei
org.bat, in der man die korrekten Befehle sieht und fuer eigene
Zwecke kopieren kann.
Wer mit CockPit V28 arbeitet, erhaelt eine ebenfalls geeignete
ccc.bat, denn auch CockPit wurde auf die neuen Programme
eingerichtet.

Die Aktionen dauern mit den neuen Programmen i.d.R. nur noch 20% der
vormals noetigen Zeit. Die Zwischendateien werden mehr als 10fach
groesser (bis zu 100.000 Schluessel, vorher 5-8000), daher braucht das
Mischprogramm QRIX.EXE in jedem Fall einen Gesamtdurchlauf weniger
und erfaehrt so eine Extra-Beschleunigung, besonders spuerbar bei
Gigabanken.

Die alten Programme index.exe und qrix.exe kann man zwar weiter-
verwenden, aber man muss sie dann vorher in Sicherheit bringen,
z.B. umbenennen, dazu auch die alte Version von org.flx.
Diese Dateien werden sonst beim Installieren der V28 ueberschrieben.
Die neue UIF-Datei fuer INDEX.EXE heisst uifd statt uif7ger, die
uif0ger wird nicht mehr gebraucht. QRIX.EXE benutzt die alte UIFQGER.
(Fehlt uifd, werden uif7 und uif0 genommen)

Zwischenmeldungen kommen, weil einem sonst schwindlig wird von dem
Tempo, nur noch alle 1000 (statt bisher 100) Saetze, auch in der
Datei PROTOK. Die Meldungen erscheinen in einem schwarzen Fenster
wie bisher, aber was da laeuft, das ist eben ein 32bit-Konsolprogramm.
NEU: a99 verschwindet zwischenzeitlich nicht, sondern zeigt einen
Hilfetext, wartet und wird wieder aktiv, wenn der Vorgang beendet ist.
(Hierbei kommen die neuen Befehle  close d / open d  zum Einsatz, s.u.)
Das (zu Unrecht) gefuerchtete schwarze Fenster wird nicht automatisch
sichtbar, sondern nur, wenn man mit Alt+TAB absichtsvoll darauf
umschaltet - eine Meldung weist in a99 darauf hin, ansonsten wartet
es unaufgeregt auf die Fertigstellung.


Neue FLEX-Befehle ixadd und ixdel
---------------------------------
Wie kriegt man nuetzliche Zeilen in den Index, ohne Umweg ueber
eine Eingabe in irgendwelche Datensaetze?
Normalanwender brauchen nur zu wissen:
Ein fertiger FLEX mit dieser Funktion wird mitgeliefert: ixa.flx.
Geben Sie also einfach mal ein:  X ixa

Fuer FLEXer:    [Doku:  h xixadd ]
Indexeintraege konnte man bis V27 nur auf dem dornenreichen Weg
ueber die Indexparameter erzeugen, und dazu mussten die im Index
erwuenschten Zeilen in irgendeiner Weise in irgendwelchen Datensaetzen
vorkommen. Das ist jetzt vorbei: Jede beliebige Zeichenfolge kann nun,
ohne dass sie in einem Datensatz auftritt, in jedes der Register
eingefuegt und auch jederzeit daraus wieder entfernt werden.
Das ermoeglichen die beiden Befehle  ixadd  und  ixdel.
Beispiel: Im Reg. 3 soll die Zeile
     brennessel  siehe auch -> brennnessel
erscheinen. Das geht mit dieser FLEX-Zeile:
ixadd |3 brennessel  siehe auch -> brennnessel
Die Einordnung an der einzig richtigen Stelle passiert automatisch,
ein Zwischenschieben an beliebiger Stelle ist nicht moeglich! Experten
koennen - Spitzentip! - jedoch von der "Maskerade" Gebrauch machen.

Ja ABER! Wenn man neu indexiert, was ist dann? Danach sind doch die mit
ixadd eingebrachten Eintraege futsch! Stimmt. Deshalb gibts zusaetzlich
ixb.flx, der sie flugs wieder einspeist. Denn ixa.flx schreibt heimlich
alle neuen Eintraege zusaetzlich in eine Datei namens  ixa.ixa,
und die wird von  ixb.flx  verarbeitet, als haette man alles gerade
nochmals eingetippt. Die Datei  ixa.ixa  ist sehr leicht zu verstehen,
und man kann sie auch direkt bearbeiten, also neue Zeilen hineinfuegen,
andere aendern usw. Mit  X ixb  kann man sie auch ausser der Reihe mal
wieder einspeisen bzw. auch andere solche Dateien, die man sich mit
beliebigen Methoden erstellt hat.
Der Normalanwender hat kein Problem: ixb.flx wird automatisch
gestartet, wenn man eine der Erneuerungs-Aktionen macht, bei denen
die Indexdatei neu entsteht.
zusatzTip: Eine Zeile aus dem Index entfernen kann man, Berechtigung
            3 vorausgesetzt, auch per Taste [Entf.]

Nebeneffekt fuer FLEXologen:
Wer will, kann den Index als bequemen Variablenspeicher nutzen,
d.h. Zeilen mit ixadd einlagern und mit qrix wieder abrufen,
z.B. so:
Zuerst in die Indexparameter diese Zeile einfuegen:
I DAT :zz "Variablen"
Damit weiss jetzt das System, dass es ein symbolisches Register namens
DAT gibt, welches real im Reg. 10 unter zz liegt.
Dann a99 starten und:

var "DAT abc=Michelangelo Buonarotti"
ixadd
...
qrix 1 DAT abc=
   jetzt steht zwar in der IV:
     "   1 zzabc=Michelangelo Buonarotti"
   aber mit
var (b"abc=")
   hat man sofort den Namen.

Der Index als Variablenspeicher - ein ganz klein wenig umstaendlich,
dafuer aber enormes Fassungsvermoegen, persistent und systemglobal!
(Vorsicht, letzteres kann unerwuenscht sein!)
Kombination mit der Multix-Technik erlaubt es auch, sich eine separate
Indexdatei zu leisten, die der Normalnutzer nie zu sehen kriegt und die
nur als Variablenspeicher genutzt wird. Wermutstropfen: Die Laenge
einer Variablen ist auf 250 Byte begrenzt.

Schmankerl: umindex.flx
-----------------------
Damit kann man eine Erg.Menge umindexieren, ohne die gesamte Datenbank
neu indexieren zu muessen. Hinweis darauf steht in xixadd.rtf, die
Datei ist aber auch in sich ausreichend kommentiert.


Hilfsprogramm  qr.exe  jetzt im Paket
-------------------------------------
Es macht aus einer komprimierten ii-Datei eine expandierte Datei,
in der die Daten in dieser Form stehen:

<satznummer> |i<registereintrag>

wobei i die Ziffer des Registers ist (: fuer 10 und ; fuer 11), in das
der Eintrag gehoert. Eine solche Datei kann man mit Hilfe des Befehls
ixadd auch in eine bestehende Datenbank einmischen.


Neuer FLEX-Befehl  close d / open d
-----------------------------------
Nun kann man auch schnell mal eben die ganze Datenbank schliessen
und wieder oeffnen, eben mit  close database  bzw.  open database
(open d  bzw.  close d  genuegt).
Das kann sinnvoll sein, wenn Arbeiten an den eigentlichen
Datenbankdateien zu erledigen sind, also .ADX, .TBL, .STL, .RES.
Ein Beispiel ist das Erneuern dieser Dateien ueber das ORG-Menue!
Das geht jetzt, ohne dass dabei das a99-Fenster zu und hinterher
wieder aufgeht - was manch Uneingeweihte immer wieder stutzen,
mitunter gar erschaudern liess.
Anwendung: Im verbesserten org.flx
Verbessert wurde in dem Zuge auch der Menuepunkt "Schliessen"
im Datei-Menue. Nach dem Schliessen steht da nun "Wieder oeffnen".


Neuer FLEX-Befehl  dir
----------------------
(Einfachere Alternative zu  fnam |<pattern> )

dir <pattern>

    Liste der Dateien, die dem <pattern> entsprechen
    Wenn <pattern> fehlt, wird der iV-Inhalt genommen.
    Die Liste steht dann in der iV, mit  als Trennzeichen
    (Code 20, sog. Absatzendezeichen)
    Nette Beigabe: Die Anzahl steht im internen Zaehler z.

    Pruefung mit  if "" ...  ob es keine Dateien gibt.

Beispiel:

var P "*.cfg"
dir
if "" mes Keine solchen Dateien;end
sho IV
var "Auf " P " liegen " z " CFG-Dateien vor"
mes

Hinweis:  Bei  fnam |<pattern>  ist | das Trennzeichen.


FLEX "erase"
------------
... wenn der aktuelle Satz "new" ist.
Der Datensatz sollte dabei vom Schirm ganz verschwinden, tat es
aber nicht. Das wurde gerichtet.

FLEX "if main"
--------------
pruefte, ob es zum Primaerschluessel des aktuellen Satzes noch
weitere Registereintraege gibt, die mit diesem Schluessel beginnen.
Jetzt wird vorher noch '+' an den PrimSchl. angehaengt, damit die
Pruefung wirklich nur dann greift, wenn es sich um verknuepfte
Untersaetze handelt.


Freie Variable mit Unterfeldern
-------------------------------
In V27 war leider die bequeme Funktion in Verlust geraten, mit
var $name$x
ein Unterfeld $x aus der freien Variablen  $name  herauszuloesen.
Dieses Detail wurde rekonstruiert, jetzt mit Einschluss des Sonderfalls
$name$$, womit man, wie bei Datenfeldern auch, den Anfangsabschnitt
vor dem ersten Unterfeld erhaelt.


"Keine Loeschung, da verknuepft"
--------------------------------
a99 macht es jetzt wie PRESTO: Wenn die Berechtigung unter 2 liegt,
verwehrt die Loeschkontrolle das Loeschen, bei 3 wird nachgefragt,
bei mehr als 3 sogar geraeuschlos geloescht.


Export-Parameter  (alle Programme, auch PRESTO und INDEX!)
----------------
Die Manipulationsbefehle
uxy   (Beseitige alles zwischen x und y, incl. dieser Zeichen)
   und
_.._.._ (lokale Ersetzung)
koennen den Arbeitstext leer hinterlassen. Dann soll die Zeile
als Ganzes abgebrochen werden, also kein Postfix wirken und kein
bedingter Sprung mehr ausgefuehrt werden. Dies wurde so eingerichtet.


Kleinigkeiten
-------------
-- Eine im Formular mit Alt+i genutzte ViewListendatei wird danach
     wieder geschlossen (sie blieb als Datei geoeffnet)
-- Freie Variablen, in _start.flx gesetzt, bleiben erhalten
-- Import: Punkt am Ende des umgewandelten Felds bleibt erhalten
-- a99 und alcarta laufen auch wieder unter NT, was zwischenzeitlich
    mal nicht ging.

P.S.
Haetten wir nicht besser die neuen Programme INDEX32.EXE und QRIX32.EXE
nennen sollen? Nein, denn einen Namen kriegt man nie wieder weg,
und wir wollen nicht in aller Zukunft immer INDEX32 schreiben und
"Indexzweiunddreissig" sagen wollen, wenn INDEX genuegt. Und die
Aenderungen in existierenden Texten halten sich nur so in Grenzen.
Im Falle QRIX sehen wir noch weniger Notwendigkeit fuer einen neuen
Namen, deshalb wird auch die alte Version nicht als QRIX16.exe
mitgeliefert. (Jeder hat sie noch auf den alten CDs!)




Mehr Informationen über die Mailingliste Allegro