Page 1 of 1

Incrementer une variable

Posted: 01 Oct 2016, 22:43
by zeflex
Bonjour,

Merci pour le logiciel actiona avant tout.

J'ai crée une macro avec une série de clicks pour automatiser une tache. Le seul hic c'est que je dois utiliser une boucle incrémentale et je n'arrive pas à utiliser ou trouver la fonction afin d'incrémenter une variable dans Actiona 3.

J'ai eu beau chercher partout sur google et je n'ai pas trouvé une seule solution qui fonctionne après 1h de recherche.

Est ce quelqu'un sait comment faire svp ?

Merci.

Re: Incrementer une variable

Posted: 03 Oct 2016, 10:51
by Sergent-Quentin
Salut,

Je t'ai fais un script, c'est bien ça que tu recherches ?

Fichier --> Importer --> Contenu du script --> Tu colles le script et tu cliques sur "Ok"

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<scriptfile>
    <settings program="actiona" version="3.9.2" scriptVersion="1.1.0" os="Windows"/>
    <actions>
        <action name="ActionLoop" version="1.0.0"/>
        <action name="ActionCode" version="1.0.0"/>
        <action name="ActionMessageBox" version="1.0.0"/>
        <action name="ActionVariable" version="1.0.0"/>
    </actions>
    <parameters/>
    <resources/>
    <script pauseBefore="0" pauseAfter="0">
        <action name="ActionVariable">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="32" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <parameter name="variable">
                <subParameter name="value" code="0">Boucle</subParameter>
            </parameter>
            <parameter name="positionValue">
                <subParameter name="unit" code="0">0</subParameter>
                <subParameter name="value" code="0"></subParameter>
            </parameter>
            <parameter name="type">
                <subParameter name="value" code="0">integer</subParameter>
            </parameter>
            <parameter name="colorValue">
                <subParameter name="value" code="0"></subParameter>
            </parameter>
            <parameter name="value">
                <subParameter name="value" code="0">0</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="icon">
                <subParameter name="value" code="0">information</subParameter>
            </parameter>
            <parameter name="textMode">
                <subParameter name="value" code="0">automatic</subParameter>
            </parameter>
            <parameter name="ifNo">
                <subParameter name="action" code="0">do_nothing</subParameter>
                <subParameter name="line" code="0"></subParameter>
            </parameter>
            <parameter name="type">
                <subParameter name="value" code="0">ok</subParameter>
            </parameter>
            <parameter name="ifYes">
                <subParameter name="action" code="0">do_nothing</subParameter>
                <subParameter name="line" code="0"></subParameter>
            </parameter>
            <parameter name="customIcon">
                <subParameter name="value" code="0"></subParameter>
            </parameter>
            <parameter name="windowIcon">
                <subParameter name="value" code="0"></subParameter>
            </parameter>
            <parameter name="title">
                <subParameter name="value" code="0">Message</subParameter>
            </parameter>
            <parameter name="message">
                <subParameter name="value" code="0">Boucle = $Boucle</subParameter>
            </parameter>
        </action>
        <action name="ActionCode">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <parameter name="code">
                <subParameter name="value" code="1">Boucle++;</subParameter>
            </parameter>
        </action>
        <action name="ActionLoop">
            <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">002</subParameter>
            </parameter>
            <parameter name="count">
                <subParameter name="value" code="0">3</subParameter>
            </parameter>
        </action>
    </script>
</scriptfile>
Cordialement

Sergent-Quentin

Re: Incrementer une variable

Posted: 02 Aug 2017, 18:07
by lenautile16
Bonjour,

Merci pour l'astuce, cela m'a bien aidé, notamment pour lire chaque ligne d'un fichier (je découvre actiona et......javascript).
Je recherche maintenant l'astuce pour supprimer la première ligne de ce fichier après l'avoir lu ?

Re: Incrementer une variable

Posted: 03 Aug 2017, 12:03
by francois
Bonjour

Je ne crois pas qu'on puisse directement supprimer une ligne d'un fichier via Actiona.

Ce que je propose :

Déchargement du fichier dans un tableau.
Rechargement de ce fichier avec ce tableau à l'exception de la 1ere ligne.

Via une action de type code.
Il faut juste indiquer le répertoire et le nom du fichier. Normalement pas besoin de modifier le reste du code.
En Sortie, la 1re ligne ne figure plus.

Code: Select all

//=========
rep_fichier_in= "C:/temp"
nom_fichier_in= "aa.csv"
//=========

//=========
var fich_in = new File();
fich_in_chemin_complet= rep_fichier_in + "/" + nom_fichier_in
fich_in.open(fich_in_chemin_complet,File.ReadOnly| File.Text);

au_km = fich_in.readText();
fin_ligne =String.fromCharCode(10);
t_ligne =au_km.split(fin_ligne);
fich_in.close();
//=========


//=========
var fich_out = new File();
fich_out.open(fich_in_chemin_complet,File.WriteOnly,File.Truncate,File.Text);
for (i=1;i<t_ligne.length;i=i+1){
if (i==t_ligne.length-1){fin_ligne="";}else {fin_ligne="\n";}
fich_out.writeText(t_ligne[i] +  fin_ligne);
};
fich_out.close();
//=========
Bonne journée

Francois

Re: Incrementer une variable

Posted: 03 Aug 2017, 17:28
by lenautile16
Bonjour,

Je ne dirai que deux mots :

BRAVO François !!!


Les lignes de codes sont superbes, (que j'aimerai savoir faire cela)...d'ailleurs, c'est un peu la raison de mon intérêt pour Actiona. Comprendre Javascript.
J'utilise Super Macro au pro....je tente de faire de manière prétentieuse du "reverse-engineering" avec Actiona. J'ai été un peu déstabilisé au départ...j'y suis encore. Il me manque pas mal de choses à comprendre encore (lire un fichier excel, extraire un contenu de cellule, le concaténer pour donner un autre nom de fichier....et le nec plus ultra serait de me connecter à une base de données relationnelle)

Je poserai les questions sur ce forum....et j'en ai plein.

Merci encore pour ton aide

Re: Incrementer une variable

Posted: 03 Aug 2017, 23:50
by MDLE46
Bonjour François,

Bien ce script pour supprimer la première ligne d'un fichier csv.
Je l'ai mis dans ma bibliothèque.

J'ai trouvé comment le modifier pour supprimer soit la 1ere ligne, soit les 2 premières lignes, soit les trois premières et ainsi de suite.

Mais, ce qui serait intéressant, c'est de pouvoir paramétrer pour supprimer une ligne au choix ; soit la 1ère ligne, soit la 4ème ligne, soit la 6ème, et ainsi de suite.

Ce qui nous permettrait d'avoir un script général qui servirait dans tous les cas.

Si nous avons plusieurs lignes à supprimer, on utiliserai ce script plusieurs fois en modifiant chaque fois le paramétrage.

Est ce possible? Si ce n'est pas trop complexe évidement.

Cordialement.

MDLE46

Re: Incrementer une variable

Posted: 03 Aug 2017, 23:54
by MDLE46
Re-bjr François,

Après une légère réflexion, je pense que ça ne servirait pas à grand chose.
Donc, laisse tomber.

Et, et, encore merci pour Actiona.