Vb.154: V22.0 mit New Design ab 10.5.

Bernhard Eversberg ev at buch.biblio.etc.tu-bs.de
Do Apr 25 09:14:37 CEST 2002


Verlautbarung 154 der Entw.Abt.                          2002-04-23
-------------------------------
                 Dieser Text ist besser lesbar, wenn Sie die
                 Schrift auf feste Zeichenbreite einstellen, z.B. Courier

V 22.0 mit NewDesign         Achtung:     Bereitstellung: 10.5.2002
--------------------                      -------------------------

NewDesign
---------
a99 ist in zwei neuen Varianten zu haben: Neben das alte Design (das
weiter im Gesamtpaket ist und a99.exe heisst!) treten zwei Neulinge:
a99a : Minimalistendesign ohne Buttons              ftp:  a99a.lzh
a99b : ND mit Buttons, aber anders angeordnet.            a99b.lzh
Die graphischen Buttons wurden ferner einem Redesign unterzogen.
(Das trifft auch auf alcarta zu, das ansonsten nicht veraendert wird.)
Statt langer Beschreibung schaue man sich lieber die Abbildungen an:
   http://www.biblio.tu-bs.de/allegro/a99nd.htm

Jedoch hat V22.0 noch eine Menge mehr zu bieten, wovon sich die
Experten am 23./24.4. schon ueberzeugen konnten:

Neue On-Flexe
-------------
onf2.flx
onf3.flx
onf4.flx
onf8.flx
onf11.flx
onf12.flx
   werden ausgeloest, wenn F2,F3,F4,F8,F11,F12 gedrueckt werden
   Bisher haben diese keine Funktion. Jetzt kann man also beliebige
   Aktionen damit verbinden. Defaults:
   Fuer F2  : Flip-Ausloesung per Taste (Cursor vorher auf Flip setzen)
        F8  : Hintergr.Speicher in Anzeige kopieren (x dis res)  (s.u.)
        F11 : Anzeige breit<->schmal schalten  (x set d)
        F12 : Hilfetext he_sp in die Anzeige holen (Tastenfunktionen)

onprint.flx
   wenn der Printer-Button gedrueckt wird
   Default: Es wird die ViewListe print.vw gezeigt.

Achtung: folgende zwei muessen angepasst werden: 
         (Empfehlung: verlagern auf DbDir)

oninput.flx
   wird gestartet, wenn der Button [Neusatz] gedrueckt wird.
   Dann haben  onnew.flx  und  oncopy.flx  keine Funktion!
   (Beschriftung: uife Nr. 477)
onforms.flx
   wenn der Button [Formular] gedrueckt wird
   Damit kann man, je nach Satztyp, unterschiedliche Formulare
   erscheinen lassen! (bisher kam bei Druck auf [Formular] immer die 1)
   (Beschriftung: uife Nr. 489)

Diese drei Buttons koennen damit beliebig umfunktioniert werden!
Es werden Grundversionen dieser FLEXe mitgeliefert.
Entfernt man die drei FLEXe, hat man die alten Funktionen.
Es wurden spezielle ViewListen erstellt: print.vw und input.vw, die von
onprint.flx bzw. oninput.flx angezeigt werden!

Druckseiten-Einrichtung
-----------------------
Im Menü "Datei" gibt es unter "Anzeige ausdrucken" jetzt auch 
den Punkt "Seite einrichten".
Es kommt dann ein Dialog, in dem man die R„nder in Millimetern vorgeben kann.
Dieser kann auch durch FLEX-Befehl  set P  hervorgerufen werden. Die Eingaben
bleiben ueber die Sitzung hinaus gueltig (INI-Befehl PageSize).


Direkte FLEX-Ausfuehrung
------------------------
Die Standardversion der Datei  onerror.flx  wurde erweitert.
Sie wird ausgefuehrt, wenn die Schreibfeld-Eingabe keinen Sinn ergibt. 
Dann wird die Eingabe genommen, "x " davorgesetzt und als 
FLEX ausgefuehrt.
Damit kann man sich das Eingeben von "x " sparen, wenn man haeufig
im Schreibfeld FLEXe von Hand eintippt. Zum Testen kleiner FLEXe ist
das die schnellste, bequemste Methode.

Neue Funktionstaste in A99 und ALCARTA
--------------------------------------
F6   Index oeffnen und schliessen


Index-Fenster : Neuer Button
----------------------------
Direkt unter den Zahlenbuttons sitzt jetzt [Erg.]. Damit wird die
Ergebnismenge der aktuellen Zeile zur Liste der Ergebnismengen hinzu-
gefuegt, jedoch nicht angezeigt. Mit [Enter] passiert dasselbe wie
bisher, aber das Problem damit ist, dass nur die letzte Ergebnismenge
vor dem Schliessen des Fensters auch erhalten bleibt.

Taste [Entf] kann jetzt zum Entfernen von Registerzeilen benutzt
werden, wie bei PRESTO. Voraussetzung: access>4
Taste [Einfg] zum Einfuegen neuer Zeilen wurde nicht implementiert.
Farbe: Die Farbe lila wurde abgeschafft (waehrend FLEX laeuft).
Es gibt nur noch gelb, und zwar fuer den Fall, dass mit Enter
keine Satzanzeige bzw. Erg.Menge kommt (wenn Cursor im Eingabefeld
oder im Formular bzw. wenn FLEX laeuft). Die Funktion [List] geht
dann generell nicht - das Anzeigefeld soll in solchen Faellen nicht
unabsichtlich ueberlagert werden.

Neue FLEX-Befehle
-----------------
show print
   aktueller Satz in Druckform (wie auf Menue "Ansicht")
show Print
   aktuelle Erg.menge in Druckform (wie Menue "Ansicht")
display reserve    kurz:  dis r
   Inhalt des Hintergrundspeichers im Anzeigefeld ausgeben (anders als sho res)
display list       kurz:  dis l
   Ergebnismengen-Kurzliste im Anzeigefeld ausgeben (wie sho List )
display ergeb oder
display sets       kurz:  dis e   oder  dis s
   Liste der Ergebnismengen (die man sonst mit Alt+e sieht)
   im Anzeigefeld auswerfen

set wm / set wn
   Das gesamte Fenster auf maximal / normal setzen

var ci   i=1...499
   ergibt die Zeichenkette i der UIF-Datei
   Damit kann man sich die freien Nummern der UIF-Datei als zusaetzliche
   Variablen anlegen. Die Nummern 70-89 werden auch in Zukunft fuer
   derartige Anwendungen freigehalten.
   Eine BELEGUNG der UIF-Zeilen vom FLEX aus ist nicht moeglich.

var zc
   ergibt den Text der Anzeigezeile, in der gerade die Schreibmarke steht.
   Zusaetzlich passiert automatisch folgendes: 
   in #uzC steht dieselbe Zeile, aber mit __ (2x Unterstrich)
           an der Stelle, wo die Schreibmarke sich befindet.
   in #uzD steht der Fliptext, falls sich die Schreibmarke in einem
           solchen befindet
   in #uzF steht die zugehoerige #uZ-Befehlstext, und zwar incl. #uZi,
           also z.B.  #uzF#uZ3X flexbefehl
   Ausgenutzt wird dies in onf2.flx!

var Q  : Wenn man im FLEX wissen will, wo sich der Fokus gerade befindet:
         Q liefert die Focusziffer:
   1 : Auswahlliste
   2 : Schreibfeld
   3 : Befehlszeile
   4 : Anzeigefeld

activate <Ziffer>   :  Focus setzen (Ziffern wie oben)

dos <befehl>
Dos <befehl>
   wie cAll/Call, aber es wird %COMSPEC% /c vorgesetzt, d.h. der
   Aufruf eines externen Programms dadurch erleichtert.
   Beispiel: Geben Sie im Schreibfeld einfach mal "Dos cp"


Manipulationsbefehle jetzt in Serie moeglich
--------------------------------------------
Die Manip.Befehle b B e E f F bei var und write koennen jetzt mehrfach
hintereinander auftreten, so oft wie noetig. Das sieht z.B. so aus:
var #uxy(b":" f" " e".")
Zwischen den Befehlen koennen, muessen aber keine Leerzeichen stehen.
Statt "..." kann '...' verwendet werden.
Beispiel: Hinten und vorn sollen alle evtl. vorhandenen Klammern
weggenommen werden:
                    var #uxy(f"<([{"  F")]}>")
Ausserdem koennen Zahlenpaare auftreten: 1,5 heisst: beginne hinter dem
ersten Zeichen und nimm dann 5 Zeichen. (0 als zweite Zahl heisst: nimm
den ganzen Rest.)
(Zur Erinnerung: f"xyz" heisst, dass vorn jedes der Zeichen x, y oder z
weggenommen wird, bis ein Zeichen kommt, das nicht zu diesen gehoert.)

Rechenbefehle verbessert
------------------------
Wenn N fehlt, wird in diesen Befehlen der Zahlenwert der iV genommen:
=N	N bzw. iV in Zahl umwandeln (andere Zeichen fallen dabei weg)
      und in iZ speichern
+N	N bzw. iV in Zahl umwandeln und zu iZ addieren, bzw.
-N	iZ-N bzw. iZ-iV bilden, bzw.
/N	iZ/N bzw. iZ/iV  ausrechnen, bzw.
XN	iZ*N bzw. iZ*iV  (das Produkt aus beiden)
Leider konnte fr die Multiplikation nicht das Zeichen *
verwendet werden, denn es hat eine Sonderfunktion.
In jedem Fall ist der berechnete Wert anschliessend in der iZ
und kann mit  var Z  in die iV kopiert werden.

Kopf- und Fussabschnitte bei Export
----------------------------------
Mit  dow H  bzw.  dow F  kann man nun gezielt den Kopf- bzw. Fuss-
abschnitt der aktuellen Exportparameter ausfuehren lassen.

Anzeige des Nichtsortierzeichens
--------------------------------
Bisher wurde dieses bei der Internanzeige im Anzeigefeld nicht gezeigt.
Jetzt wird es gezeigt.
Das hat eine sehr grosse Folgewirkung: man kann das Anzeigefeld zum
Editieren benutzen. Dazu reicht ein ganz kurzer FLEX
file x
read r x
um das Anzeigefeld in die Datei xx zu speichern und diese dann wieder
in den Datensatz einzulesen. Das klappt auch bei hierarchischen Saetzen!

Neue Hilfeseite
---------------
Fr die Tastenfunktionen, insbes. die Alt- und Strg-Kombinationen,
wurde die Hilfeseite HE_SP gemacht. Sie kann mit Alt+c hervorgerufen
werden, aber auch mit  h he_sp  (dann kann man sie auch abdrucken).
Mit F12 wird sie ins Anzeigefenster geholt, wenn onf12.flx fehlt.

Exportfunktionen
----------------
Neu gestaltet: Seite exprtger.rtf

UIFE... erweitert,  UIF0... abgeschafft
---------------------------------------
Es sind jetzt so gut wie alle Menue-, Button- und Meldungstexte in der
UIFE... versammelt. UIF0... wird nicht mehr gebraucht! Alle darin fuer
a99 relevanten Texte wurden in UIFE... kopiert.

Quick-Info
----------
Die Buttons des Hauptfensters sind jetzt alle mit einem "Quick-Info"
belegt, einer Kurzinformation, die bei Verweilen des Mauszeigers auf dem
Button eingeblendet wird. Die Texte sind in den UIF-Zeilen 200-229
zu finden und somit manipulierbar!

Kontextmenue Anzeigefeld
------------------------
Diese Zeilen sind jetzt alle auch in der UIFE enthalten und damit
modifizierbar (Zeilen 301, 303, 304, 310 u.a.)

Speicherbereich fuer Index
--------------------------
a99 hat jetzt 32K statt 10K internen Speicher fuer das Indexieren.

Sortierte Listen : mit a99 wie mit CockPit
------------------------------------------
Mit der Hilfeseite  sortlist.rtf  kann der FLEX  sortlist.flx
gestartet werden. Dieser ermoeglicht die Auswahl derselben
Parameter, die auch bei DOS fuer sortierte Listen gebraucht werden,
und startet dann den Prozess fuer die aktuelle Ergebnismenge.
Nun kann man also die DOS-Methodik auch von a99 aus einsetzen.
Es wird eine CCC.BAT fuer die Ausfuehrung automatisch erzeugt.
Das Ausgeben der Erg.Menge in Sortierform besorgt aber schon a99
(in sortlist.flx). Der neue FLEX ist integriert in exprtger.rtf.

Muster fuer Anzeigeparameter
----------------------------
Es hatte sich bei der "Kleinen Umfrage" wieder gezeigt, dass die
Anzeigeparameter ein Stolperstein sind, wenn man nicht mit der
Standard-Konfiguration arbeitet.
Das war Veranlassung, ueber ein neues Mustermodell nachzudenken,
das jetzt erstellt wurde. Es soll fuer alle drei Plattformen
einsetzbar sein, und nur EINE Datei muss erstellt werden, wobei man
ein kommentiertes Muster abwandelt.
Dies sind die Dateien:  ( d-muster.lzh auf ac21 )
Simple Anzeige: (auch fuer hierarchische, aber nicht verkn. Saetze)
  D-SHTM.APR    fuer avanti / HTML
  D-SRTF.APR    fuer Windows / a99
  D-SDOS.APR    fuer DOS / PRESTO
  D-S.APT         <-- das ist die wichtige Datei
Komplexe Anzeige (mit verkn. Saetzen)
  D-KHTM.APR    fuer avanti / HTML
  D-KRTF.APR    fuer Windows / a99
  D-KDOS.APR    fuer DOS / PRESTO
  D-K.APT         <-- das ist die wichtige Datei
Eingreifen muss man normalerweise nur in die d-s.apt bzw. die
d-k.apt. Darin stehen die eigenen Kategorien, das andere ist
nur das Drum und Dran zur Erzeugung einer "gefelderten" Anzeige,
die in allen drei Varianten gleich aussehen sollte.

Wie geht man vor?
1. Entscheidung fr simple oder komplexe Anzeige, also S oder K, 
   Je nachdem, ob man verknpfte S„tze hat.
   Kopieren der betr. 3 Dateien auf *.xPR: z.B. D-SHTM.APR -> D-SHTM.BPR  usw. 2.
Kopieren der D-?.APT auf D-?.BPT  (wenn man B.CFG hat)
   und Bearbeiten, d.h. Einfgen der eigenen Kategorien nach dem 
   kommentierten Muster. (Auch Beispiele fuer Mehrfachfelder)
3. Programm starten mit der richtigen Datei als Anzeigeparameter,
   d.h.  (? = S oder K)
   DOS:  PRESTO ... -pD-?DOS       (und p D-?DOS  in der CP.OPT)
   a99:  DisplayParameter=D-?RTF   (in der INI-Datei)
   avanti: $Dispar=D-?HTM  (in der av_ini.php)
   Für das Standardsystem kann man die Dateien unmittelbar einsetzen und evtl.
   ausbauen!
   Hilfstabellen (werden automatisch eingebunden): evtl. kopieren auf .xPT
      D-DOS.APT
      D-HTM.APT


alcarta : weniger Rechte
------------------------
Wenn access (in der INI) nicht wenigstens 2 ist, hat Alt+r keine Wirkung,
d.h. man kann den Arbeits- und Hintergrundspeicher nicht im Auswahlfeld
zeigen lassen.

classico
========

IMPORT
------
Bei dem Manip.Befehl = CS  kann jetzt CS auch aus einer Kategorie-
oder #u-Variable bestehen, also
#nnn
s ...
=#abc    oder   =#uxy
Es wird dann der momentane Inhalt des Arbeitstextes verglichen mit
dem Inhalt von #abc bzw. #uxy
Bei Gleichheit wird die nachfolgende Zeile ausgefuehrt, sonst wird
sie uebergangen.

INDEX
-----
Die Grenze 500 Schlssel / 8000 Byte je Datensatz wurde ersatzlos aufgehoben.
Bisher konnte man mit dem Option -B mehr herausholen, aber das ging zu Lasten der
Laufzeit. Durch eine interne Umkonstruktion kann jetzt das Programm praktisch
beliebig viele Schlssel je Satz erstellen und laeuft sogar 10% schneller.
Scheinbar entstehen mehr Schlssel (wenn man die Protokolle betrachtet), aber es
sind doppelte dabei, die in der Indexdatei am Ende wieder entfallen.

UPDATE
------
Die Sperre der TBL wurde beim ersten Satz nicht beachtet! Dadurch
konnten im Extremfall Datenfehler passieren. Korrigiert. Mit zweimal
'x'  kann man den Updatevorgang abbrechen, wenn beim Start
die Option -m1 gesetzt wurde.


Bernhard Eversberg
Universitaetsbibliothek, Postf. 3329, 
D-38023 Braunschweig, Germany
Tel.  +49 531 391-5026 , -5011 , FAX  -5836
e-mail  B.Eversberg at tu-bs.de  




Mehr Informationen über die Mailingliste Allegro