Page 1 of 1
Créer des fonctions et les appeler
Posted: 05 May 2017, 19:02
by drazerty
Bonjour à tous,
je vous expose mon problème,
Je crée une chaine de taches, cependant le nombre de ligne augmente énormément, par conséquent je voulais savoir s'il était possible de décomposer mon programme en suite de fonction.
Cependant mon nombre de ligne est vraiment immense, je l'ai optimisé comme je pouvais cependant lorsqu'il faut que je rajoute des boucles, tout se complique et je dois modifier les retours a la ligne, etc...
Je souhaiterai donc créer un export pour chacune de mes taches et puis, me créer un nouveau projet où je ferai appel à mes fonctions lorsque j'en ai besoin.
J'ai bien essayé de passer par "code" ou même "script" mais sans résultats..
Avez vous une solution ?
Merci d'avance
Re: Créer des fonctions et les appeler
Posted: 06 May 2017, 08:43
by francois
Bonjour
tout se complique et je dois modifier les retours a la ligne, etc...
Pour ne pas avoir à faire les mises à jour des numéros de ligne
Il est possible de saisir un label qui sera invariant :

- azert.gif (5.71 KiB) Viewed 2062 times
Pour utiliser des fonctions communes à plusieurs scripts :
-En début de chaque script, faire un
include d'un fichier qui contient ces fonctions communes.
- Puis dans chaque script, appeler une ou plusieurs fonctions contenues dans ce fichier.
Exemple :
fonctions.js contient notamment :
Code: Select all
function date_formatee(date_)
{
if ( date_.getHours() < 10){ hour = "0" + date_.getHours()} else { hour = date_.getHours()};
if ( date_.getMinutes() < 10){ minute = "0" + date_.getMinutes()} else { minute = date_.getMinutes()};
if ( date_.getSeconds() < 10){ second = "0" + date_.getSeconds()} else {second = date_.getSeconds()};
var date_f = " " + hour + ":" + minute + ":" + second;
return date_f
} // fin function
function fin_trait_normal(ctr_fichier_in,nb_arts_in_total,date_debut)
{
date_actuelle= new Date()
date_actuelle_f = date_formatee(date_actuelle);
Console.print(" Heure fin trait : " + date_actuelle_f );
affichage_percent(ctr_fichier_in,nb_arts_in_total,date_debut)
fich_chemin_complet= rep_actiona + "\\" + "sons" + "\\" + "100.wav"
rc= son_percent(fich_chemin_complet,2000);
Execution.stop();
} // fin function
//=====================
Dans le script, il peut être fait appel à une de ces fonctions.
exemple :
Code: Select all
rc= fin_trait_normal(ctr_fichier_in,nb_arts_in_total,date_debut)
Bonne journée.
Je suis toujours un fan d'Actiona le logiciel que JMGR a conçu et réalisé.
Re: Créer des fonctions et les appeler
Posted: 06 May 2017, 12:18
by drazerty
Bonjour,
Tout d'abord je te remercie pour toutes ces informations et pour les réponses claires que tu m'as apporté !
En ce qui concerne les labels, peux-tu m'en dire plus sur le fonctionnement et sur leur mise en place ? Cela semble génial pour éviter d'éditer sans cesse mon programme !
En second lieu, je voulais me pencher un peu plus sur les "scripts". En effet dans ton exemple, il s'agit de javascript, je voulais savoir si par exemple, il était possible que cet include, soit un .ascr ?
Je m'explique, quand je parlais de fonctions, je n'ai peut-être utiliser le bon terme, je parlais d'un ensemble de clic, déplacement de souris, d'entré clavier, etc...
Dans mon exemple :

- Capture d’écran 2017-05-06 à 12.13.02.png (22.19 KiB) Viewed 2056 times
Est-il possible de par exemple transformer ces lignes en "script" (je ne sais pas si le terme est approprié) afin quelles ne forment plus qu'une seule ligne.
Et ainsi mon code passerait d'un 50 aine de lignes, à une dizaine !
Je te remercie d'avance,
Cordialement
EDIT : pour le label j'ai trouvé les informations assez simplement, merci !
Re: Créer des fonctions et les appeler
Posted: 06 May 2017, 13:26
by francois
Bonjour,
Exemple de recherche d'image + positionnement souris sur image + Clic
Code: Select all
//=====
var souris=new Mouse()
var IMG_a_trouver = new Image( "C:/temp/tofind.jpg");
IMG_= Image.takeScreenshot();
Search_IMG_ =IMG_.findSubImage(IMG_a_trouver,
{
confidenceMinimum: 80,
downPyramidCount: 1,
searchExpansion: 15
})
if (Search_IMG_) // on a trouvé
{
souris.move(Search_IMG_.position)
souris.click();
}
else
{
// on n'a pas trouvé
// suivant le script , on arrête (via Execution.stop() ) ou on fait une nouvelle tentative (via l'instruction Script.nextLine)
}
//=====
Pour voir tout ce qu'on peut faire en code :
https://wiki.actiona.tools/doku.php?id=en:code
Cordialement
Re: Créer des fonctions et les appeler
Posted: 06 May 2017, 13:33
by drazerty
Super, je te remercie pour ces informations !
Je vais donc voir s'il est intéressant pour moi de refaire mon code en "brut" !
Merci à toi,
Bien cordialement