Vb.134: Warschauer Paket

B. Eversberg EV at buch.biblio.etc.tu-bs.de
Di Aug 22 15:09:24 CEST 2000


Verlautbarung 134 der Entw.Abt.                            2000-08-22
-------------------------------

"Warschauer Paket"
------------------
Vorgeschmack zum Expertentreffen

Bei einem Arbeitsbesuch in der polnischen Hauptstadt, daher der 
Codename, entstanden vor geraumer Zeit die ersten Skizzen, die 
letztendlich zu einem ganz neuen Funktionspaket in a99/alcarta 
gefuehrt haben.

Der groessere Teil wird erst auf dem Expertentreffen enthuellt werden,
nicht zuletzt weil dafuer erst noch einiges an Dokumentation zu
schreiben ist, und das muss mit Sorgfalt und viel Testaufwand 
geschehen. Es soll ja alles in jeder Umgebung funktionieren ...

Ein GANZ kleiner Teil, sozusagen zum Appetitmachen, wird aber schon
jetzt ausgepackt. Dafuer braucht's nicht viel Doku, das ist mal
ausnahmsweise sehr sehr einfach. (Aber was sonst noch im Paket ist,
kann man daraus noch nicht erraten ...)

Und das ist es:
Das Kurzanzeigefenster kann jetzt nebenbei zu einem ganz anderen Zweck
benutzt werden: zum Anzeigen einer beliebigen ASCII-Datei, also
einer Datei, die nur aus lauter Zeilen besteht, im ASCII-Code, mit
den Zeilenwechsel-Codes 13 10 dazwischen. So etwas kann man mit dem
X-Editor o.ae. bearbeiten. Nicht mit Notepad, dann sind's ANSI-Codes,
d.h. die Umlaute sind falsch. Die Datei kann beliebig gross sein.
(Wenn das nicht einfach ist! Noch einfachere Dateien gibt es gar 
nicht.)

Aber was soll das bringen? Mit h dateiname  kriegt man die Datei doch
auch so schon ins Anzeigefenster?
Nun, die Anzeige ist nicht alles. Die hat keinerlei Wirkung. Nur fuer
Cut-and-Paste kann man sie nutzen. Aber Vorgaenge kann sie nicht 
ausloesen.
Zwei Dinge sind wichtig:

1.) Suchfunktion
    In dem kleinen Eingabefeld unten rechts gibt man ein Suchwort ein.
    Umlaute koennen als solche oder auch aufgeloest eingegeben werden,
    Gross-Kleinschreibung ist auch egal (!).
    Das Programm findet das erste Vorkommnis. Mit den Buttons [>>] und
    [<<] geht man VOR und ZURUECK zwischen den Vorkommnissen.
    Oben sieht man, welche Zeile die oberste in der Anzeige ist,
    oben rechts steht die Gesamtzahl der Zeilen.
    Auch das ist, fuer sich genommen, noch nicht eindrucksvoll. 
    Noch viel wichtiger:

2.) Die ausgewaehlte Zeile wird beim Druck auf Enter in die interne
    Variable kopiert, und da kann nun ein FLEX zugreifen und damit
    alles machen, was die Phantasie ersinnen mag. Das ist der Punkt,
    denn so kann man ploetzlich was passieren lassen.

Als Verfeinerung gibt's noch dieses:

3.) Jede Zeile kann vorn einen Vorspann haben, abgetrennt durch das
    Zeichen '|'. Dieser Vorspann wird nicht angezeigt, ist aber in
    der internen Variablen dann auswertbar. Das erhoeht die 
    Moeglichkeiten ganz gewaltig. Da koennen FLEX-Aufrufe stehen, 
    Suchbefehle, Hilfedatei-Aufrufe, ...

Wer das jetzt sofort sehen will, muss sich zuerst die aktuellen
Versionen (von heute frueh) abholen: (von ac20/update)

  a99.lzh
  alcarta.lzh
und
  bwv.lzh     (Beispiele)

Als einfachstes Beispiel haben wir mal eine Liste der Bach-Werke
hergenommen und stellen sie zum Ausprobieren bereit. 1148 Zeilen.
Schliesslich ist Bach-Jahr, das muss irgendwo mal sich niederschlagen.
Ein Ausschnitt: (Liste entstammt einer englischsprachigen Quelle)

 1041  Violin Concerto in a minor
 1042  Violin Concerto in E major
 1043  Concerto for 2 violins in d minor
 1044  Concerto for flute, violin and harpsichord
 1045  Sinfonia, 2 horns, 3 oboes, bassoon, strings and continuo
 1046  Brandenburgisches Konzert 1 in F
 1047  Brandenburgisches Konzert 2 in F
 1048  Brandenburgisches Konzert 3 in G
 1049  Brandenburgisches Konzert 4 in G
 1050  Brandenburgisches Konzert 5 in D
 1051  Brandenburgisches Konzert 6 in B
 1052  Harpsichord Concerto
 1053  Harpsichord Concerto

Diese Datei, BWV.VW, kopiert man auf's Startverzeichnis oder auf
c:\allegro\view  (NEU, fuer solche Dateien vorgesehen).
Dann ruft man den FLEX BWV.FLX auf: (er ist nicht lang und 
kommentiert!)

X bwv

im Schreibfeld eingeben.
Schon sieht man die Liste. F1 bringt Hilfe  (Datei HE_VWGER)
Bei [Enter] wird der FLEX die gewaehlte Zeile nehmen, vorn die Nummer
abschneiden, "BWV " davor setzen und das dann in #89o kopieren
(die "bolero"-Kategorie fuer die Opusnummer). Im Schreibfeld zeigt er
ferner die vollstaendige Zeile an.

Nach demselben Strickmuster kann man sich eine Liste der Sprachencodes
machen (liegt schon vor, wer will kann sie haben), eine 
Systematikliste, praktisch alles, was zum Erfassen gebraucht wird und 
aus festgelegten Listen entnommen werden soll. Bisher musste man fuer 
sowas Stammsaetze machen etc. pp.

Fuer die FLEXologen geht's aber dann noch viel weiter:

Wenn man sich z.B. eine View-Datei  DOKU.VW  macht, in der steht:

  Hilfen fuer a99/alcarta. Waehlen Sie aus dieser Liste:
h doku|UEbersicht der Dokumentation                    
h handbuch|Systemhandbuch                             
x h ac0-1|Kapitel  0 : Grundbegriffe                  
x h ac10|Kapitel 10 : Export                          
h start|Anfangsbild dieser Datenbank                  
c:\bol|Bolero (Aufruf der "bolero"-Datenbank)         

und dazu diese FLEX-Datei  DOKU.FLX:
Mit  X doku   ruft man sie dann auf.

  Zeige die Datei doku.vw,
  fuehre den Befehl am Anfang der gewaehlten Zeile aus
View doku.vw
if cancel end
  gewaehlte Zeile -> #uzz
ins #uzz
  Gebraucht wird der Teil vor dem |
var #uzz(e"|")
  ViewDatei schliessen
close view
  jetzt iV untersuchen:
  faengt Zeile mit "x " an? dann ausfuehren (exec startet neuen FLEX)
if "x " exec
  faengt Zeile mit "X " an? dann ausfuehren
if "X " exec
  faengt Zeile mit "h " an?
if "h " jump help
  wenn weder x noch h, dann als Programmaufruf benutzen
call
end
:help
  iV nach #uhh
ins #uhh
  Teil hinter dem "h " nehmen
var #uhh(b"h ")
help

Beides ist in dem Paket  BWV.LZH  zum Ausprobieren mit drin.


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