Autor: Gerd Wieczorek SMail: Berliner Str.1 14959 Trebbin BRD EMail: gwieifjc@sp.zrz.tu-berlin.de (1x wöchentlich kontrolliert) Prgramm: Wait Befehl : WAIT Schablone : /N,TICKS/S,SEC=SECS/S,MIN=MINS/S,UNTIL/K Bedeutung : /N : Anzahl der zu wartenden Zeiteinheiten TICKS : 50stel Sekunden SECS : Sekunden MINS : Minuten UNTIL : warten bis HH:MM Beschreibung : Ich hatte zwei Ziele, als ich diesen Befehl programmierte : 1.) ich wollte neben den Möglichkeiten des alten WAIT-Befehls genauere Zeitintervalle angeben können ( eben TICKS ), 2.) außerdem sollte der Befehl möglichst kurz werden. zu 1.) WAIT unterstützt nun auch den Schalter "TICKS", die angegebene Zahl stellt dann 50stel Sekunden dar. Alle anderen Optionen arbeiten wie beim alten Wait-Befehl der WB2.0 . zu 2.) Ich wollte erreichen, das der Befehl nur noch einen Block auf Diskette/Festplatte belegt. Dies wären beim FFS 512 Bytes, beim OFS mögliche 488 Bytes. Abgesehen davon, daß man mit KickStart/WorkBench2.0 möglichst mit FFS arbeiten sollte, paßt WAIT ( in der jetzigen Version ) auch in einen OFS-Block. Bekannte Fehler : -Mit WAIT ist es theoretisch möglich, einen Shell-Prozeß auf 50stel Sekunden genau warten zu lassen. Leider nur theoretisch, denn der Aufruf ( aus RAM: ) und die Abarbeitung des Befehls benötigen selbst rund 0,2 Sekunden, die als ständiger Fehler auftreten. Die Option TICKS war für Zeitintervalle von ca. 0,5 bis ca. 2,5 Sekunden gedacht ! -Damit WAIT möglichst kurz wird, benutze ich die Rechenbefehle der CPU ( im Gegensatz zu Rechenroutinen der Math-Libs / Utility-Lib). Daraus ergibt sich folgende maximale Werte : 196605000 TICKS -> 45 Tage, 12 Stunden, 15 Minuten 65535 SECS -> 18 Stunden, 12 Minuten, 15 Sekunden 94370400 MINS -> ca. 179,5 Jahre Darüberliegende Werte führen nur zu falschen Zeitintervallen, eine Fehlermeldung erscheint nicht! Allerdings dürften die genannten Werte für Otto-Normal-Verbraucher wohl bei weitem ausreichen. ( Ich hoffe, daß ich mich nicht verrechnet habe ! ) Ansonsten reagiert WAIT wie der alte Wait-Befehl. WAIT läßt sich genauso mit Ctrl-C abbrechen und liefert die gleichen Fehlermeldungen. Ausnahmen bestätigen die Regel: bei einer falschen Zeitangabe hinter UNTIL wird der Einfachheit ( und Kürze ) wegen ein Syntax-Error ausgegeben.