Description of Keys & Commands
==============================
Note: English translation still under construction!

Command-Group "VAR": Variable
=============================

Mit den VAR-Commands kann man eine ganze Menge anstellen.
Nicht nur für skript-internen Einsatz wie bei den LOOP-Commands gezeigt
(s. Kapitel "BTCH), sondern es lassen sich gar Berechnungen in Excel
automatisieren (DM in Euro u.s.w.) u.v.m.


/VAR.>.CLIP ...........: To copy the variable into the clip (clip=VAR)
/VAR.<.CLIP [t] .......: To paste the clip into the variable (VAR=clip), optional: ignore thousand-separator <t>
------------------------
Mit Hilfe dieser Commands wäre z.B. eine Berechnung in Excel möglich.
Eine mögliche Vorgehensweise:

1. Ein Zelleninhalt von Excel wird in die Zwischenablage kopiert
2. Der Inhalt der Zwischenablage der Variablen zugewiesen
3. Die Berechnung der Variablen durchgeführt
4. Die Variable an eine Excel-Zelle gesendet

Example:

{/BTCH.EXPLICIT}
{HOLD.CONTROL}c
{/VAR.<.CLIP}
{/VAR.MUL 0,51129188}
{KEY.ESC}{KEY.RIGHT}
{/VAR.SEND,}
{KEY.LEFT}{KEY.DOWN}

Dieses Skript rechnet den Wert einer Excel-Zelle von DM in Euro um,
schreibt das Ergebnis in die rechts danebenliegende Zelle und bewegt
den Cursor in die Folge-Zelle der DM-Spalte.

--> Hinweis
Der Command zum Kopieren der VAR in die Zw´ablage kann zwar erkennen, ob es ggf. ein Komma in
einen Dezimal-Punkt wandeln muß (intern rechnet das System mit Punkt), bei einem Tausender-
Trennpunkt wie "1.234,56" wird es allerdings schwieriger.
Wird für den <t>-Parameter "." angegeben, so ignoriert RK den Punkt, indem es den Text zuvor in
"1234,56" wandelt und kann ihn anschließend der VAR in Form des Wertes 1234.56 übergeben.

Example: {/VAR.<.CLIP .}


/VAR.<.MCI mod ........: To copy MCI state info into VAR, <mod>=0:current track, 1:total tracks, 2:playing yes/no
------------------------
Dieser Command wurde für die MCI-Commands eingerichtet (siehe dort), um verschiedene
Zustände des CD-Players in der VAR (temporär) speichern zu können.

=0: VAR = Aktueller Titel
=1: VAR = Gesamt-Anzahl Titel der inliegenden CD
=2: VAR = CD wird z.Zt. abgespielt (VAR=1) bzw. wird nicht abgespielt (VAR=0)


/VAR.<.PROF mod .......: To copy (temp) setting of current profile into VAR, <mod>=0:col, 1:row, 2:wide, 3:high
------------------------
Dieser Command wurde für die Commands ME.PROF.TMP eingerichtet (siehe dort), um die (temporären)
Einstellungen des aktuellen Profils ermitteln und rechnerisch ändern zu können.
Da die Spalten- und Zeilen-Anzahl und die Knopf-Breiten und -Höhen änderbar sind, gestattet
dieser Command auch jeweils die Speicherung (nicht auf Disk) dieser Werte des aktuell eingestellten
Profils. Liegt bereits eine temopräre Einstellung für den angegebenen Parameter vor, so wird diese
auch verwendet. Ansonsten wird der im Bearbeiten > Profil Dialog eingestellte Grundwert als
Ausgangswert genommen.

=0: VAR = Spalten-Anzahl des aktuellen Profils
=1: VAR = Zeilen-Anzahl  des aktuellen Profils
=2: VAR = Knopf-Breite   des aktuellen Profils
=3: VAR = Knopf-Höhe     des aktuellen Profils

Example: {/VAR.<.PROF 0}


/VAR.<.WIN ............: To store the number of the activ window in current VAR for activation later
/VAR.>.WIN ............: To activate the window (by number) which was stored in VAR before
------------------------

Beispiel-Skript:

{/BTCH.EXPLICIT}
{/VAR.<.WIN}
{/APP.ACTIVATION.OFF}
{/CODE.KEY 91}
{KEY.UP}{KEY.UP}{KEY.UP}{KEY.UP}{KEY.UP}{KEY.UP}
{KEY.RIGHT}
{KEY.DOWN}{KEY.DOWN}
{KEY.ENTER}
{/VAR.>.WIN}

Dieses Beispiel öffnet das Drucker-Fenster (sofern das Start-Menü nicht abweichend
strukturiert ist) und aktiviert anschließend das Fenster, welches vor dem Aufruf des
Skriptes aktiv war.

--> Beachte!
Eine Fenster-Nummer wird durch Windows dynamisch zugeordnet. Ein erneutes Öffnen eines
zuvor geschlossenen Fensters führt i.d.R. dazu, daß es eine neue Fenster-Nummer erhält.


/VAR.SET val ..........: To set variable to <val> (value) (VAR=val)
/VAR.ADD val ..........: To add <val> (value) to the variable (VAR=VAR+val)
/VAR.SUB val ..........: To substract <val> (value) from the variable (VAR=VAR-val)
/VAR.MUL val ..........: To multiply the variable with <val> (value) (VAR=VAR*val)
/VAR.DIV val ..........: To divide the variable with <val> (value) (VAR=VAR/val)
------------------------
Diese Commands dienen der Zuweisung und Berechnungen der Variablen.

Example: {/VAR.SET 5}{/VAR.ADD 1.5}

Der Variablen-Wert beträgt nach Ausführung dieser Command-Folge 6,5.


/VAR.CLR ..............: To clear the variable (VAR=0)
------------------------

Example: {/VAR.CLR}


/VAR.ASK ..............: To set VAR to an user defined value
------------------------

Example: {/VAR.ASK}


/VAR.CLP.SEARCH str ...: To search in clip for <str> and set VAR to the 1st founded position
------------------------

Example: {/VAR.CLP.SEARCH hello}

If clip content = "say hello", VAR will be set to 5.


/VAR.FLD.ASK ..........: To open dialog to change field element number and values
/VAR.FLD.CHANGE elm ...: To change field element number to <elm> (element, 1-10)
/VAR.FLD.CLR ..........: To clear all field elements and change current element number to 1
------------------------
Since v7.7 RK was enlarged to handel 10 variables instead of only one.
All normal VAR-Commands works with the field element which is set by the ASK or CHANGE
command. In the beginning default field element = 1.
For example the CLEAR command will clear field element 1 if element 1 is the current element.
To clear element 3 with the CLEAR command, it is requierd to set current element to 3
with the ASK or CHANGE command. Same procedure for VAR.ADD and so on.

Example: {/VAR.FLD.ASK}
Example: {/VAR.FLD.CHANGE 2}
Example: {/VAR.FLD.CLR}


/VAR.FLD.ADD elm ......: To add VAR <elm> (element, 1-10) to current VAR (VAR=VAR+VAR<elm>)
/VAR.FLD.SUB elm ......: To substract VAR <elm> (element, 1-10) from current VAR (VAR=VAR-VAR<elm>)
/VAR.FLD.MUL elm ......: To multiply current VAR with VAR <elm> (1-10) (VAR=VAR*VAR<elm>)
/VAR.FLD.DIV elm ......: To divide current VAR with VAR <elm> (1-10) (VAR=VAR/VAR<elm>)
------------------------

Example:

{/BTCH.EXPLICIT}
{/VAR.FLD.CHANGE 1}
{/VAR.SET 55}
{/VAR.FLD.CHANGE 2}
{/VAR.SET 17}
{/VAR.FLD.CHANGE 1}
{/VAR.FLD.SUB 2}
{/VAR.VIEW}

The VIEW-Command showes, that VAR element 1 has the value 38 (55-17).
This is not a useful script but for demonstration only.


/VAR.FLD.MRG e1,e2 ....: To merge field element e1 and e2, point separated (VAR=VAR<e1>.VAR<e2>)
------------------------

Example: {/VAR.FLD.MRG 1,2}

Ist VAR-1 = 12 und VAR-2 = 34, so erhält das aktuelle Feld-Element den Wert 12.34 bzw. 12,34.


/VAR.FLD.SWAP elm .....: To swap current VAR and VAR <elm> (1-10) (VAR=VAR<elm>, VAR<elm>=VAR)
------------------------
This will swap the content of 2 elements.

Example: {/VAR.FLD.SWAP 2}

Based on the example before, element 1 = 17 and element 2 = 38 now.


--> Note
See profile "Script-Calculator" for demonstation. Functions like M+, MR etc needs these
commands to use them as memories.


/VAR.MOD mod ..........: To modify VAR in several modes, <mod>=0:absolute, 1:x-1, 2:integer, 3:extract dec.
------------------------
Hiermit kann VAR entsprechend der Parameter-Angabe <mod> (0-3) verschiedenartig modifiziert werden:

=0: absolut: aus -1 wird 1, 1 bleibt 1
=1: x-1    : aus -1 wird 1, aus 1 wird -1
=2: integer: aus 1,23 wird 1
=3: nur dez: aus 1,23 wird 23

Example: {/VAR.MOD 2}


/VAR.RND [min,max] ....: To generate a random number between <min> and <max> (VAR=RND) (default VAR1/2)
------------------------

Example:
{/VAR.RND 1,5}{/VAR.SEND}

This example will send a random number between 1 and 5.

-> Note
Ab v8.1.4 kann der Parameter weggelassen werden, um statt dessen die Vriablen VAR1/2 einzusetzen.


/VAR.SEND .............: To send the variable as a string to the active application
------------------------
Dieser Command dient der Ausgabe der Variablen (Ergebnis einer Berechnung).

Example: {/VAR.SEND}


/VAR.SEND, ............: To send the variable as a string in comma-format (1,5)
/VAR.>.CLIP, ..........: To copy the variable into the clip in comma-format (clip=VAR)
------------------------
Für die deutsche Standard-Einstellung der Systemsteuerung wurde diese komma-
unterstützenden Commands implementiert (s. obiges Beispiel).


/VAR.SND.FORMAT str ...: To send the variable in format <str>
/VAR.CLP.FORMAT str ...: To copy the variable in format <str> into the clip
------------------------
Mit diesen Commands sind formatierte Ausgaben möglich.

Example: {/VAR.SND.FORMAT #,##0.00}

Die Ausgabe würde sich im folgenden Format präsentieren: 1.234,56


/VAR.VIEW .............: To show the value of VAR in the internal text viewer
------------------------

Example: {/VAR.VIEW}