Bonjour,
Je souhaiterai pouvoir dans une boucle générer une variable aléatoire, la tester et en fonction de la valeur qui pourra aller de 1 à 10 adresse une procédure particulière. Ca ressemble au switch case de C si je me souvient bien. Pouvez vous m'aider et me dire comment faire ca??
Merci d'avance
switch ou quelque chose comme ca
Re: switch ou quelque chose comme ca
Salut,
Il y a plusieurs façon d'y arriver. Par exemple :
Il y a plusieurs façon d'y arriver. Par exemple :
Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<scriptfile>
<settings program="actionaz" version="3.4.2" scriptVersion="1.0.0" os="GNU/Linux"/>
<actions>
<action name="ActionBeginProcedure" version="1.0.0"/>
<action name="ActionMessageBox" version="1.0.0"/>
<action name="ActionVariable" version="1.0.0"/>
<action name="ActionCallProcedure" version="1.0.0"/>
<action name="ActionEndProcedure" version="1.0.0"/>
<action name="ActionGoto" version="1.0.0"/>
</actions>
<parameters/>
<script pauseBefore="0" pauseAfter="0">
<action name="ActionBeginProcedure">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<parameter name="name">
<subParameter name="value" code="0">proc0</subParameter>
</parameter>
</action>
<action name="ActionMessageBox">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<parameter name="windowIcon">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="message">
<subParameter name="value" code="0">Procédure 0</subParameter>
</parameter>
<parameter name="title">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="textMode">
<subParameter name="value" code="0">automatic</subParameter>
</parameter>
<parameter name="ifYes">
<subParameter name="line" code="0"></subParameter>
<subParameter name="action" code="0">do_nothing</subParameter>
</parameter>
<parameter name="customIcon">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="icon">
<subParameter name="value" code="0">none</subParameter>
</parameter>
<parameter name="type">
<subParameter name="value" code="0">ok</subParameter>
</parameter>
<parameter name="ifNo">
<subParameter name="line" code="0"></subParameter>
<subParameter name="action" code="0">do_nothing</subParameter>
</parameter>
</action>
<action name="ActionEndProcedure">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
</action>
<action name="ActionBeginProcedure">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<parameter name="name">
<subParameter name="value" code="0">proc1</subParameter>
</parameter>
</action>
<action name="ActionMessageBox">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<parameter name="windowIcon">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="title">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="message">
<subParameter name="value" code="0">Procédure 1</subParameter>
</parameter>
<parameter name="textMode">
<subParameter name="value" code="0">automatic</subParameter>
</parameter>
<parameter name="ifYes">
<subParameter name="line" code="0"></subParameter>
<subParameter name="action" code="0">do_nothing</subParameter>
</parameter>
<parameter name="customIcon">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="icon">
<subParameter name="value" code="0">none</subParameter>
</parameter>
<parameter name="type">
<subParameter name="value" code="0">ok</subParameter>
</parameter>
<parameter name="ifNo">
<subParameter name="line" code="0"></subParameter>
<subParameter name="action" code="0">do_nothing</subParameter>
</parameter>
</action>
<action name="ActionEndProcedure">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
</action>
<action name="ActionBeginProcedure">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<parameter name="name">
<subParameter name="value" code="0">proc2</subParameter>
</parameter>
</action>
<action name="ActionMessageBox">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<parameter name="windowIcon">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="message">
<subParameter name="value" code="0">Procédure 2</subParameter>
</parameter>
<parameter name="title">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="textMode">
<subParameter name="value" code="0">automatic</subParameter>
</parameter>
<parameter name="ifYes">
<subParameter name="line" code="0"></subParameter>
<subParameter name="action" code="0">do_nothing</subParameter>
</parameter>
<parameter name="customIcon">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="icon">
<subParameter name="value" code="0">none</subParameter>
</parameter>
<parameter name="type">
<subParameter name="value" code="0">ok</subParameter>
</parameter>
<parameter name="ifNo">
<subParameter name="line" code="0"></subParameter>
<subParameter name="action" code="0">do_nothing</subParameter>
</parameter>
</action>
<action name="ActionEndProcedure">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
</action>
<action name="ActionVariable" label="var">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<exception id="32" action="0" line=""/>
<parameter name="colorValue">
<subParameter name="value" code="0">::</subParameter>
</parameter>
<parameter name="variable">
<subParameter name="value" code="0">procName</subParameter>
</parameter>
<parameter name="type">
<subParameter name="value" code="0">string</subParameter>
</parameter>
<parameter name="value">
<subParameter name="value" code="1">"proc" + Algorithms.randomInteger(0, 2)</subParameter>
</parameter>
<parameter name="positionValue">
<subParameter name="value" code="0">:</subParameter>
</parameter>
</action>
<action name="ActionCallProcedure">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<parameter name="name">
<subParameter name="value" code="1">procName</subParameter>
</parameter>
</action>
<action name="ActionGoto">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<parameter name="line">
<subParameter name="value" code="0">var</subParameter>
</parameter>
</action>
</script>
</scriptfile>
"My software never has bugs. It just develops random features."
Re: switch ou quelque chose comme ca
Bonjour
Merci de ta réponse... Mais je n'y comprends rien....Je ne lst pas le script dans le texte. Comment obtiens tu ce résultat dans Actionaz? Il faut mettre une boite de code et entrer tout ca dedans? ou y a t'il une autre manière de faire?
est ce que je peux faire comme ca :
Mettre le code suivant dans une boite "code" :
var random;
random = Algorithms.randomInteger(1,2);
switch (random)
{
case 1 : test1; break;
case 2 : test2 ; break
}
Et définir 2 procédures test1 et test2 avec une action dans chacune.
Pour l'instant ca ne marche pas....
EDIT : Ca y est j'ai compris ton fichier. Et je vois comment faire avec la définition de variable. Par contre mon exemple peut il fonctionner?
Merci d'avance
Merci de ta réponse... Mais je n'y comprends rien....Je ne lst pas le script dans le texte. Comment obtiens tu ce résultat dans Actionaz? Il faut mettre une boite de code et entrer tout ca dedans? ou y a t'il une autre manière de faire?
est ce que je peux faire comme ca :
Mettre le code suivant dans une boite "code" :
var random;
random = Algorithms.randomInteger(1,2);
switch (random)
{
case 1 : test1; break;
case 2 : test2 ; break
}
Et définir 2 procédures test1 et test2 avec une action dans chacune.
Pour l'instant ca ne marche pas....
EDIT : Ca y est j'ai compris ton fichier. Et je vois comment faire avec la définition de variable. Par contre mon exemple peut il fonctionner?
Merci d'avance
Re: switch ou quelque chose comme ca
Oui j'ai oublié de le préciser, c'est à importer avec Fichier->Importer->Contenu du script.
Tu peux aussi faire ça avec du code : (soit dans une action Code, soit dans n'importe quel champ en mode "code", c'est à dire avec le triangle rouge)
Pour la liste complète des objects du code : http://wiki.actionaz.org/doku.php?id=fr:code
Tu peux aussi faire ça avec du code : (soit dans une action Code, soit dans n'importe quel champ en mode "code", c'est à dire avec le triangle rouge)
Code: Select all
var random;
random = Algorithms.randomInteger(1,2);
function test1()
{
//Contenu de la procédure 1
//Pour changer l'action suivante : Script.nextLine = 42;
//Ou alors avec un label : Script.nextLine = "monLabel";
}
function test2()
{
//Contenu de la procédure 2
}
switch (random)
{
case 1 : test1(); break;
case 2 : test2(); break
}
"My software never has bugs. It just develops random features."
Re: switch ou quelque chose comme ca
Merci de ton aide.
J'ai encore une question désolé : comment on fait pour définir des variables globales qui permettent de mémoriser une valeur entre 2 executions successives. Par exemple je selectionne une touche et je ne veut pas la selectionner à nouveau pendant n minutes. L'idéal est d'avoir une varible avec l'heure d'activation et de comparer ensuite. Je ne vois pas comment la mettre en globale.
Merci d'avance
J'ai encore une question désolé : comment on fait pour définir des variables globales qui permettent de mémoriser une valeur entre 2 executions successives. Par exemple je selectionne une touche et je ne veut pas la selectionner à nouveau pendant n minutes. L'idéal est d'avoir une varible avec l'heure d'activation et de comparer ensuite. Je ne vois pas comment la mettre en globale.
Merci d'avance
Re: switch ou quelque chose comme ca
Dans ce cas je te conseillerais d'écrire puis de lire la variable depuis un fichier texte.
"My software never has bugs. It just develops random features."