Diese Sprachreferenz gibt Auskunft über die Syntax und Eigenschaften der einzelnen RapidBATCH Programmieranweisungen und Funktionen, und veranschaulicht diese Anhand einiger Beispiele.
1. Variablen- und Steueranweisungen
1.1
DEC var1,var2,var3 ... varn
|
Beschreibung:
Deklariert eine oder mehrere, neue Variablen im Script.
|
Beispiel:
dec [a], [b]
|
Bemerkungen:
Es ist nicht mehr unbedingt notwendig, Variablen zu deklarieren, da diese automatisch deklariert werden sobald ihnen ein Wert zugewiesen wird. Aus Kompatiblitätsgründen wurde die DEC-Anweisung jedoch beibehalten. Auch zur sauberen Programmierung ist DEC einfach unerlässlich.
|
1.2
LET var = value
|
Beschreibung:
Übergibt einer Variablen einen Wert. Dabei kann entweder ein konstanter Wert oder der Wert einer anderen Variable übernommen werden.
|
Beispiel:
let [a] = 'Hello World'
let [a] = [b]
let [c] = Welcome to RapidBATCH 4!
|
Bemerkungen:
keine.
|
1.3
HALT
|
Beschreibung:
Beendet das Script sofort.
|
Beispiel:
halt
|
Bemerkungen:
keine.
|
1.4
IF condition instruction
IF condition
{Instruction block}
[ELSEIF condition
{Instruction block}]
[ELSE
{Instruction block}]
ENDIF
|
Beschreibung:
Die IF-Anweisung ermöglicht es, Anweisungen bedingt auszuführen. Es prüft eine Bedingung (condition), ob diese das Ergebnis TRUE (wahr) zurückliefert. Ist dies der Fall, kann eine nachfolgende Anweisung oder ein so genannter Anweisungsblock ausgeführt werden. Soll nur eine Anweisung ausgeführt werden, so schreibt man diese direkt hinter die Bedingung, bei mehreren Anweisungen schreibt man den Anweisungsblock zwischen dem IF und einem ENDIF oder einem ELSE oder ELSEIF, wobei das ENDIF immer den gesamten IF-Block abschliesst. Wird ein ELSE angegeben, lassen sich alternativ Anweisungen ausführen, wenn die Bedingung des IFs das ergebnis FALSE (flasch) liefert. Wird ein ELSEIF angegeben, lassen sich mehrere Bedingungen prüfen, wenn die erste Bedingung das Ergebnis FALSE liefert.
Es können beliebig viele ELSEIF-Blöcke in einem IF-Block vorkommen, jedoch ist nur ein IF und ein ELSE je Block erlaubt. IF-Blöcke können weitere IF-Blöcke beinhalten (verschachtelte IF-Blöcke).
Eine Bedingung (condition) ist ein vergleich zweier Werte, wobei diese Werte auf gleich (=), ungleich (!), grösser-als (>) und kleiner-als (<) geprüft werden können.
|
Beispiel:
if [a] = [b] echo A is equal B!
if [password] = 'swordfish'
echo Login erfolgreich.
else
echo Falsches Passwort.
halt
endif
if [a] < '10'
echo Error!
halt
endif
|
Bemerkungen:
IF-Blöcke können beliebig ineinander verschachtelt werden.
|
1.5
REPEAT ... UNTIL condition
|
Beschreibung:
Mit REPEAT ... UNTIL lässt sich eine Fussgesteuerte Schleife programmieren. Diese Möglichkeit gestattet es, bestimmte Anweisungen wiederholt auszuführen, bis die bei UNTIL gegebene Bedingung erfolgreich geprüft wird.
Eine Bedingung (condition) ist ein vergleich zweier Werte, wobei diese Werte auf gleich (=), ungleich (!), grösser-als (>) und kleiner-als (<) geprüft werden können.
|
Beispiel:
let [i] = 0
repeat
echo 'Wert:' # [i]
calcvar [i] = [i] + '1'
until [i] = '10'
|
Bemerkungen:
REPEAT...UNTIL-Schleifen können beliebig ineinander verschachtelt werden.
|
1.6
GOTO label
|
Beschreibung:
GOTO springt zu einem dort spezifiziertem Label im Script. Dies ermöglicht äusserst komplexe Programme, da Anweisungen wiederholt ausgeführt oder übersprungen werden können. Ein Label ist durch ein vorangestelltes %-Zeichen im Code gekennzeichnet.
|
Beispiel:
%test
.
.
.
goto test
|
Bemerkungen:
Der Name des Labels muss bei GOTO ohne das % geschrieben werden!
Zum konstruieren von Schleifen empfiehlt sich eine REPEAT...UNTIL-Konstruktion.
|
1.7
GOSUB label ... RESUME
|
Beschreibung:
GOSUB arbeitet ähnlich wie GOTO. Hier wird zu einem Label gesprungen, welches hier als Unterprogramm (Sub) angesehen wird. Sobald eine RESUME-Anweisung auftritt, wird das Script hinter dem letzten GOSUB-Aufruf fortgesetzt. Dies ermöglicht äussers komplexe Programmkonstruktionen. GOSUB...RESUME-Konstruktionen lassen sich beliebig ineinander verschachteln (z.B. lassen sich aus Subs wiederum andere GOSUB-Sprünge durchführen.
|
Beispiel:
let [i] = 1
%next
if [i] = '11' halt
gosub square
calcvar [i] = [i] + '1'
goto next
%square
calcvar [x] = [i] * [i]
linkvar [out] = [i] + '*' + [i] + '=' + [x]
echo [out]
resume
|
Bemerkungen:
Ein RESUME muss nicht gegeben sein. In solch einem Fall ist GOSUB äquivalent zu GOTO. Wird ein RESUME ohne ein vorheriges GOSUB angegeben, wird dieses ignoriert, und die Scriptausführung hinter RESUME fortgesetzt.
|
1.8
WAIT millisec
|
Beschreibung:
Wartet die angegebene Zahl in Millisekunden mit der Scriptausführung
|
Beispiel:
wait 2000
echo Hello World ;) ...
|
Bemerkungen:
keine.
|
1.9
REM comment
|
Beschreibung:
REM markiert eine Kommentarzeile im Code, mit dem das Script kommentiert werden kann. REM führt keine Aktion aus, sie teilt dem Compiler/Interpreter lediglich mit, das diese Zeile ignoriert werden soll.
|
Beispiel:
rem Ask user if he want to continue
confirm Do you want to continue?
|
Bemerkungen:
keine.
|
2. Benutzerinteraktions-Dialoge
2.1
MSGBOX title, message, buttons
|
Beschreibung:
MSGBOX ermöglicht es, ein Meldungsfenster (messagebox) auszugeben. Die Anweisung erwartet einen Titel, einen Meldungstext sowie einen so genannten Buttontyp, welcher entweder durch eine Zahl (was äusserst individuelle Möglichkeiten zulässt) oder durch eine der build-in Konstanten, wie z.B. OK oder YESNOCANCEL repräsentiert wird. Welcher der Buttons gedrückt wurde wird in die Variable [errorcode] gespeichert. Die Rückgabewerte der Buttons sowie die Buttontypen entnehmen Sie bitte der folgenden Tabelle:
| Button-Wert: |
Buttons (mit Rückgabewerten): |
| 0 (ok) |
OK (1) |
| 1 (okcancel) |
OK (1) + CANCEL (2) |
| 2 (cancelretryignore) |
CANCEL (3) + RETRY (4) + IGNORE (5) |
| 3 (yesnocancel) |
YES (6) + NO (7) + CANCEL (2) |
| 4 (yesno) |
YES (6) + NO (7) |
| 5 (retrycancel) |
RETRY (4) + CANCEL (2) |
|
Beispiel:
msgbox 'Hello!', 'Hello dear script user!', 'ok'
msgbox 'Exit script?', 'Do you really want to exit the script?', 'yesno'
if [errorcode] = '7'
halt
else
goto start
endif
|
Bemerkungen:
Es lässt sich auch eines der vier Standard-Icons in einem Meldungsfenster anzeigen. Dazu rechnen Sie einfach den Buttontyp plus 16 (Error-Icon), 32 (Question-Icon), 48 (Warning-Icon) oder 64 (Info-Icon), so dass sie z.B. 36 erhalten für eine YES-NO-Komhination (Wert 4) mit dem Fragezeichen-Icon (Wert 32) übergeben. Die Rückgabewerte von [errorcode] bleiben die selben.
In RapidBATCH 2.0, 2.2 und 3.0 hiess diese Anweisung noch ECHOBOX. Alternativ kann auch weiterhin ECHOBOX benutzt werden, MSGBOX ist jedoch die moderne Variante.
|
2.2
ECHO message
|
Beschreibung:
ECHO ist eine Abkürzung für ein Meldungsfenster mit OK-Button.
|
Beispiel:
echo Hello World
echo [text]
|
Bemerkungen:
Der Titel des Meldungsfensters ist standardmässig "RapidBATCH Echo". Ändern Sie den Wert in der vordeklarierten Variablen [Echo_Title].
|
2.3
CONFIRM message
|
Beschreibung:
CONFIRM ist eine Abkürzung für ein Meldungsfenster mit JA-NEIN-Option. Drückt der Benutzer JA, so erhält [errorcode] den Wert 0, andernfalls -1.
|
Beispiel:
confirm Do you really want to quit?
|
Bemerkungen:
Der Titel des Meldungsfensters ist standardmässig "RapidBATCH Confirmation". Ändern Sie den Wert in der vordeklarierten Variablen [Confirm_Title].
|
2.4
INPUTBOX var = title, prompt, pre-text
|
Beschreibung:
INPUTBOX ist ein einfacher Eingabedialog in den der Benutzer Daten in ein Editierfeld eingeben kann. Der dort eingegebene Wert wird dabei zurückgegeben, wenn der Benutzer den OK-Button drückt. INPUTBOX benötigt eine Variable, die den Rückgabewert erhält, einen Titel, einen Aufforderungstext sowie einen vordefinierten Text, der im Textfeld steht, als Parameter.
|
Beispiel:
inputbox [name] = 'Login', 'Please enter your login name:', 'Anonymous'.
if [name] ! 'Anonymous'
inputbox [password] = 'Password', 'Please enter password:', ''.
if [password] ! 'swordfish'
halt
else
let [loginstatus] = 'user'
endif
else
let [loginstatus] = 'guest'
endif
|
Bemerkungen:
Drück der Benutzer im Eingabefenster den CANCEL-Button (Abbruch), so wird ein Leerstring zurückgeliefert. Über die Variablen [IBox_Ok] und [IBox_Cancel] lassen sich die Buttons "Ok" und "Cancel" individuell beschriften.
|
2.5
EDITBOX var = title, text, mode
|
Beschreibung:
Die EDITBOX-Funktion stellt einen Editor zur Verfügung, in dem der Script-Anwender grössere Textmengen editieren und ansehen kann.
Die Funktion benötigt eine Variable als Returnvariable sowie einen Titel, den im Textfeld vorgegebenen/angezeigten Text und einen Anzeigenmodus. Über den Anzeigemodus lässt sich das Eingabefeld sperren, indem man ihn auf 1 oder die konstante READONLY setzt. Bei 0 bzw. der Konstanten WRITEABLE ist der Text editierbar.
|
Beispiel:
editbox [text] = 'Texteingabe', '', 'writeable'
editbox [text] = 'Textanzeige', 'Dieser Text kann nicht geändert werden.', 'readonly'
|
Bemerkungen:
Drückt der Benutzer im Eingabefenster den CANCEL-Button (Abbruch), so wird ein Leerstring zurückgeliefert. Über die vordeklarierten Variablen [EditBox_Ok] und [EditBox_Cancel] lassen sich die Buttons individuell beschriften.
Das Textfenster kann in der Grösse verändert werden, indem Sie die Variablen [EditBox_Width] und [EditBox_Height] auf eine individuelle Grösse in Pixel setzen.
Das Textfenster kann mit der Maus vom Benutzer in der Grösse geändert werden.
|
2.6
LISTBOX var = title, list
|
Beschreibung:
Die LISTBOX-Funktion ermöglicht es, dem Benutzer ein Menü oder eine Auswahl bereitzustellen, indem er einen Eintrag aus einer Liste wählt. Rückgabewert der Funktion ist der gewählte Eintrag.
Die Funktion benötigt eine Variable als Returnvariable sowie einen Titel und die in dem Listenfeld angezeigten Einträge. Jeder Eintrag wird im List-String durch ein Pipe-Zeichen getrennt, so zum Beispiel "Eintrag 1|Eintrag 2|Eintrag 3|...".
Klickt der Benuter den Schliessen-Button des Dialogfensters oder drückt auf "Ok", ohne etwas auszuwählen, wird ein Leerstring zurückgegeben.
|
Beispiel:
listbox [food] = 'Yummy!', 'Pizza|Hamburger|Fries|Pita'
if [food] ! ''
echo 'Ah, you're a ' # [food] # ' eater ;) ...'
endif
end
|
Bemerkungen:
Über die vordeklarierten Variable [ListBox_Ok] kann der "Ok"-Button individuell beschriftet werden.
Die Listbox kann in der Grösse verändert werden, indem Sie die Variablen [ListBox_Width] und [ListBox_Height] auf eine individuelle Grösse in Pixel setzen.
Der Benutzer kann die Listbox mit der Maus ebenfalls in der Grösse anpassen.
|
|
2.7 OPENBOX filename = title, filter
|
Beschreibung:
Die OPENBOX-Anweisung zeigt einen Standard-Dialog zum auswählen einer Datei mit ÖFFNEN-Button an. Der gewählte Dateiname wird von der Funktion zurückgeliefert.
Der Dateifilter, welche Dateityüen angezeigt werden sollen, wird als String übergeben, der wie folgendes Beispiel aufgebaut sein muss:
"Text files|*.txt"
Oder für mehrere Dateitypen
"Text files|*.txt|HTML-Files|*.html|DOC-Files|*.doc" ...
Zu erst wird die Dateitypenbezeichnung, anschliessen der Filer angegeben. Diese sind jeweils durch Pipe-Zeichen (|) voneinander abgetrennt.
|
Beispiel:
openbox [file] = 'Open a file','Text files|*.txt|All Files|*.*'
|
Bemerkungen:
Verwenden Sie die SAVEBOX-Anweisung, um einen Dateiauswahl-Dialog mit SPEICHERN-Button anzuzeigen.
Wenn Sie die vordeklarierte Variable [OpenBox_MultiSel] auf 0 setzen, können in dem Dialog mehrere Dateien ausgewählt werden. Ist dies der Fall, ist der Rückgabewert eine Liste, beginnend mit dem Pfadnamen und den einzelnen Dateien, jeweils durch Pipe-Zeichen (|) getrennt.
|
|
2.8 SAVEBOX filename = title, filter
|
Beschreibung:
Die SAVEBOX-Anweisung zeigt einen Standard-Dialog zum auswählen einer Datei mit SPEICHERN-Button an. Der gewählte Dateiname wird von der Funktion zurückgeliefert.
Der Dateifilter, welche Dateityüen angezeigt werden sollen, wird als String übergeben, der wie folgendes Beispiel aufgebaut sein muss:
"Text files|*.txt"
Oder für mehrere Dateitypen
"Text files|*.txt|HTML-Files|*.html|DOC-Files|*.doc" ...
Zu erst wird die Dateitypenbezeichnung, anschliessen der Filer angegeben. Diese sind jeweils durch Pipe-Zeichen (|) voneinander abgetrennt.
|
Beispiel:
savebox [file] = 'Open a file','Text files|*.txt|All Files|*.*'
|
Bemerkungen:
Verwenden Sie die OPENBOX-Anweisung, um einen Dateiauswahl-Dialog mit ÖFFNEN-Button anzuzeigen. Wenn Sie die vordeklarierte Variable [SaveBox_MultiSel] auf 0 setzen, können in dem Dialog mehrere Dateien ausgewählt werden. Ist dies der Fall, ist der Rückgabewert eine Liste, beginnend mit dem Pfadnamen und den einzelnen Dateien, jeweils durch Pipe-Zeichen (|) getrennt.
|
3. Funktionen
3.1
CALCVAR result = value1 +|-|*|/ value2 ... valueN
|
Beschreibung:
Die CALCVAR-Funktion berechnet Variablen und konstante Werte, wenn diese numerische Inhalte haben.
Sie können die vier Standardrechenoperationen Addition (+), Substraktion (-), Division (/) und Multiplikation (*) anwenden. Die einzelnen Werte werde dabei durch einen der o.g. Operatoren abgetrennt. Werte mit Kommas müssen mit einem Punkt (.) anstatt des Kommas angegeben werden. Rückgabewert der Funktion ist das Ergebnis der Berechnung.
|
Beispiel:
calcvar [c] = [a] + [b]
calcvar [x] = '10' * [n] / '4' - '77' * '3.5'
|
Bemerkungen:
Bei CALCVAR angegebene Formeln können beliebig lang sein.
|
3.2
UPVAR result = value
|
Beschreibung:
Konvertiert den angegebenen Wert in Grossbuchstaben und liefert diesen zurück.
|
Beispiel:
upvar [uppername] = 'hello world'
|
Bemerkungen:
Verwenden Sie LOWVAR, um einen Wert in Kleinbuchstaben zu konvertieren.
|
3.3
LOWVAR result = value
|
Beschreibung:
Konvertiert den angegebenen Wert in Kleinbuchstaben und liefert diesen zurück.
|
Beispiel:
lowvar [uppername] = 'HELLO WORLD'
|
Bemerkungen:
Verwenden Sie UPVAR, um einen Wert in Grossbuchstaben zu konvertieren.
|
3.4
TRIMVAR result = value
|
Beschreibung:
Die TRIMVAR-Funktion entfernt führende und endende Leerzeichen aus einem String.
|
Beispiel:
trimvar [a] = ' hello world '
|
Bemerkungen:
keine.
|
3.5
GETCHR result = ascii-code
|
Beschreibung:
Gibt das durch den numerischen ASCII-Code spezifizierte ASCII-Zeichen zurück.
|
Beispiel:
getchr [quot] = 034
|
Bemerkungen:
keine.
|
3.6
GETLEN result = value
|
Beschreibung:
Gibt die Anzahl der Zeichen des übergebenen Wertes zurück.
|
Beispiel:
getlen [len] = 'Hello World'
|
Bemerkungen:
keine.
|
3.7
COPYVAR result = value: from, to
|
Beschreibung:
Extrahiert einen String aus dem spezifizierten Wert, welcher bei der Position from beginnt und ab dieser Position to Zeichen lang ist. Das Ergebnis ist ein so genannter Substring, welcher von der Funktion zurückgeliefert wird.
|
Beispiel:
copyvar [n] = [name]: '5', '10'
|
Bemerkungen:
keine.
|
3.8
GETPOS position = value: substr
|
Beschreibung:
Liefert die erste Position des Wertes substr im Wert value zurück. Wurde der Substring nicht gefunden ist der Rückgabewert 0.
|
Beispiel:
getpos [pos] = 'Hello World': 'llo'
|
Bemerkungen:
keine.
|
4. System-spezifische Operationen und Dateizugriffe
4.1
CHDIR path
|
Beschreibung:
Wechselt das angegebende Verzeichnis. Ist die Operation erfolgreich, erhält die Variable [errorcode] den Wert 0, ansonsten -1.
|
Beispiel:
chdir c:\jmksf
|
Bemerkungen:
Verwenden Sie MKDIR und RMDIR um Verzeichnisse zu erstellen oder zu entfernen.
|
4.2
MKDIR path
|
Beschreibung:
Erzeugt das angegebende Verzeichnis. Ist die Operation erfolgreich, erhält die Variable [errorcode] den Wert 0, ansonsten -1.
|
Beispiel:
mkdir c:\jmksf\test
|
Bemerkungen:
Verwenden Sie CHDIR und RMDIR um Verzeichnisse zu wecheln oder zu entfernen.
|
4.3
RMDIR path
|
Beschreibung:
Entfernt das angegebende Verzeichnis. Ist die Operation erfolgreich, erhält die Variable [errorcode] den Wert 0, ansonsten -1.
|
Beispiel:
rmdir c:\jmksf\test
|
Bemerkungen:
Ein Verzeichnis, das mit RMDIR entfernt werden soll, muss komplett leer sein! Verwenden Sie MKDIR und CHDIR um Verzeichnisse zu erstellen oder zu wechseln.
|
4.4
SYSTEM command
|
Beschreibung:
Führt ein Betriebssystemskommando aus. Dies sind unter Windows reine DOS-Befehle. Das Script wartet solange mit der Ausführung bis das mit SYSTEM gestartete Programm beendet wurde.
|
Beispiel:
system dir >list.txt
|
Bemerkungen:
[errorcode] erhält -1, wenn kein COMMAND.COM oder CMD.EXE gefunden wurde.
|
4.5
SHELL program, showmode
|
Beschreibung:
Führt ein externes Programm aus.
Das Script wird dabei fortgeführt, so dass das gestartete Programm mit dem Script parallel läuft (Multitasking). Die Anweisung erwartet einen Programmpfad (.EXE, .COM oder .BAT) und einen Anzeigemodus, der entweder durch eine Zahl oder einen der build-in Konstanten repräsentiert wird. Mögliche Werte sind SHOW (0), HIDE (1), MAXIMIZED (2) und MINIMIZED (3).
|
Beispiel:
shell 'c:\windows\calc.exe', 'show'
shell 'c:\windows\desktop\test.bat', 'hide'
|
Bemerkungen:
[errorcode] erhält einen Wert > 32, wenn das Programm erfolgreich gestartet werden konnte.
|
4.6
DELFILE filename
|
Beschreibung:
Entfernt die angegebene Datei. Ist die Operation erfolgreich, erhält [errorcode] den Wert 0, ansonsten -1.
|
Beispiel:
delfile c:\windows\system\kernel32.dll
echo ;)
|
Bemerkungen:
keine.
|
4.7
NEWFILE filename
|
Beschreibung:
Erstellt die angegebene Datei. Ist die Operation erfolgreich, erhält [errorcode] den Wert 0, ansonsten -1. Existiert die Datei bereits schon, wird Sie mit der neuen, leeren Datei überschrieben.
|
Beispiel:
newfile c:\windows\desktop\hello.txt
|
Bemerkungen:
keine.
|
4.8
COPYFILE source:target
|
Beschreibung:
Kopiert eine Quelldatei in eine Zeildatei. Ist die Operation erfolgreich, erhält [errorcode] den Wert 0, ansonsten -1.
|
Beispiel:
copyfile 'c:\jmksf\rbatch32\samples\hello.rb': 'a:\hello.rb'
|
Bemerkungen:
keine.
|
4.9
FILEEXISTS filename
|
Beschreibung:
Prüft die existenz der angegebene Datei. Wurde die Datei gefunden, erhält [errorcode] den Wert 0, ansonsten -1.
|
Beispiel:
fileexists c:\windows\calc.exe
if [errorcode] = '0' echo CALC.EXE exists!
|
Bemerkungen:
keine.
|
4.10
RENAMEFILE source:target
|
Beschreibung:
Benennt eine Quelldatei in eine Zeildatei um. Ist die Operation erfolgreich, erhält [errorcode] den Wert 0, ansonsten -1.
|
Beispiel:
renamefile 'c:\test.txt': 'c:\test.old'
|
Bemerkungen:
Mit RENAMEFILE lassen sich Dateien auch in andere Verzeichnisse/Laufwerke verschieben.
|
4.11
WRITEFILE filename: value
|
Beschreibung:
Schreibt den spezifizierten Wert in die ebenfalls angegebene Datei, wobei die Daten ans Dateiende angehängt werden. Der Inhalt der Datei wird dabei nicht überschrieben!
|
Beispiel:
writefile 'c:\test.txt': 'Hello World'
|
Bemerkungen:
Ist die Datei nicht existent wird sie automatisch erzeugt.
|
4.12
READFILE result = filename: line
|
Beschreibung:
Liest die angegebene Zeile aus der spzifizierten Datei und gibt diese als String zurück. Ist das Dateiende erreicht oder wenn die Datei nicht gefunden wurde, erhält [errorcode] den Wert -1, und der Rückgabewert ist "EOF".
Wenn als Zeile ein Wert kleiner 1 angegeben wird, liest READFILE den Inhalt der gesamten (mit einem Limit von 32768 Bytes) udn gibt diesen zurück.
|
Beispiel:
rem Erste Zeile lesen...
readfile [text] = 'c:\test.txt', '1'
rem Gesamte Datei lesen...
readfile [text] = 'c:\test.txt', '0'
|
Bemerkungen:
keine.
|
4.13
OPEN data
|
Beschreibung:
OPEN öffnet eine Datei mit dem dafür vorgesehenen Programm, oder eine Internetseite im Browser. Mit OPEN können auch externe Programme gestartet werden.
|
Beispiel:
open hello.doc
open http://www.jmksf.com/
open c:\windows\calc.exe
open c\jmksf\rbatch4\samples\hello.rb
|
Bemerkungen:
keine.
|
4.14
MCI mci-string
|
Beschreibung:
MCI sendet ein Kommando an das Windows Media Control Interface, mit dem sich Mediadaten aller Art abspielen lassen, z.B. MIDI, AVI, WAV, MP3, MPEG, usw.
|
Beispiel:
mci open music.mp3
mci play music.mp3
wait 5000
mci close music.mp3
|
Bemerkungen:
Eine Liste an möglichen MCI-Kommandos finden Sie im Internet unter http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/mmcmdstr_4nub.asp.
Die Variable [errorcode] erhält das Ergebnis vom mciSendSting(), und kann somit auf evtl. Fehler abgefragt werden.
|
4.15
GETENV var = envvar
|
Beschreibung:
Ermöglich das auslesen von Umgebungsvariablen. Die Funktion erwartet eine Variable, die den Wert der Umgebungsvariablen erhält sowie den Namen der Umgebungsvariablen, die gelesen werden soll.
|
Beispiel:
getenv [pathvar] = PATH
|
Bemerkungen:
Um Umgebungsvariablen zu erzeugen/ändern, benutzen Sie die SETENV-Anweisung.
|
4.16
LETENV enviroment_assignment
|
Beschreibung:
Die LETENV-Anweisung erlaubt das setzen von Umgebungsvariablen. Dabei gibt man die Umgebugnsvariable, gefolgt von einem Gleichheitszeichen und einem Wert an (siehe Beispiel).
|
Beispiel:
letenv TEST=Hello World
|
Bemerkungen:
Geänderte oder neu erstelle Variablen werden nach Beendigung des Scripts durch das Betriebssystem automatisch wieder zurückgesetzt bzw. neue Variablen werden gelöscht.
|
4.17
CALL command
|
Beschreibung:
Startet ein Programm im Modalmodus. Das bedeutet, dass das RapidBATCH-Script mit der Ausführung solange wartet, bis das mit CALL gestartete Programm beendet wurde.
|
Beispiel:
call c:\windows\calc.exe
|
Bemerkungen:
[errorcode] erhält -1, wenn ein Fehler auftrat, ansonsten 0.
|
4.18
SENDKEYS programwindow: keystrokes
|
Beschreibung:
Sendet Tastenkombinationen an das Fenster mit dem Titel programwindow. Diese Anweisung ermöglicht somit das fernsteuern beliebiger Windows-Programme mithilfe einer einfach definierbaren Makrosprache.
Normale Buchstaben und Zahlen lassen sich ganz normal eingeben. Sonderzeichen werden entweder durch ein vorangestelltes Tilde-Zeichen (~) kodiert oder es werden Keycodes übergeben, mit denen man auch festlegen kann, ob eine Taste gedrückt bleibt oder wieder losgelassen wird (z.B. für Tastenkombinationen ALT+F4). Die folgende Tabelle erklärt die verfügbaren Specialkeys, die durch ein Tilde-Zeichen gefolgt von einen der folgenden Buchstaben gekennzeichnet sind. Für die Keycodes zu jeder Tastaturtaste schlagen Sie bitte in der Datei KEYCODES.TXT nach.
| Special-Key: |
Bedeutung: |
| r |
Return, Eingabetaste |
| t |
Tabstop |
| a |
ALT |
| c |
Shift |
| b |
Backspace |
| U |
Up-Key (Pfeiltaste hoch) |
| D |
Down-Key (Pfeiltaste runter) |
| L |
Left-Key (Pfeiltaste links) |
| R |
Right-Key (Pfeiltaste rechts) |
| 1 |
F1-Taste |
| 2 |
F2-Taste |
| 3 |
F3-Taste |
| 4 |
F4-Taste |
| 5 |
F5-Taste |
| 6 |
F6-Taste |
| 7 |
F7-Taste |
| 8 |
F8-Taste |
| 9 |
F9-Taste |
| A |
F10-Taste |
| B |
F11-Taste |
| C |
F12-Taste |
|
Beispiel:
shell [windir] # '\notepad.exe', 'show'
sendkeys 'Unnamed - Editor': 'Hello World#272ds#018test.txt~r#272~4#018'
end
|
Bemerkungen:
[errorcode] erhält -1, wenn ein Fehler auftrat, ansonsten 0.
|
4.19
FINDFILES file = filter
|
Beschreibung:
Die FINDFILES-Funktion liest den Inhalt des aktuellen Verzeichnisses. Die Funktion muss so oft mit demselben Dateifilter aufgerufen werden, bis sie einen Leerstring zurückgibt. Mit dieser Möglichkeit können Sie Dateien auflisten, ohne auf externe Programme zugreifen zu müssen.
|
Beispiel:
repeat
findfiles [file] = '*.*'
let [filelist] = [filelist] # [file] # [new_line]
until [file] = ''
echo [filelist]
end
|
Bemerkungen:
Wird ein neuer Dateifilter verwendet werden die Dateien mit dem neuen Filter von vorne aufgelistet.
|
4.20
FILESIZE result = file
|
Beschreibung:
Ermittelt die Größe einer Datei in Bytes.
|
Beispiel:
filesize [bytes] = 'c:\command.com'
|
Bemerkungen:
keine.
|
5. Vordeklarierte Variablen
5.1
[errorcode]
|
Beschreibung:
Die Variable [errorcode] ist eine von vielen Anweisungen benutzte Statusvariable, die Auskunft darüber gibt, ob eine Aktion erfolgreich war oder nicht, oder welche Status eine Aktion angenommen hat (z.B. welcher Button in einer MSGBOX-Meldung oder CONFIRM-Meldung gedrückt wurde).
|
5.2
[command]
|
Beschreibung:
Die Variable [command] enthält die Kommandozeilenparameter, die beim starten des Scripts übergeben wurden. Bei interpretierten Scripten sind dies alle Parameter hinter dem Script-Dateinamen, den der Interpreter übergeben bekommt, bei kompilierten Scripten die alles, was hinter dem Namen der EXE-Datei übergeben wurde.
|
5.3
[ownname]
|
Beschreibung:
Dateiname des Scripts. Bei interpretierten Scripts der Dateiname der .RB-Datei, bei kompilierten Scripts der Name und Pfad der .EXE-Datei.
|
5.4
[Echo_Title]
|
Beschreibung:
Titel bei einem ECHO-Meldungsfenster.
Standardwert: "RapidBATCH Echo"
|
5.5
[Confirm_Title]
|
Beschreibung:
Titel bei einem CONFIRM-Meldungsfenster.
Standardwert: "RapidBATCH Confirmation"
|
5.6
[current]
|
Beschreibung:
Current enthält den Pfad des aktuellen Verzeichnisses. Wechseln Sie das Verzeichnis mit der CHDIR-Anweisung.
|
5.7
[windir]
|
Beschreibung:
Enthält den Pfad des Windows-Systemverzeichnisses.
|
5.8
[time]
|
Beschreibung:
Die aktuelle Systemzeit im Format hh:mm:ss.
|
5.9
[day], [month], [year]
|
Beschreibung:
Das Systemdatum, aufgeteilt in drei Variablen, um verschiedene Datumsformate zu ermöglichen.
|
5.10
[curuser]
|
Beschreibung:
Unter Windows NT, 2000 und XP der Benutzername des aktuell eingeloggten Benutzers. Bei Single-Benutzersystemen ("Family Logon") unter Win 95/98 und ME ist der Wert "unknown".
|
5.11
[winvers]
|
Beschreibung:
Gibt Auskunft über die verwendete Windows-Version. Mögliche Werte sind 95, 95A, 95B, 95C, 98, 98SE, ME, NT4, 2000, XP und unknown, wobei letztere nur bei neueren Windows-Versionen (z.B. Windows Longhorn oder Windows Server 2003) eintrtt.
|
5.12
[IBox_Ok], [IBox_Cancel]
|
Beschreibung:
Die Beschriftung des OK- bzw. Abbruch-Buttons des INPUTBOX-Dialogfensters
|
5.13
[EditBox_Ok], [EditBox_Cancel],
[EditBox_Height], [EditBox_Width]
|
Beschreibung:
Diese Variablen dienen zur Individualisierung des EDITBOX-Dialogfensters. Über [EditBox_Ok] und [EditBox_Cancel] lassen sich die beiden Buttons, "Ok" und "Cancel", im Dialog individuell beschriften. [EditBox_Height] und [EditBox_Width] ermöglichen es, den ECHOBOX-Dialog in der Höhe und Beite zu verändern, indem man dort entsprechende Pixelwerte übergibt.
|
5.14
[ListBox_Ok], [ListBox_Height], [ListBox_Width]
|
Beschreibung:
Diese Variablen dienen zur Individualisierung des LISTBOX-Dialogfensters. Über [ListBox_Ok] lässt sich der "Ok"-Button im Dialog individuell beschriften. [ListBox_Height] und [ListBox_Width] ermöglichen es, den LISTBOX-Dialog in der Höhe und Beite zu verändern, indem man dort entsprechende Pixelwerte übergibt.
|
5.15
[OpenBox_MultiSel], [SaveBox_MultiSel]
|
Beschreibung:
Erlaubt es, in einem OPENBOX/SAVEBOX-Dialogfenster mehrere Dateien auszuwählen. Da diese Funktion nachträglich implementiert wurde, ist die Umstellung nur über diese Variablen möglich. Wird der für jeden Dialog entsprechenden Variable der Wert -1 zugewiesen, kann nur eine Datei im Dialog ausgewählt werden, jeder andere Wert grösser -1 erlaubt eine Mehrfachauswahl von Dateien.
|
5.16
[new_line]
|
Beschreibung:
Enthält einen Zeilenumbruch. Da dieser oftmals in Messageboxes verwendet wird, wurde diese Variable eingeführt, und erspart damit das erzeugen einer manuellen Zeilenumbruchs-Variable mit
getchr [umbruch] = '10'
|
5.17
[clipboard]
|
Beschreibung:
Ermöglicht den Zugriff auf die Windows® Zwischenablage. Um einen Wert in die Zwischenablage zu schreiben, übergeben Sie der Variablen einfach den gewünschten Inhalt, um einen Wert aus der Zwsichenablage zu holen lesen Sie die Variable einfach aus.
|
<<< Zurück
|
|