ToDo: Kontrolle

Hamsterskript: Eingebaute Prozeduren

quit( <code> )
quit

Beendet ein Skript mit dem Rückgabewert <code>.

return( <code> )
return

Beendet eine Subroutine mit dem Rückgabewert <code>.

beep( <code> )
beep

Gibt Systemklänge aus. Sinnvolle Werte für den Parameter <code> sind im Modul „hwindows.hsm“ als benannte Konstanten vordefiniert ($SIGNAL_STOP, $SIGNAL_QUESTION, $SIGNAL_EXCLAMATION und $SIGNAL_ASTERISK).

error( <errmsg> )
error

Beendet ein laufendes Skript und gibt dabei eine (rote) Fehlermeldung im Hamster-Protokoll aus, die durch <errmsg> vorgegeben werden kann.

Beispiel:

error( "Datei ", $Filename, " nicht gefunden!" )

assert( <assertion>, <errmsg> )
assert( <assertion> )

Beendet ein laufendes Skript und gibt dabei eine Fehlermeldung im Hamster-Protokoll aus, die durch <errmsg> vorgegeben werden kann (Standard bei fehlender <errmsg>: „Assertion failed!“), wenn die Fehlervariable <assertion> erfüllt worden ist.

Beispiel:

assert( FileExists($Filename), "Datei ", $Filename, "
nicht gefunden!" )

sleep( <millisecs> )

Hält die Programmausführung für die in Millisekunden angegebene Zeitdauer an.

Beispiel:

sleep( 60000 ) # Eine Minute Pause

trace( <onoff> )

Schaltet die Anzeige der auszuführenden Programmzeilen im Protokoll an oder aus.

<onoff> = 1: Anzeige an,
<onoff> = 0: Anzeige aus.

dump

Zeigt die Inhalte aller Variablen an.

debug( <level>, <text> [ , <text> ...] )
debug( <level> )

Ist nur der Level <level> gegeben, so wird dieser auf den gegebenen Wert gesetzt. Ist zusätzlich der Text <text> angegeben, wird der Text genau dann angezeigt, wenn der aktuelle Level größer oder gleich dem angegebenen Level ist.

Beispiel:

debug( 255 )
debug( 10, "Jetzt sieht man diesen Text! " )
debug( 5 )
debug( 10, "Jetzt nicht mehr! " )

runscript( <Scriptname> , <Parameter> , <warten> )
runscript( <Scriptname> , <Parameter> )
runscript( <Scriptname> )

Startet das Skript <Scriptname> mit den Parametern <Parameter> . Wird die Variable <warten> mit dem Wert „TRUE“ angegeben, wartet das aufrufende Skript auf das Ende des aufgerufenen Skriptes, andernfalls wird die Ausführung des aufrufenden Skriptes unmittelbar fortgesetzt (Multitasking), Standard ist „TRUE“. Das aufgerufene Skript kann die übergebenen Parameter mit den Funktionen paramstr und paramcount auswerten. Parameter können auch Anführungsstriche enthalten, indem man sie einfach verdoppelt, d. h. ‚"Hallo ""Paulchen""!"‘ wird zu ‚Hallo "Paulchen"!‘.

Beispiel:

#############
# params.hsc:
#############
#!hs2
trace(0)
var ($i1)
print ("Params0-0: Start" )
print ("Params0-0: Start params2.hsc/1" )
RunScript ("params2.hsc", "A" + chr(13) + "5000" + chr(13) + "15000", true)
print ("Params0-0: Ends params2.hsc/1" )
sleep (2000)

print ("Params0-0: Start params2.hsc/2" )
RunScript ("params2.hsc", "B" + chr(13) + "8000" + chr(13) + "5000", true)
print ("Params0-0: Ends params2.hsc/2" )
sleep (6000)

print ("Params0-0: Done." )
quit


##############
# params2.hsc:
##############
#!hs2
# Dieses Skript erwartet 3 Parameter:
# 1) eine ID (Buchstabe o.ä.)
# 2) Zeitdauer in Millisekunden für die 1. Pause
# 3) Zeitdauer in Millisekunden für die 2. Pause
var ($i1)
print ("params2-" + ParamStr (1) + " : Start ...")
print ("params2-" + ParamStr (1) + " : sleep(" + ParamStr (2) + ")")
sleep (ParamStr (2))

print ("params2-" + ParamStr (1) + " : ParamCount = " + ParamCount)
for ($i1, 1, ParamCount+2)
  print ("params2-" + ParamStr (1) + " : " + $i1 + " : >" + ParamStr ($i1) + "<")
endfor

print ("params2-" + ParamStr (1) + " : sleep (" + ParamStr (3) + ")")
sleep (ParamStr (3))
print ("params2-" + ParamStr (1) + " : Done.")
quit (37)