Vb.159: V22.2.0 : Timer! / Message ohne OK

Bernhard Eversberg EV at buch.biblio.etc.tu-bs.de
Di Aug 6 09:07:14 CEST 2002


Verlautbarung 159 der Entw.Abt.                          2002-08-06
-------------------------------
Herr Bach schrieb zu festlichen Gelegenheiten schon mal eine Kantate.
Das ist uns versagt, da muss ein neues Release genuegen.
Die Gelegenheit? Heute vor 807 Jahren starb Heinrich der Loewe,
der erste Herrscher des Mittelalters mit fester Residenz (die
heutige Burg ist aber ein Nachbau des 19. Jh.) Er hatte einen
weiten Aktionsradius und gruendete u. a. auch Muenchen (daher 
haben die auch ihren Loewen), wenn auch mit sehr robusten Methoden.

                                       Bereitgelegt:
                                       a99a.lzh, a99.lzh, alcarta.lzh
                                       Gesamtpaket inst-all.exe
V22.2.0 : PreRelease
--------------------
Die zur Einbrennung auf CD vorgesehene V22.2 ist so gut wie vollendet.
Die jetzt vorliegende inst-all.exe soll nur in unabweisbar notwendigen
Faellen noch modifiziert werden (H-Stufe 3).

Und das sind die letzten Neuerungen: (neben den Realisierungen der 
in den letzten Tagen noch angefallenen Vorschlaege)

NEUe FLEX-Befehle
-----------------
Timer schneidet die Zeit in Scheiben und fuehrt nach Ablauf jedes
Abschnitts einen FLEX aus.
     Die Dicke nnn einer Scheibe ist in Millisekunden (!) anzugeben:
     Der Befehl lautet:

slice nnn=mFLEX
          Wenn nichts hinter slice steht, dann Inhalt der iV
          m=1  FLEX nur 1mal ausfuehren, nach nnn Millisek.
          m=i  FLEX immer wieder nach nnn Millisek neu ausf.
               FLEX = X <flexdatei>
                      x <befehlskette>  Befehle durch \\ getrennt
          Wenn gerade ein anderer FLEX laeuft, unterbleibt die Ausf.

Spaeter kann der folgende FLEX den bestehenden Timer annullieren:
sli 1=0 
(Die Zahl vor dem = ist egal)
Jeder neue slice-Befehl ersetzt den vorherigen, d.h. es kann immer 
nur einen Timer geben.


Message n,Meldung
     "message" hat den Nachteil, dass ohne OK das Programm nicht
     weiterlaeuft. In FLEXen, die unbeaufsichtigt laufen sollen, kann
     man daher keine "message" einbauen.
     Die Meldung wird fuer n Sekunden gezeigt, dann geht's weiter.
     Anders als bei "message" ist also kein OK noetig.
     Fehlt n, werden 10 Sekunden angesetzt.
     Fehlt beides, wird der Inhalt der iV genommen - was sonst?
     Mit + und - kann man, wenn die Meldung zu sehen ist, die
     Restzeit um 10 Sek. herauf- bzw. heruntersetzen,
     Mit Esc und Enter kann man das Messagefenster beseitigen.
     Geeignet ist dies, wenn ein FLEX auf jeden Fall durchlaufen
     soll, auch wenn keiner am PC sitzt, aber wenn einer davor sitzt,
     soll er Zwischenmeldungen bekommen und auch reagieren koennen:
     Im Anschluss kann man naemlich mit "if yes" feststellen, ob
     Enter gedrueckt oder die Schleife ohne Eingriff zu Ende ging,
     bzw.  "if no", wenn Esc gedrueckt wurde. Damit wird Mes zu einem
     diffizilen Instrument fuer den Experten. Der wird in Kauf nehmen,
     dass das Fensterchen etwas absonderlich wirkt. Dies liegt an
     den grossen Schwierigkeiten, ein solches Fenster ueberhaupt
     zu programmieren, denn standardmaessig ist derartiges nicht
     vorgesehen. Anders als die normale MessageBox, die man stumpf-
     sinnig mit OK bestaetigen muss.

Beispielanwendungen fuer beides:

  logcheck.flx
Dieser FLEX kontrolliert regelmaessig die Groesse der LOG-Datei und
gibt eine Mes-Meldung, wenn sie sich veraendert hat.

  timeout.flx
Dieser FLEX realisiert eine Timeout-Funktion, z.B. fuer alcarta 
sinnvoll.
Wenn in einer einstellbaren Zeit nichts gemacht wurde, schaltet sich
das Programm ab. Eine Mes-Box gibt Gelegenheit, das noch zu 
verhindern.

Beide startet man nicht direkt, sondern mit "slice", z.B. so:
x slice 10000=iX logcheck


Damit sich's aber lohnt, wurde noch ein Sonderbefehl geschaffen:

find $nnn
   bildet die Ergebnismenge aus den letzten nnn Bytes der LOG-Datei.
   Jedoch nur diejenigen Saetze, die als Korrekturen angefallen sind,
   die Neusaetze muss man ueber den Datumsindex ermitteln.
   Eingebunden ist beides in die Menues  org.rtf und super.rtf

   Von Hand koennen Sie einfach mal geben:
   find $10000\sho list

Die FLEX-Dokumentation wurde selbstredend um diese Neuerungen
erweitert.


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