Créer des fonctions et les appeler

Vous voulez de l'aide ? Postez ici :)
Post Reply
drazerty
Posts: 6
Joined: 05 May 2017, 18:50

Créer des fonctions et les appeler

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

Re: Créer des fonctions et les appeler

Post 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
azert.gif (5.71 KiB) Viewed 1999 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 :

Code: Select all

include "fonctions.js";
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é.
drazerty
Posts: 6
Joined: 05 May 2017, 18:50

Re: Créer des fonctions et les appeler

Post 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
Capture d’écran 2017-05-06 à 12.13.02.png (22.19 KiB) Viewed 1993 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 !
francois
Posts: 460
Joined: 18 Oct 2010, 10:33
Location: France

Re: Créer des fonctions et les appeler

Post 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
drazerty
Posts: 6
Joined: 05 May 2017, 18:50

Re: Créer des fonctions et les appeler

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