Incrementer une variable

Vous voulez de l'aide ? Postez ici :)
Post Reply
zeflex
Posts: 1
Joined: 01 Oct 2016, 22:41

Incrementer une variable

Post 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.
Sergent-Quentin
Posts: 274
Joined: 11 Jun 2014, 14:45

Re: Incrementer une variable

Post 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
lenautile16
Posts: 8
Joined: 11 Dec 2016, 18:02

Re: Incrementer une variable

Post 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 ?
francois
Posts: 456
Joined: 18 Oct 2010, 10:33
Location: France

Re: Incrementer une variable

Post 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
lenautile16
Posts: 8
Joined: 11 Dec 2016, 18:02

Re: Incrementer une variable

Post 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
MDLE46
Posts: 108
Joined: 11 Nov 2016, 19:06

Re: Incrementer une variable

Post 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
MDLE46
Posts: 108
Joined: 11 Nov 2016, 19:06

Re: Incrementer une variable

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