Page 1 of 1

Incrémenter une variable et l'utiliser en texte

Posted: 21 Oct 2012, 10:26
by Stefan0
Bonjour,

Est-il possible d'incrémenter une variable (variable => variable + 1) depuis l'interface d'actionaz ? Et est-il possible que le contenu d'une variable de type nombre soit écrit par la commande écriture de texte (si oui, je m'y prends mal) ?
Merci d'avancce!
Stefan0

Re: Incrémenter une variable et l'utiliser en texte

Posted: 22 Oct 2012, 15:47
by Jmgr
Salut,
Est-il possible d'incrémenter une variable (variable => variable + 1) depuis l'interface d'actionaz ?
Oui :

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<scriptfile>
    <settings program="actionaz" version="3.2.2" scriptVersion="1.0.0" os="GNU/Linux"/>
    <actions>
        <action name="ActionVariable" version="1.0.0"/>
        <action name="ActionConsole" version="1.0.0"/>
    </actions>
    <parameters/>
    <script pauseBefore="0" pauseAfter="0">
        <action name="ActionVariable" comment="a = 42">
            <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">a</subParameter>
            </parameter>
            <parameter name="type">
                <subParameter name="value" code="0">integer</subParameter>
            </parameter>
            <parameter name="value">
                <subParameter name="value" code="0">42</subParameter>
            </parameter>
            <parameter name="positionValue">
                <subParameter name="value" code="0">:</subParameter>
            </parameter>
        </action>
        <action name="ActionVariable" comment="a = a + 1">
            <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">a</subParameter>
            </parameter>
            <parameter name="type">
                <subParameter name="value" code="0">integer</subParameter>
            </parameter>
            <parameter name="value">
                <subParameter name="value" code="1">a + 1</subParameter>
            </parameter>
            <parameter name="positionValue">
                <subParameter name="value" code="0">:</subParameter>
            </parameter>
        </action>
        <action name="ActionConsole" comment="affiche a">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <parameter name="output">
                <subParameter name="value" code="0">information</subParameter>
            </parameter>
            <parameter name="text">
                <subParameter name="value" code="0">a = $a</subParameter>
            </parameter>
        </action>
    </script>
</scriptfile>
Et est-il possible que le contenu d'une variable de type nombre soit écrit par la commande écriture de texte (si oui, je m'y prends mal) ?
Oui :

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<scriptfile>
    <settings program="actionaz" version="3.2.2" scriptVersion="1.0.0" os="GNU/Linux"/>
    <actions>
        <action name="ActionVariable" version="1.0.0"/>
        <action name="ActionWriteTextFile" version="1.0.0"/>
    </actions>
    <parameters/>
    <script pauseBefore="0" pauseAfter="0">
        <action name="ActionVariable">
            <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">a</subParameter>
            </parameter>
            <parameter name="type">
                <subParameter name="value" code="0">integer</subParameter>
            </parameter>
            <parameter name="value">
                <subParameter name="value" code="0">42</subParameter>
            </parameter>
            <parameter name="positionValue">
                <subParameter name="value" code="0">:</subParameter>
            </parameter>
        </action>
        <action name="ActionWriteTextFile">
            <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="mode">
                <subParameter name="value" code="0">truncate</subParameter>
            </parameter>
            <parameter name="file">
                <subParameter name="value" code="0">out.txt</subParameter>
            </parameter>
            <parameter name="text">
                <subParameter name="value" code="0">$a</subParameter>
            </parameter>
        </action>
    </script>
</scriptfile>

Re: Incrémenter une variable et l'utiliser en texte

Posted: 24 Oct 2012, 23:58
by Stefan0
Merci beaucoup, ça marche!
Par contre, j'ai un autre soucis, j'ai mis un code simplifié plus bas pour l'illustrer. J'essaye d'utiliser une condition de variable comme une boucle "tant que", mais j'obtiens une boucle infinis...
Dans l'exemple suivant, on demande une valeur de a et b. Puis on ajoute 1 à a. Ensuite, il y a la condition : si a est supérieur ou égal à b, on va à la ligne 006 (stop), sinon on va à la ligne 003 (a=a+1).
Le problème, c'est que si on stop pas l'exécution, elle ne s'arrête jamais! J'ai fais afficher la valeur de a dans la boucle, et on voit que a dépasse b et continue sans s'arrêter. J'ai sûrement fais une bêtise, pouvez vous m'indiquer où svp ?
Merci d'avance!

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<scriptfile>
    <settings program="actionaz" version="3.4.2" scriptVersion="1.0.0" os="Windows"/>
    <actions>
        <action name="ActionDataInput" version="1.0.0"/>
        <action name="ActionVariable" version="1.0.0"/>
        <action name="ActionVariableCondition" version="1.0.0"/>
        <action name="ActionConsole" version="1.0.0"/>
        <action name="ActionStop" version="1.0.0"/>
    </actions>
    <parameters/>
    <script pauseBefore="0" pauseAfter="0">
        <action name="ActionDataInput" comment="a">
            <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="defaultValue">
                <subParameter name="value" code="0">1</subParameter>
            </parameter>
            <parameter name="dataType">
                <subParameter name="value" code="0">integer</subParameter>
            </parameter>
            <parameter name="variable">
                <subParameter name="value" code="0">a</subParameter>
            </parameter>
            <parameter name="question">
                <subParameter name="value" code="0">A combien dois je commencer ?</subParameter>
            </parameter>
            <parameter name="windowTitle">
                <subParameter name="value" code="0"></subParameter>
            </parameter>
        </action>
        <action name="ActionDataInput" comment="b">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <parameter name="defaultValue">
                <subParameter name="value" code="0">5</subParameter>
            </parameter>
            <parameter name="windowIcon">
                <subParameter name="value" code="0"></subParameter>
            </parameter>
            <parameter name="dataType">
                <subParameter name="value" code="0">integer</subParameter>
            </parameter>
            <parameter name="variable">
                <subParameter name="value" code="0">b</subParameter>
            </parameter>
            <parameter name="question">
                <subParameter name="value" code="0">Quand dois je m'arrêter ?</subParameter>
            </parameter>
            <parameter name="windowTitle">
                <subParameter name="value" code="0"></subParameter>
            </parameter>
        </action>
        <action name="ActionVariable" comment="a = a + 1">
            <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">a</subParameter>
            </parameter>
            <parameter name="positionValue">
                <subParameter name="value" code="0">:</subParameter>
            </parameter>
            <parameter name="value">
                <subParameter name="value" code="1">a + 1</subParameter>
            </parameter>
            <parameter name="type">
                <subParameter name="value" code="0">integer</subParameter>
            </parameter>
        </action>
        <action name="ActionConsole">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <parameter name="output">
                <subParameter name="value" code="0">information</subParameter>
            </parameter>
            <parameter name="text">
                <subParameter name="value" code="0">a = $a</subParameter>
            </parameter>
        </action>
        <action name="ActionVariableCondition" comment="si a = b, stop, sinon 003">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <parameter name="ifEqual">
                <subParameter name="line" code="0">006</subParameter>
                <subParameter name="action" code="0">goto</subParameter>
            </parameter>
            <parameter name="comparison">
                <subParameter name="value" code="0">superiorEqual</subParameter>
            </parameter>
            <parameter name="variable">
                <subParameter name="value" code="0">a</subParameter>
            </parameter>
            <parameter name="value">
                <subParameter name="value" code="0">b</subParameter>
            </parameter>
            <parameter name="ifDifferent">
                <subParameter name="line" code="0">003</subParameter>
                <subParameter name="action" code="0">goto</subParameter>
            </parameter>
        </action>
        <action name="ActionStop">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
        </action>
    </script>
</scriptfile>
EDIT : résolu, il fallait mettre $b et non b vu que c'est une valeur et non une variable qui est demandé.