Variablen und Umgebungsvariablen nutzen
Verfasst: Mo Apr 18, 2011 4:33 pm
ACMP AutoMATE kennt das Konzept von Variablen. Das sind Platzhalter, genauso wie die Umgebungsvariablen (=Environment Variable), die man vom DOS her kennt.
Während eine Environment Variable zum Beispiel "VM_SERIAL" heissen kann, sind Variablen im Package Robot immer wie folgt aufggebaut:
Also zweimal das "$" und dann drei Buchstaben. Groß und Kleinschreibung werden dabei nicht unterschieden.
Die Variablen: $$ABC und $$abc sind somit die gleiche Variable.
Wie weist man einer solchen Variable nun einen Wert, zum Beispiel eine Seriennummer, zu? Ganz einfach:
Man kann nun die Variable überall im Skript verwenden, wo sonst Text stehen würde, dann wird entsprechend die Seriennummer eingefügt.
Zum Beispiel:
Wenn man den Inhalt einer Variable kontrollieren will kann man sich eine Messagebox anzeigen lassen:
oder etwas geordneter, mit einem Zeilenvorschub:
Nun wissen wir, wie man die ACMP AutoMATE-Variablen verwendet. Aber wie kommen nun die Environment-Variablen ins Spiel?
Dazu gibt es die Befehle:
Nehmen wir an, unsere Environment Variable wäre "VM_SERIAL" und wir wollen den Wert in die AutoMATE-Variable "$$VMS" übertragen um diese später im Skript zu verwenden.
Das geht so:
Nun können wir die $$VMS im Skript überall anstelle von Text - oder zusammen mit Text verwenden.
Zum Beispiel mit:
Wir können auch Text mit Variablen mischen. Anders als bei VB-Script benötigen wir dazu keine "" Gänsefüßchen oder Verkettungszeichen (&,+). Der Grund dafür ist die fixe Länge der AutoMATE-Variablen. Dadurch weiss das AutoMATE genau wo eine Variable anfängt und wo diese aufhört.
Und wie übergeben wir nun einen Returncode zurück an die Softwareverteilung?
Dazu dient der Befehl:
Also zum Beispiel:
SRV\1
würde den Errorlevel 1 auslösen. So haben wir alle Möglichkeiten in umserem Skript.
Während eine Environment Variable zum Beispiel "VM_SERIAL" heissen kann, sind Variablen im Package Robot immer wie folgt aufggebaut:
Code: Alles auswählen
$$ABC
Die Variablen: $$ABC und $$abc sind somit die gleiche Variable.
Wie weist man einer solchen Variable nun einen Wert, zum Beispiel eine Seriennummer, zu? Ganz einfach:
Code: Alles auswählen
VAR\$$ABC=1234-56768-0987
Zum Beispiel:
Code: Alles auswählen
RST\$$ABC
Code: Alles auswählen
MBX\ Der Inhalt ist:$$ABC
Code: Alles auswählen
MBX\ Der Inhalt ist:$crlf$$$ABC
Dazu gibt es die Befehle:
Aber um nur einfach den Wert einer Environment-Variable in eine AutoMATE-Variable zu übertragen benötigen wir nur den EVG\-Befehl."EVG\[Daten]" für "EnvironmentVariableGet",
"EVS\" für "EnvironmentVariableSet",
"IEE\[Daten]" für "IfExistsEnvironmentvariable",
"EEE\" für "EndExistsEnvironmentvariable",
"ESE\[Daten]" für "EnvironmentStringExpand",
"ESG\" für "EnvironmentStringGet",
"ESS\" für "EnvironmentStringSet".
Nehmen wir an, unsere Environment Variable wäre "VM_SERIAL" und wir wollen den Wert in die AutoMATE-Variable "$$VMS" übertragen um diese später im Skript zu verwenden.
Das geht so:
Code: Alles auswählen
EVG\VM_SERIAL
VAR\$$VMS=$v1$
Nun können wir die $$VMS im Skript überall anstelle von Text - oder zusammen mit Text verwenden.
Zum Beispiel mit:
Code: Alles auswählen
SBT\10|Die Seriennummer ist: $$VMS
Und wie übergeben wir nun einen Returncode zurück an die Softwareverteilung?
Dazu dient der Befehl:
Code: Alles auswählen
SRV\[Zahl oder Variable]
SRV\1
würde den Errorlevel 1 auslösen. So haben wir alle Möglichkeiten in umserem Skript.