Incrémenter une variable et l'utiliser en texte

Vous voulez de l'aide ? Postez ici :)
Post Reply
Stefan0
Posts: 8
Joined: 27 Jul 2012, 18:51

Incrémenter une variable et l'utiliser en texte

Post 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
User avatar
Jmgr
Admin
Posts: 1651
Joined: 07 Dec 2005, 15:45
Contact:

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

Post 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>
"My software never has bugs. It just develops random features."
Stefan0
Posts: 8
Joined: 27 Jul 2012, 18:51

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

Post 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é.
Post Reply