
Groupe de commandes "VAR": Variable
===================================

Avec ces commandes on peut mettre en oeuvre une grande quantité de 
scénarios :
non seulement pour une intervention interne, comme indiqué avec la 
commande LOOP (dans le chapitre "BTCH), mais aussi pour automatiser des 
calculs dans Excel (convertir des $ en Euro, etc.).


/VAR.>.CLIP ...........: Copie la variable dans le presse-papiers 
                         (presse-papiers = VAR)
/VAR.<.CLIP [t] .......: Colle le presse-papiers dans la variable 
                         (VAR = presse-p.), facultatif : ignore les 
------------------------ séparateurs de millier <t>

Exemple .>.CLIP: le bouton "haut" du profil "Calculatrice du scénario"
Exemple .<.CLIP: le bouton "x 10" du profil "Stock"

Avec ces commandes un calcul dans Excel est rendu possible.
Une façon d'opérer possible :

1. Une cellule Excel est copiée dans le presse-papiers
2. Le contenu du presse-papiers est collé à la variable
3. Le calcul de la variable s'accomplit
4. La variable est envoyée à une autre cellule

Exemple de scénario:

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

Ce scénario convertit la valeur d'une cellule en DM en Euro, écrit le 
résultat dans la cellule à sa droite et conduit le curseur dans la 
cellule suivante de la colonne DM.

--> Remarque
La commande qui copie la VAR dans le presse-papiers peut certes 
reconnaître si elle doit changer une virgule en un point-décimal (le 
système interne calcule avec un "point"), mais pour un séparateur de 
millier comme "1.234,56" c'est beaucoup plus difficile.
Si le paramètre <t> "." est ajouté, RK va ignorer le "point" dans la 
valeur "1.234,56", et donnera finalement à la variable VAR la valeur
formatée de "1234.56".

Le scénario peut être:

{/BTCH.EXPLICIT}
{/CLIP.TXT.SET 1.234,56}
{/VAR.<.CLIP .}
{/VAR.VIEW}


/VAR.<.MCI mod ........: Copie l'info d'état MCI dans la variable VAR, 
                         <mod>= 0 : piste actuelle, 1 : toutes les pistes,
------------------------ 2 : à jouer ? oui/non

Cette commande a été conçue pour les commandes MCI (voir ce fichier-texte),
afin de pouvoir stocker plusieurs états du lecteur-CD dans la variable VAR
(temporaire).

= 0  :  VAR = Titre actuel
= 1  :  VAR = Tous les titres du CD
= 2  :  VAR = le CD est joué (VAR=1) ou non (VAR=0)

Exemple: bouton "Hasard" du profil "Lecteur CD"


/VAR.<.PROF mod .......: Copie le réglage temporaire du profil actuel 
                         dans la variable VAR, <mod>=0:colonne, 1:ligne, 
------------------------ 2:largeur, 3:hauteur

Cette commande arrange les commandes ME.PROF.TMP, pour permettre de 
changer temporairement les dimensions du profil actuel.
Comme le nombre de colonnes et de lignes et la largeur et hauteur des 
boutons sont modifiables, cette commande permet aussi à chaque fois 
d'enregistrer (pas sur le disque) les valeurs de réglage du profil 
actuel.

= 0 : VAR = nb. de colonnes       du profil actuel
= 1 : VAR = nb. de lignes         du profil actuel
= 2 : VAR = largeur des boutons   du profil actuel
= 3 : VAR = hauteur des boutons   du profil actuel

Exemple: bouton "< Taille >" du profil "Démo Taille et Go-Exit"


/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 ..........: Fixe la variable à la valeur <val> (VAR = val)
/VAR.ADD val ..........: Ajoute la valeur <val> à la variable 
                         (VAR = VAR+val)
/VAR.SUB val ..........: Soustrait la valeur <val> de la variable 
                         (VAR = VAR-val)
/VAR.MUL val ..........: Multiplie la variable par la valeur <val> 
                         (VAR = VAR*val)
/VAR.DIV val ..........: Divise la variable par la valeur <val> 
------------------------ (VAR = VAR/val)

Ces commandes servent d'instruction de calcul à la variable.

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

La valeur de la variable s'élève, après exécution de la commande, à 6,5.

Autres exemples: les boutons "v..." du profil "Stock"


/VAR.CLR ..............: Efface la variable (VAR = 0)
------------------------

Exemple: le bouton "efface v" du profil "Stock"


/VAR.ASK ..............: Règle la variable à une valeur définie par
------------------------ l'utilisateur

Exemple: le bouton "format" du profil "Stock"


/VAR.CLP.SEARCH str ...: Cherche dans le presse-papiers la série <str> et 
------------------------ règle la variable VAR à la 1ère position trouvée

Exemple: {/VAR.CLP.SEARCH la}

Si le presse-papiers contient "cherche la série et règle la variable...", 
VAR sera réglé à 9 (le "l" du 1er "la" est le 9ème caractère).


/VAR.FLD.ASK ..........: Ouvre la boîte pour changer le n° du champ 
                         "Elément" et de sa valeur
/VAR.FLD.CHANGE elm ...: Change le n° du champ "Elément" à <elm> (1-10)
/VAR.FLD.CLR ..........: Efface tous les champs "Elément" et change le n° 
------------------------ de l'élément actuel à 1

Depuis la version 7.7, RK a été amélioré pour traiter 10 variables au lieu 
d'une seulement.
Toutes les commandes VAR normales travaillent avec le champ "Elément" qui 
est réglé par la commande ASK ou CHANGE. Le champ par défaut est le n° 1.

Par exemple la commande CLEAR efface le champ 1 si l'élément 1 est 
l'élément actuel. Pour effacer l'élément 3, il faut régler l'élément 
actuel à 3 avec la commande ASK ou CHANGE. Même procédure pour VAR.FLD.ADD 
et les autres.

Exemple ..FLD.ASK: bouton "Définition variables" du profil "NE PAS 
                   SUPPRIMER" (raccourci pour ouvrir la boîte = Shift+F6)

Exemple ..FLD.CHANGE: bouton "(..." du profil "Calculatrice du scénario"

Exemple ..FLD.CLR: bouton "Aperçu" du profil "Calculatrice du scénario"

--> Conseil
Pour la commande ASK, l'exécution du scénario peut être interrompue à 
l'aide de la commande "BTCH.EXITIF.CANCEL" si la boîte est fermée avec le 
bouton "Ferme".


/VAR.FLD.ADD elm ......: Ajoute la VAR <elm> (1-10) à la VAR actuelle 
                         (VAR=VAR+VAR<elm>)
/VAR.FLD.SUB elm ......: Soustrait la VAR <elm> (1-10) de la VAR actuelle 
                         (VAR=VAR-VAR<elm>)
/VAR.FLD.MUL elm ......: Multiplie la VAR actuelle par la VAR <elm> (1-10) 
                         (VAR=VAR*VAR<elm>)
/VAR.FLD.DIV elm ......: Divise la VAR actuelle par la VAR <elm> (1-10) 
------------------------ (VAR=VAR/VAR<elm>)

--> Note
Voir le profil "Calculatrice du scénario" comme démonstration. Des 
fonctions comme M+, MR etc.. ont besoin de ces commandes pour s'utiliser 
comme mémoires.

Exemple de scénario:

{/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}

La commande d'aperçu montre que la variable VAR 1 a la valeur 38 (55-17).


/VAR.FLD.MRG e1,e2 ....: Réunit les champs "Elément" e1 et e2, séparés par 
------------------------ un point (VAR=VAR<e1>.VAR<e2>)

Si "VAR 1" = 12 et "VAR 2" = 34, la valeur du champ de l'élément actuel 
sera de 12.34 ou 12,34 si la commande d'envoi est {/VAR.SEND,}.

Exemple: bouton "H=dé" du profil "Calculatrice du scénario"


/VAR.FLD.SWAP elm .....: Permute entre la VAR actuelle et la VAR <elm> 
------------------------ (1-10) (VAR=VAR<elm>, VAR<elm>=VAR)

Cette commande permute le contenu de 2 éléments.

Exemple: bouton "x..)" du profil "Calculatrice du scénario"


/VAR.MOD mod ..........: Modifie la variable VAR selon plusieurs modes
------------------------

La variable VAR peut être modifiée selon les différents modes 0 à 3 
suivants :

0 = absolu             : -1 devient 1, 1 reste 1
1 = x-1                : -1 devient 1, 1 devient -1
2 = sans décimal       : 1,23 devient 1
3 = seulement décimal  : 1,23 devient 23

Exemple: bouton "H=dé" du profil "Calculatrice du scénario"


/VAR.RND [min,max] ....: Crée un chiffre au hasard entre <min> et <max> 
------------------------ (VAR=RND) (défaut VAR1/2)

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

Cet exemple envoie un chiffre au hasard entre 1 et 5.

-> Note
Depuis la version 8.1.4, le paramètre peut être abandonné pour régler les 
variables VAR 1 et 2.
Exemple: bouton "Hasard" du profil "Lecteur CD"


/VAR.SEND .............: Envoie la variable comme une série à 
------------------------ l'application active

Cette commande sert à envoyer la variable (résultat d'un calcul).

Exemple: le bouton "colle v" du profil "Stock"


/VAR.SEND, ............: Envoie la variable comme une série au format 
                         virgule (1,5)
/VAR.>.CLIP, ..........: Copie la variable dans le presse-papiers au 
------------------------ format virgule (1,5) (presse-papiers = VAR)

Ces commandes s'avèrent également utiles.


/VAR.SND.FORMAT str ...: Envoie la variable au format-série <str> 
/VAR.CLP.FORMAT str ...: Copie la variable au format-série <str> dans 
------------------------ le presse-papiers

Avec ces commandes les résultats formatés sont possibles.

Exemple: {/VAR.SND.FORMAT #'##0.00}

Autre exemple: le bouton "format" du profil "Stock"

Le résultat se présentera dans le format : 1'234.55


/VAR.VIEW .............: Affiche la valeur de la variable VAR dans 
------------------------ l'Aperçu interne de texte

Exemple: le bouton droit "VAR" du profil "Calculatrice du scénario"

