WinParrot® 2.1.0

WinParrot.com

 

Principales nouveautés

Enregistrement et lecture plus 'intelligent', fonctionne avec les sous menus.          Nouvelles fonctions : Verbose, IfWindow, IfProcess

Nouvelle fonction Studio 'Capture' : Vous pouvez actualiser les captures d'écrans

Contrôle des couleurs 32 bits.

 

 

 

Version : 2.1.0

Février 2012

N° Document : A01022012
Sommaire

 

1.     Présentation. 6

2.     Installation / Désinstallation. 9

3.     Lancer l’enregistrement 11

4.     Lancer la lecture. 11

5.     Les enregistrements. 12

6.     Les lignes de commandes. 12

7.     Les instructions. 13

8.     Les lieux. 13

9.     Les évènements. 15

10.       Les variables. 17

10.1.        Les variables ‘Système’ 17

10.2.        Les variables ‘Temps’ 17

10.3.        Les variables ‘Utilisateur’ 18

11.       Les opérateurs. 19

11.1.        L’opérateur d’affectation. 19

11.2.        Les opérateurs logiques. 19

11.3.        Les opérateurs d’entiers ou de réels. 20

11.4.        Les operateurs de chaines de textes. 20

12.       Les fonctions. 22

12.1.        Abs. 22

12.2.        AppForeground. 23

12.3.        AppResize. 24

12.4.        AppWait 25

12.5.        Ask. 26

12.6.        Ask3. 26

12.7.        Beep. 27

12.8.        Debug. 28

12.9.        GetChrono. 29

12.10.      GetClipboard. 29

12.11.      Goto. 30

12.12.      If. 31

12.13.      IfImage. 32

12.14.      IfProcess. 33

12.15.      IfShape. 34

12.16.      IfWindow.. 35

12.17.      Int 36

12.18.      Max. 37

12.19.      Min. 37

12.20.      MsgBox. 38

12.21.      NetSend. 38

12.22.      Repeat 40

12.23.      Replace. 41

12.24.      ResetChrono. 41

12.25.      Rpad. 42

12.26.      Rtrim.. 43

12.27.      Say. 43

12.28.      SetClipboard. 44

12.29.      SetColorTol 44

12.30.      SetEndKey. 45

12.31.      SetKeyMode. 45

12.32.      SetKeySpeed. 47

12.33.      SetMouseSpeed. 47

12.34.      SetPixelTol 48

12.35.      SetTitle. 49

12.36.      SetVar 49

12.37.      Sgn. 50

12.38.      Stop. 50

12.39.      StrLen. 50

12.40.      StrStr 51

12.41.      SystemCmd. 51

12.42.      SystemOpen. 52

12.43.      ToChar 53

12.44.      Trace. 53

12.45.      XlsAutoSave. 55

12.46.      XlsClose. 55

12.47.      XlsReadData. 56

12.48.      XlsSave. 57

12.49.      XlsWriteData. 57

12.50.      Verbose. 59

12.51.      Wait 59

12.52.      WprClose. 60

13.       Les boucles (loops) et les aiguillages (switches) 61

13.1.        Les boucles (Loops) 61

13.2.        Les aiguillages (Switches) 62

14.       Studio. 63

14.1.        Supprimer un enregistrement 63

14.2.        Déplacer un enregistrement 63

14.3.        Copier un enregistrement 64

15.       Debugger vos macros. 65

15.1.        Activer / Désactiver le mode Debug. 65

15.2.        La fenêtre Debug. 65

16.       Tracer vos macros. 66

16.1.        Activer / Désactiver le mode Trace. 66

16.2.        Personnaliser la trace. 67

17.       Exécuter en ligne de commande. 68

17.1.        Exécuter une macro en ligne de commande. 68

17.2.        Planifier l’exécution d’une macro. 69

17.3.        Exécuter une macro avec des variables. 70

18.       Options. 70

19.       FAQ.. 70

19.1.        Navigation. 70

19.2.        Enregistrement 70

19.3.        Lecture. 70

20.       Support 71

21.       Annexe. 71


 

 

 

 

Guide Utilisateur WinParrot version 2.0

 

 

 

 

Le numéro de ce document est A01102010.  Pour commander ce document  veuillez utiliser cette référence.

 

Le programme (qui inclut le logiciel et la documentation) sont la propriété de WinParrot. Le ‘Reverse Engineering’ de programmes est interdit.

 

La documentation du programme doit être utilisée uniquement pour aider les utilisateurs du logiciel WinParrot sous les mêmes conditions définies dans le contrat de licence.

 

Les informations contenues dans ce document sont susceptibles d’être changées sans aucune notification. Si vous constatez des anomalies dans ce document veuillez informer WinParrot à l’adresse suivante : Support@WinParrot.com .Winparrot ne garanti pas que ce document ne contient pas d’erreurs. Aucunes parties du programme ou de sa documentation ne peuvent être reproduites sans un accord écrit de WinParrot.

 

 

RESTRICTIONS

Ce programme ne doit pas être utilisé avec toutes applications illégales, dangereuses ou critiques tels que des applications médicales, d’aviation, militaire ou autres. WinParrot se dégage de tous dommages physiques ou financiers dus à son utilisation.

WinParrot, WinParrot.com sont des noms réservés.

Pour activer le logiciel lors de la première exécution le logiciel vous invite à accepter les conditions générales d’utilisation disponibles à l’adresse suivante : http://www.winparrot.fr/wpcg_1_1.html

 


 

 

1.   Présentation

 

WinParrot est le perroquet de Windows. Si vous effectuez quotidiennement des tâches répétitives sans valeurs ajoutées sur Windows XP, Vista ou Windows 7  il vous permettra de gagner beaucoup de temps.

Pour cela il vous suffit de lancer l’enregistrement, cela génère un fichier l’extension ‘wpr’ contenant toutes vos actions réalisées sur n’importe quelle application (SAP, Oracle Applications, Internet Explorer...). Vous pouvez enrichir le document enregistré afin d’y inclure des points de contrôle, des boucles, des effets sonores, des interactions, des données d’une feuille Excel,etc...

 

Aperçu de l’écran principal (exemple avec 2 documents WinParrot ouverts, un utilisant Internet Explorer et l’autre utilisant la calculatrice)

 

 


Description de l’écran principal.

(1)   Titre : Donne le nom complet du fichier WinParrot ouvert.
Vous pouvez changer de titre à tout moment avec la fonction SetTitle()

(2)   Menus et barre des boutons : Pour plus de détails sur un bouton vous pouvez déplacer le curseur de la souri sur celui-ci.

(3)   Liste des enregistrements : L’enregistrement sur fond bleu est l’enregistrement sélectionné (ici le 11ème en cours d’édition ou en cours de lecture).
En colonne nous avons :
-N° : C’est le numéro de l’enregistrement.
-Jouer : Colonne pour activer ou désactiver un enregistrement. Si une ligne est désactivée elle sera totalement ignorée lors de la lecture de la macro.
-Titre : C’est le titre de l’application cible (ici la ‘Calculatrice’).
Si l’application cible a une partie de son titre variable vous pouvez changer ce titre et utiliser des caractères joker (‘*’ ou ‘?’).
-Commande : Ligne de commande (11) contenant plusieurs instructions séparées par le caractère ‘ ;’.

(4)   Copie écran, zoom, clique et sélection d’une image : Dans cette zone vous avez une copie écran prise lors de l’enregistrement de la macro. Vous pouvez aussi avoir une sélection d’une image ou/et un point à cliquer.

(5)   Rectangle rouge: Si le code de la macro (11) appelle une fonction nécessitant une sélection d’image  (exemple IfShape, IfImage) alors un petit rectangle rouge est automatiquement ajouté. Vous pouvez redimensionner ou déplacer  la sélection avec les petits carrés jaunes.

(6)   Le trait en pointillé rouge entre le carré (5) et la croix (7) montre que le clique sera relatif à l’image recherchée. Sans ce trait le clique sera relatif au bord haut et gauche.

(7)   Croix rouge représentant le pixel où WinParrot cliquera. Cette croix apparait automatiquement si l’enregistrement (11) contient au moins un événement souris (exemple ‘\[LBUTTON]’).

(8)   Zoom de l’image sélectionnée ou/et de l’événement souris. Vous pouvez déplacer ce zoom en cliquant dessus ou en double cliquant n’importe où vous le voulez.

(9)   Avec le petit triangle jaune vous pouvez redimensionner le zoom.

(10)           Version de WinParrot.

(11)           Ligne de commande contenant 3 instructions :

:DEB                        => Tag/Label/Lieu utilisé par la fonction                                                                    GoTo().

IfImage(3,"V[LBUTTON]",)   => Fonction de recherche de l’image (5).

Si l’image est trouvée pendant un temps maximum de 3s alors clique (7) relatif à celle-ci. Continuer si l’image n’est pas trouvée.

If($VAR1>2,Trace(,,),);    => Désactivation conditionnelle

du mode trace si la variable $VAR est supérieure à 2.

 


 

2.   Installation / Désinstallation

 

La dernière version de WinParrot ne s’installe plus, il vous suffit de le télécharger la dernière version directement sur le site officiel http://www.winparrot.com, (l’exécutable ‘winparrot.exe’) en le copiant sur votre poste de travail dans l’un de vos répertoires au choix.

 

Remarque:

Veillez à bien choisir le répertoire où vous copiez l’exécutable ‘winparrot.exe’ car Windows assignera automatiquement tous les fichiers ‘*.wpr’ à celui-ci.

 

Aussi, si vous copiez ‘winparrot.exe’ sous ‘c:\temp’, à l’ouverture d’un fichier ‘test.wpr’ (en double cliquant dessus) Windows appellera toujours l’exécutable c:\temp\winparrot.exe .

 

WinParrot n’a plus besoin d’avoir ses propres répertoires, DLL… cela à plusieurs avantages :

·         Installation ultra simple

·         Désinstallation : il vous suffit de supprimer d’exécutable, il ne restera donc plus de traces qui polluent votre ordinateur.

·         Mise à jours rapides et très simple, par remplacement de l’exécutable (WinParrot ne tente jamais comme certains programmes (ex java…) d’aller voir à votre insu sur internet si une nouvelle version est disponible).

·         WinParrot s’auto vérifie. Si un utilisateur malveillant a modifié l’exécutable, WinParrot  vous informera qu’il a été corrompu et vous invitera à recharger une nouvelle version.

·         WinParrot intègre son propre antivirus. WinParrot détecte tout code étranger, aussi si un virus ou un spyware tente d’infecter l’exécutable, WinParrot  vous informera qu’il a été corrompu et vous invitera à recharger une nouvelle version (si le problème persiste nous vous invitons à installer ou à mettre à jours votre antivirus et à scanner tous vos disques).
Si Winparrot est infecté il le signale par cet écran :

 

 

 

 

Si vous avez bien :

·         Vérifier qu’il n’y a pas de virus

·         Téléchargé à nouveau WinParrot.

Et que ce message apparaît toujours, vous pouvez  lancer l’exécutable WinParrot.exe depuis le fichier zip sans le décompressé (les virus s’introduisent rarement dans des fichiers compressés).

3.   Lancer l’enregistrement

Pour lancer l’enregistrement il faut cliquer sur le bouton .

S’il s’agit d’un nouveau document WinParrot vous demandera de spécifier un dossier ainsi qu’un nom de fichier.

Si vous avez ouvert un document les nouveaux enregistrements seront mis à la fin de celui-ci.

Lorsque WinParrot enregistre vos actions le petit icone dans la barre des tâches passe du vert au rouge.

L’arrêt de l’enregistrement peut se faire à tout moment avec le bouton  ou avec la touche [END] (Touche Fin, définie par défaut).

 

Remarques importantes :

Afin de réussir vos enregistrements  veillez à :

·         Dimensionner la fenêtre principale de l’application cible la plus petit possible (cela diminue la taille du fichier wpr crée, réduit la consommation CPU et mémoire) avant de lancer l’enregistrement.

·         Ne pas aller trop vite, car WinParrot doit avoir le temps de sauvegarder toutes vos actions tout en réalisant des copies d’écrans.

·         Cliquer sur les messages qui valident vos opérations (cela crée un enregistrement que vous pourrez transformer en point d’arrêt avec les fonctions IfImage/IfShape si le message attendu ne s’affiche pas)

 

Voir la vidéo 'How to record a Windows macro with the freeware WinParrot' sur  ou charger la vidéo au format AVI.

4.   Lancer la lecture

Pour lancer la lecture il faut cliquer sur le bouton . La lecture commence au 1er enregistrement et à la 1ere instruction.

Lorsque WinParrot lit les enregistrements le petit icone dans la barre des taches passe du vert au bleu. 

Ne sont lus que les enregistrements ou ‘Jouer’ est activé (symbolisé par  et non ). Vous pouvez activer/désactiver la lecture d’un enregistrement en cliquant sur les icones /).

L’arrêt de la lecture peut se faire à tout moment avec la touche [END] (Touche Fin, défini par défaut, vous pouvez changer cette touche avec la fonction SetEndKey())

Pour relancer la lecture il faut cliquer à nouveau sur le bouton , WinParrot vous propose alors 3 alternatives :

 

 

 

5.   Les enregistrements

Un enregistrement est composé essentiellement d’une image prise lors d'un enregistrement ainsi que d'une ligne de commande. Lorsque vous êtes en mode enregistrement WinParrot prend des clichés à chaque évènement en fonction des options choisies. Il enregistre aussi le texte que vous avez saisi sous forme d'une ligne de commande, composée d’une instruction simple (ex "Mon texteV[RETURN]", aperçu) . Vous pouvez modifier cet enregistrement pour 

·         Modifier l’instruction (Modification du texte ou/et ajout de fonction...).

·         Ajouter des instructions (séparées par le caractère ‘ ;’)

·         Modifier la zone de recherche d’image

·         Modifier la position de la souris (point ou vous voulez cliquer par exemple).

·         Désactiver cet enregistrement (en cliquant sur l’icone)

 

6.   Les lignes de commandes

Une ligne de commande est constituée de zéro à n instruction(s) séparée(s) par le caractère ";" (aperçu). Lorsque WinParrot lit une ligne de commande il commence par la première instruction de gauche à droite, il l'exécute et après seulement il l'envoie le texte et les événements à l'application cible.  

Ainsi la ligne de commande ‘A’ composée des 2 instructions :  

"Mon texte" ; Wait(1000

N’est pas équivalente à la ligne de commande ‘B’ composée d’une seule instruction :

"Mon texte"&Wait(1000)

La commande ‘A’ envoie à l’application cible le texte "Mon texte"  puis attend 1s,  alors que la commande ‘B’ attend le retour de la fonction Wait(1000) pendant 1s et envoie ensuite le texte "Mon texte".

  

7.   Les instructions

Une instruction est composée de texte, d'entiers, de variables, de fonctions et d'operateurs (aperçu).

Une instruction sert à :

·         Envoyer du texte ou des évènements à une application .

-"Mon texte"

-"Mon texteV[RETURN]"

-"Mon texte "&Ask("Comment ?", "Bien",

     "Tres bien", "Pas bien", "null")&"."

-1+2 (envoie 3 à l’application cible)

 

·         A affecter à une variable une valeur.

-$MA_VARIABLE=1

-$MON_TEXTE="Toto "

 

·         Effectuer un calcul.

-$MA_VARIABLE=$MA_VARIABLE+1

-$MON_TEXTE=
"Toto "&Ask("Comment ?","Bien","Ok","Pas bien","null")&"."

 

·         A insérer un lieu (utilisable par la fonction Goto())
-:LOCATION

·         A réaliser un test ou/et une redirection, une pause, arrêter la lecture.

-If($I>3, "Ok", "Not Ok")

-IfImage(5, "V[RETURN]", Stop()),

-Goto(:LOCATION,1)  

-Wait(200)

-Stop()

 

Lorsque vous lancer la lecture :

·         Chaque instruction est évaluée et uniquement après son résultat (s’il y en a) est envoyé à l’application cible.

·         Toute instruction commencée est terminée quelque soit l’origine de l’arrêt (par fonction stop() dans celle-ci ou par appui sur la touche [END] pendant la lecture).

 

8.   Les lieux

Les lieux sont des balises qui sont à insérer entre les instructions.

Vous pouvez rediriger la lecture en cours vers ce lieu grâce à la fonction GoTo(). Un même nom de lieu peut-être utilisé plusieurs fois dans un document car la fonction GoTo() prend en deuxième argument l’occurrence recherchée. Les lieux commencent par le caractère ":" et peuvent contenir des lettres, des chiffres ou le caractere "_".

Exemple : :MON_LIEU  

9.   Les évènements 

Les évènements tels que l’appui, le relâchement d’une touche ou d’un bouton de la souris sont enregistrés dans les chaines de textes sous la forme X[Touche]:

 

 

Commande ‘X’

Description

 

 

\

Pour l’appui

/

Pour  le relâchement

V

Pour l’appui et le relâchement

 

Les [Touche]s suivantes sont reconnues automatiquement comme des événements :

‘[Touche]’

Description

[ALT]

Touche Alt

[ALT]

Touche Alt

[APPS]

Touche Apps

[BACK]

Touche Suppr

[CAP]

Touche Maj

[CLR]

Touche Del

[CTRL]

Touche Ctrl

[DEL]

Touche Suppr

[DOWN]

Touche Bas

[END]

Touche Fin Attention cette touche est la touche par défaut pour arrêter l'enregistrement ou la lecture.

[ESC]

Touche Echap

[EXECUTE]

Touche Exécution

[F1] à [F12]

Touches fonction du clavier

[HELP]

Touche Aide

[HOME]

Touche Home

[INSERT]

Touche Inser

[INSERT]

Touche Inser

[LBUTTON] 

Bouton gauche de la souris

[LEFT]

Touche Gauche

[LWIN]

Touche Gauche de Windows

[NEXT]

Touche Page  suivante

[PAGEUP]

Touche Page précédente

[PAUSE]

Touche Pause

[PRINT]

Touche Imp

[RBUTTON] 

Bouton droit de la souris

[RETURN]

Touche Entrée

[RIGHT]

Touche Droite

[RWIN]

Touche Droite de Windows

[SELECT]

Touche Select

[SHIFT]

Touche Shift

[SNAPSHOT]

Touche Imp écran

[UP]

Touche  Haut

 

 

Remarques:

Le double clic est enregistré sous V[LBUTTON]V[LBUTTON]

L’espace est enregistré comme un caractère ‘ ‘.

 

Selon les options choisies (non disponible actuellement) vous pouvez demander à ne pas créer de nouvel enregistrement pour un événement donné.

Pour ne pas générer des fichiers *.wpr trop volumineux vous pouvez aussi spécifier de fusionner certains événements (ex \[LBUTTON] et /[LBUTTON] en V[LBUTTON]). Lorsqu’une ligne de commande contient [LBUTTON] ou [RBUTTON] WinParrot affiche sur la capture écran une croix rouge qui représente la position de la souris (Vous pouvez déplacer cette croix).

Astuce : Pour trouver le code d’une touche particulière lancez l’enregistrement, basculez sur une application autre que WinParrot (car WinParrot ne s’enregistre pas), Appuyez sur la touche en question et arrêtez l’enregistrement.


 

10.         Les variables


Les variables sont utilisées pour mémoriser des chaines de texte, des entiers ou des réels. Elles sont liées au document ouvert. Si deux documents WinParrot ou plus sont ouverts chaque document a ses propres variables. 

10.1.            Les variables ‘Système’

Quelques variables sont initialisées lors de l’ouverture et de la lecture d’un document WinParrot. Ces variables ne sont pas modifiables. Les principales variables sont :

·         $WPR_LINE_NB : Lors de l’ouverture d’un document, contient le nombre d’enregistrement de celui-ci.

·         $WPR_LINE : Lors de la lecture, contient le numéro de la ligne en cours.

·         $WPR_INST_NB : Lors de la lecture contient le nombre d’instruction dans la ligne de commande en cours.

·         $WPR_INST : Lors de la lecture, contient le numéro de l’instruction en cours d’exécution.

·         $WPR_PATH : Lors de la lecture, contient le répertoire du fichier wpr en cours de lecture (cette chaine inclue le caractère ‘\’  à la fin).

10.2.            Les variables ‘Temps’

Les variables temps donnent sous un format défini la date et l’heure actuelles. Les deux variables de temps sont :

·         $DATE : Contient la date actuelle avec le format par défaut ‘YYYY/MM/DD’ où  YYYY est l’année, MM est le mois et DD est le jour.

·         $TIME : Contient l’heure actuelle avec le format par défaut ‘HH:MM:SS’ pour HH heure, MM minutes et SS secondes.

 

Ces deux variables sont modifiables, vous pouvez leur affecter une valeur pour changer le format de retour lorsque vous les appelez.
Exemples :

MsgBox($DATE&"-"&$TIME);

=> Ouvre une fenêtre avec ‘2011/05/16-16:33:56’

$DATE="YYMMDD"; $TIME="HHMMSS"; $V=$DATE&"-"&$TIME  

=> Initialise la variable $V  avec la valeur chaine ‘110516-163356’.

$TIME="HHMMSS"; If($TIME>160000,Stop(),)  

=> Stop la lecture en cours s’il est 16h passé.

 

 

10.3.            Les variables ‘Utilisateur’

Les variables ‘Utilisateur’ sont implicitement déclarées lors de leur première affectation. Elles peuvent changer de type de contenu à tout moment. Les noms des variables commencent par le caractère ‘$’ et sont suivis de 1 à 29 caractères parmi [A-Z], [0-9] et ‘_’.

Pour affecter une valeur à une variable il faut insérer une instruction dans une ligne de commande et utiliser l’operateur d’affectation ‘=’.

La syntaxe est la suivante : $NOM_VARIABLE=<instruction> ou vous pouvez utiliser la fonction SetVar() : SetVar($MA_VARIABLE, "Toto").

            Exemples:

$MA_VARIABLE=1

$MA_VARIABLE="Toto"

            $MA_VARIABLE=Ask("Valeur ?","Un","1",

"Deux","2")&"."


 

11.         Les opérateurs

 

11.1.            L’opérateur d’affectation

L’opérateur  d’affectation=’ a la syntaxe suivante :

 

$<Nom de variable>=<Instruction>   


<Instruction> est une instruction qui retourne un entier ou une chaine texte

 


Si la variable n’existe pas elle est automatiquement déclarée et contient le résultat de l’instruction. Si la variable existe déjà le contenu de la variable est remplacé par le résultat de l’instruction. Pour affecter une valeur à une variable à l'intérieur d'une fonction vous devez utiliser la fonction SetVar().

 

11.2.            Les opérateurs logiques

Les opérateurs logiques s’utilisent avec la syntaxe suivante :

 

<Instruction1><Operateur><Instruction2>

 

<Instruction1> et <Instruction2> sont des instructions qui retournent des entiers (à l’exception des opérateurs == et != qui peuvent aussi comparer des textes).

 


 

11.3.            Les opérateurs d’entiers ou de réels

Les opérateurs d’entiers ou de réels s’utilisent avec la syntaxe suivante

 

<Instruction1><Operateur><Instruction2>

 

Où <Instrunction1> et <Instruction2> sont des instructions qui retournent des entiers ou des réels.

 

Exemples

$MA_VARIABLE=$MA_VARIABLE+2

$V=(($I-1.1)*5)%3

 

 

11.4.            Les operateurs de chaines de textes

Les opérateurs de chaines de textes s’utilisent avec la syntaxe suivante

 

<Instruction1><Operateur><Instruction2>

 

<Instruction1> et <Instruction2> sont des instructions qui retournent des chaines de textes.

 

 

Exemple

$MA_VARIABLE="["&$MA_VARIABLE&"]"

 

Remarque :

Cet operateur est souvent utilisé pour fusionner des instructions qui peuvent même ne pas retourner de texte.

(Exemple MsgBox("Erreur inconnue")&Stop())


 

12.         Les fonctions


Les fonctions permettent à WinParrot d’interagir avec :

Vous pouvez appeler une fonction sans donner de valeurs aux arguments.

Chaque fonction peut définir ses valeurs d’arguments par défaut, si cela n’est pas le cas pour un argument donné alors :

Si l’argument doit être un entier ou un réel la valeur sera zéro.

Si l’argument doit être une chaine la valeur par défaut sera la chaine vide.

Par exemple si une instruction dans une macro ‘c:\demo.wpr’ contient:

Trace(,,)ó Trace(0, "TFORMAT","c:\demo.html")

-          Le 1er argument attendu était un entier mais comme il est vide il est remplacé par zéro.

-          Le 2ème argument attendu était une chaine contenant un format mais comme il est vide la fonction Trace utilise le format par défaut TFORMAT.

-          Le 3ème argument attendu était une chaine contenant le nom partiel ou complet du fichier trace. La fonction Trace n’ayant aucune information elle utilisera le dossier, le nom de fichier et le type par défaut : « <répertoire du wpr>\<nom du wpr>.<type par défaut=.html> »

 

Remarque :

Chaque argument de fonction doit être composé d'une seule instruction, par conséquence si vous souhaitez exécuter deux ou plus d'instructions vous devez les fusionnez à l'aide de l'opérateur '&'.

Example : MsgBox("Unknown error ")&Stop()

 

 

12.1.            Abs

Description 

Fonction qui retourne la valeur absolue d’un entier ou d’un réel.

 

Syntaxe   Abs(<Instruction>)

 

Arguments 

<Instruction>: Instruction qui doit retourner un entier ou un réel.

 

Chaîne de retour 

Un entier ou un réel supérieur ou égal à zéro.

 

Examples

Abs(30) enverra ‘30’ à l’application cible.

MsgBox("Abs(-10.15*2)="&ToChar("%0.3f",Abs(-10.15*2))) ouvre une fenêtre avec ‘Abs(-10.15*2)=20.300’.

 

12.2.            AppForeground

Description 

Fonction qui fixe le mode de bascule en premier plan de l’application cible (Celle-ci est définie sur chaque ligne d’enregistrement).

 

Syntaxe   AppForeground(<Inst switch_mode>,<Inst select_mode>)

 

Arguments 

<Inst switch_mode> : Instruction qui doit retourner un entier compris entre 0 et 2.

<Inst select_mode> : Instruction qui doit retourner un entier compris entre 0 et 3.

 

 

Si <Inst switch_mode>=0 alors l’application cible ne sera jamais mis au premier plan, c’est l’application qui est déjà au premier plan qui recevra les événements émis par WinParrot (texte, mouvement de la souri…). Les fonctions de recherche comme IfShape ou Ifimage rechercherons alors uniquement dans la fenêtre au premier plan.

Si <Inst switch_mode>=1 alors l’application cible sera mis au premier plan avant l’exécution de chaque instruction.

Si <Inst switch_mode>=2 alors l’application cible sera toujours mis au premier plan avant l’exécution de chaque instruction et dès que WinParrot en aura besoin (pendant l’exécution de fonction comme IfImage()). Avec cette valeur, pendant la lecture vous ne pouvez pas changer manuellement d’application au premier plan.

 

Si <Inst switch_mode>=1 ou 2 et <Inst select_mode>=0 les sélections de l’application cible se fait en automatique sur le titre de la fenêtre ou le nom de l’application.

Si <Inst switch_mode>=1 ou 2  et <Inst select_mode>=1 les sélections de l’application cible se fait en automatique sur le titre de la fenêtre et le nom de l’application.

Si <Inst switch_mode>=1 ou 2  et <Inst select_mode>=2 les sélections de l’application cible se fait uniquement sur le titre de la fenêtre.

Si <Inst switch_mode>=1 ou 2  et <Inst select_mode>=3 les sélections de l’application cible se fait uniquement sur le nom de l’application.

 

 

 

Chaîne de retour 

Aucune.

 

Remarques 

Cette fonction n’interrompt pas la lecture.

Le changement sera effectif avant l’exécution de toutes les instruction suivantes.

Si switch_mode est 1 ou 2 l’application cible sera toujours au premier plan dès que celle-ci sera disponible. Si celle-ci n’est pas disponible pendant le temps définie par la fonction AppWait() un message d’erreur est affiché et la lecture est arrêtée.

Si switch_mode est 0 l’agument <Inst select_mode> n’est pas utilisé.

Par defaut WinParrrot initialise switch_mode à 2 et  select_mode> à 0.

 

Exemple

Après l’execution de cette instruction  :

AppForeground (1,0)

WinParrot mettra en premier plan l’application cible avant l’exécution de toutes les instructions suivantes. Si vous changez d’application au premier plan, WinParrot ne va pas forcer l’application cible au premier plan même s’il en a besoin par exemple lors de recherche avec la fonction IfImage.

 

12.3.            AppResize

Description 

Fonction qui permet de changer le mode de redimensionnement de l’application cible.

 

Syntaxe   AppResize (<Inst mode>,<Inst Width>,<Inst Heigth>,<Inst X>,<Inst Y>)

 

Arguments 

<Inst mode> : Instruction qui doit retourner un entier compris de 0 à 3 :

Si 0 alors aucun redimensionnement n’est réalisé.

Si 1 alors l’application cible sera redimensionnée comme elle était lors de l’enregistrement.

Si 2 alors l’application cible sera redimensionnée suivant <Inst Width> et <Inst Heigth>.

Si 3 alors l’application cible sera redimensionnée et repositionnée suivant <Inst Width>,<Inst Heigth>,<Inst X> et <Inst Y>.

 

<Inst Width> : Instruction qui doit retourner un entier, cela sera la largeur en pixel.

<Inst Height> : Instruction qui doit retourner un entier, cela sera la hauteur en pixel.

<Inst X> : Instruction qui doit retourner un entier, cela sera la position X en pixel.

<Inst Y> : Instruction qui doit retourner un entier, cela sera la position Y en pixel

 

Chaîne de retour 

Aucune.

 

Remarque 

Le changement demandé n’est pas réalisé immédiatement mais avant l’exécution de toutes les instructions suivantes.

 

Exemples

Suite à l’exécution de l’instruction suivante :

AppResize (3,200, 200, 200, 200)

Avant l’exécution de toutes les instructions suivantes celle-ci, les applications cibles seront déplacées à la position (200,200) et redimensionnées à 200 x 200 pixels.

 

Suite à l’instruction suivante :

AppResize (1,,,,)

Avant l’exécution de toutes les instructions suivantes celle-ci, les applications cibles seront redimensionnées comme elles étaient lors de l’enregistrement.

 

 

12.4.            AppWait

Description 

Fonction qui permet de changer le temps maximum d’attente en secondes de l’application cible. Dès que l’application cible est disponible elle est mis au premier plan. Si l’application cible n’est pas disponible dans le temps défini Winparrot arrête la lecture et affiche un message d’erreur.

 

Syntaxe   AppWait(<Inst time>)

 

Arguments 

<Inst time > : Instruction qui doit retourner un entier, cela sera le temps maximum d’attente de l’application cible en secondes.

 

Chaîne de retour 

Aucune.

 

Remarque 

Le changement demandé n’est pas réalisé immédiatement mais avant l’exécution de toutes les instructions suivantes.

Si la fonction AppForeground(<Inst switch_mode>,<Inst select_mode>) a été appelée auparavant avec <Inst switch_mode>=0 alors l’appel à la fonction AppWait n’a pas de sens puisque WinParrot utilisera l’application qui est en premier plan.

Si l’application cible n’est pas disponible pendant le temps maximum spécifié WinParrot stop la lecture.

 

Exemple

Suite à l’instruction suivante :

AppWait(30)

Avant l’exécution de toutes les instructions suivantes celle-ci, les applications cibles seront attendues (si elles ne sont pas déjà présentes) au maximum 30 secondes.

 

12.5.            Ask

Description 

Fonction qui demande à l’utilisateur de choisir parmi deux alternatives et qui exécute une des deux instructions spécifiées en fonction du choix de l’utilisateur.

 

Syntaxe   Ask(<Inst 1>,<Inst 2>,<Inst 3>,<Inst 4>,<Inst 5>)

 

Arguments 

<Inst 1> : Instruction qui doit retourner une chaine texte contenant la question.

<Inst 2> : Instruction qui doit retourner une chaine texte contenant le libellé du bouton 1

<Inst 3> : Instruction qui doit être exécutée si l’utilisateur appuis sur le bouton 1.

<Inst 4> : Instruction qui doit retourner une chaine texte contenant le libellé du bouton 2

<Inst 5> : Instruction qui doit être exécutée si l’utilisateur appuis sur le bouton 2.

 

Chaîne de retour 

Chaîne issue de l’instruction 1 si l’utilisateur clique sur le premier bouton, sinon chaine issue de l’instruction 2.

 

Remarque 

Cette fonction suspend la lecture en cours et attend la réponse de l’utilisateur.

 

Exemple

L’instruction suivante :

Ask("Que voulez vous faire ?","Continuer..",Say("Ok"),"Arrêter!",Stop())

ouvre l’écran suivant :

 

 

 

12.6.            Ask3

Description 

Fonction qui demande à l’utilisateur de choisir parmi 3 alternatives et qui exécute une des trois instructions spécifiées en fonction du choix de l’utilisateur.

 

Syntaxe   Ask3(<Inst 1>,<Inst 2>,<Inst 3>,<Inst 4>,<Inst 5>,<Inst 6>,<Inst 7>)

 

Arguments 

<Inst 1> : Instruction qui doit retourner une chaine texte contenant la question.

<Inst 2> : Instruction qui doit retourner une chaine texte contenant le libellé du bouton 1

<Inst 3> : Instruction qui doit être exécutée si l’utilisateur appuis sur le bouton 1.

<Inst 4> : Instruction qui doit retourner une chaine texte contenant le libellé du bouton 2

<Inst 5> : Instruction qui doit être exécutée si l’utilisateur appuis sur le bouton 2.

<Inst 6> : Instruction qui doit retourner une chaine texte contenant le libellé du bouton 3

<Inst 7> : Instruction qui doit être exécutée si l’utilisateur appuis sur le bouton 3.

 

Chaine de retour 

Chaine issue de l’instruction 1 si l’utilisateur clique sur le 1er bouton,

Chaine issue de l’instruction 2 si l’utilisateur clique sur le 2ème bouton,

Chaine issue de l’instruction 3 si l’utilisateur clique sur le 3ème bouton,

 

Remarque 

Cette fonction suspend la lecture en cours et attend la réponse de l’utilisateur.

 

Exemple

L’instruction suivante :

Ask3("Que voulez vous faire ?",

"Continuer..",Say("Ok"),"Arrêter!",Stop(),"Hello",Say("Hello")&"HelloV[RETURN]) ouvre l’écran suivant :

 

 

12.7.            Beep

Description:

Fonction qui émet un son à une fréquence et pendant une période données.

 

Syntaxe:  Beep(<Entier 1>,<Entier 2>)

 

Arguments:

<Entier 1> : Instruction qui doit retourner un entier >0 cela sera la fréquence en Hz.

<Entier 2> : Instruction qui doit retourner un entier >0 cela sera la durée du son en millisecondes.

 

Chaine de retour: Aucune

 

Remarque: Fonction qui émet un son par le haut parleur interne du PC., même si les hauts parleurs sont désactivés. Cette fonction suspend la lecture pendant la durée du son.

 

Exemples: Son d’une fréquence de 3000Hz pendant 0,1s : Beep(3000,100)

 

 

12.8.            Debug

Description:

Fonction qui permet d’activer ou de désactiver le mode debug.

Voir chapitre ‘Debuger vos macros’ pour plus d’information

 

Syntaxe:  Debug(<Inst Niveau>)

 

Arguments:

<Inst Niveau> : Instruction qui doit retourner un entier compris entre 0 et 7.

Le niveau 0 désactive le mode debug et le niveau 7 est  le niveau avec lequel vous aurez un maximum de point d’arrêts.

 

Chaîne de retour:

Aucune.

 

Remarque:

Le changement demandé n’est pas réalisé immédiatement mais pendant l’exécution de toutes les instructions suivantes.  Vous pouvez changer le niveau de debug à tout moment en cochant/décochant les case sur l’écran spécifique au mode debug.

 

Exemple:

Suite à l’instruction suivante : Debug(7)

Vous obtiendrez au moins trois point d’arrêt par instruction.

Suite à l’instruction suivante : Debug(0)

Le mode debug sera désactivé.

 

Voir la vidéo 'How to use the Debug & Trace functions' sur  ou charger la vidéo AVI .

 

12.9.            GetChrono

Description:

Fonction qui retourne le temps passé depuis le dernier appel à la fonction ResetChrono().

 

Syntaxe:  GetChrono(<Inst>)

 

Arguments:

<Inst 1> : Instruction exécutée qui doit retourner une chaine texte contenant le format du texte en retour souhaité. Le format peut contenir les tags suivants :

"%H"  Pour afficher les heures.

"%M"  Pour afficher les minutes.

"%S"  Pour afficher les secondes.

"%MS"  Pour afficher les millisecondes.

 

Chaine de retour:  

La chaine résultant du temps passé depuis le dernier appel à la fonction ResetChrono() au format spécifié par le paramètre <Inst> .

 

Remarque: Si <Inst> est vide le format suivant est utilisé : "%H:%M:%S.%MS"

 

Exemples:            

ResetChrono(; Wait(1300) ; GetChrono(ó  "00:00:01.300"

ResetChrono(; Wait(1300) ; GetChrono("%S%MS"ó  "01300"

 

12.10.      GetClipboard

Description:

Fonction qui retourne le texte du presse-papier.

 

Syntaxe:  GetClipboard()

 

Arguments: Aucun

 

Chaine de retour: Le texte contenu dans le presse-papier.

 

Remarque: Cette fonction retire au texte les caractères retour à la ligne qu’insèrent certaines fonction (comme Excel). Pour modifier le presse-papier utilisez la fonction ‘SetClipboard’.

 

Exemples:

Copier le contenu du presse-papier  dans la variable $PP : $PP=GetClipboard()

Copier le contenu du presse-papier sur l’application cible s’il n’est pas vide :

If(GetClipboard()=="",Stop(),"\[CTRL]v/[CTRL]")
ó If(GetClipboard()=="",Stop(),GetClipboard())   

 

12.11.      Goto

Description:

Fonction qui spécifie à WinParrot  la prochaine instruction à exécuter (après avoir fini l’exécution de l’instruction en cours et avoir envoyé à l’application cible le résultat de celle-ci). Il existe deux syntaxes pour cette fonction. 

 

Syntaxe 1:  Goto(:LOCATION,<Entier 1>)

:LOCATION: Lieu qui doit être présent dans le document ouvert.

<Entier 1> : Instruction qui doit retourner un entier >0 cela sera le numéro de l’occurrence du lieu.

 

Syntaxe 2:  Goto(<Entier 1>,<Entier 2>)

<Entier 1> : Instruction qui doit retourner un entier >0 cela sera la ligne de la prochaine instruction à exécuter.

<Entier 2> : Instruction qui doit retourner un entier >0 cela sera le numéro de l’instruction à exécuter.

 

Chaine de retour: Aucune

 

Remarques : L’exécution de l’instruction en cours n’est pas interrompue par cette fonction. Les deux instructions suivantes sont équivalentes :

Goto(2,1)&Wait(200) ó Wait(200)&Goto(2,1)

Cette instruction attend 2s avant d’aller exécuter la 1ere instruction ligne 2 

La première syntaxe utilisant un lieu est bien plus pratique, surtout si vous devez supprimer ou ajouter des enregistrements.

 

 

Exemple: Aller à la deuxième occurrence du lieu :MY_LOCATION

Goto(:MY_LOCATION,2)

 

Voir la vidéo 'How to add a loop in a WinParrot macro' sur  ou charger la vidéo AVI .


 

12.12.      If

Description:

Fonction qui exécute une instruction parmi deux en fonction d’un test logique.

 

Syntaxe: If(<Inst 1>,<Inst 2>,<Inst 3>)

 

Arguments:

<Inst 1> : Instruction qui doit retourner un entier.

<Inst 2> : Instruction à exécuter si le résultat de l’instruction 1 est différent de zéro.

<Inst 3> : Instruction à exécuter si le résultat de l’instruction 1 est égal à zéro.

 

Chaine de retour:

Chaine issue de l’exécution de l’instruction 2 si le résultat de l’instruction 1 est différent de zéro sinon chaine issue de l’exécution de l’instruction 3.

 

 

Remarque: L’exécution de l’instruction en cours n’est pas interrompue par cette fonction.

 

Exemples:

 

Retour à la ligne 5, instruction 2 si $I<5, sinon on continue :

If($I<5,GoTo(5,2),)

 

Retour à la ligne 5, instruction 2 si $I<5, sinon on demande s’il faut continuer :

 

If($I<5,GoTo(5,2),Ask("Voulez vous continuer?","Oui","","Non",Stop()))

 

Coller si le contenu du press papier n’est pas vide :

If(GetClipboard()=="",Stop(),"\[CTRL]v/[CTRL] ")


 

12.13.      IfImage

Description:

Fonction qui exécute une instruction parmi deux. La 1ère instruction est exécutée si  l’image demandée a été trouvée pendant le temps maximum accordé.

IfImage peut avoir trois fonctions :

·         Attendre que l’application pilotée soit prête à recevoir de nouvelles saisies.

·         Contrôler que l’application pilotée a bien reçu les commandes précédentes (Possible uniquement si celle-ci affiche des messages de confirmation).

·         Trouver un repère (une image, un bouton, un texte) pour cliquer par rapport à celui-ci

Cette fonction recherche une image exacte en forme et en couleur, pour une recherche de forme sans tenir compte des couleurs utilisez plutôt la fonction IfShape

 

WinParrot va rechercher l'image dans l'application cible (d'après le titre de la fenêtre spécifié dans la 3ème colonne 'Titre'). 

 

Nouveau depuis la version 2.1.0 : Si le premier caractère  du 'Titre' est le caractère '-' WinParrot va chercher dans tout l'écran (Vous éviterez ainsi d'avoir le message 'Application cible non disponible… ').

 

 

Syntaxe:  IfImage(<Entier 1>,<Inst 1>,<Inst 2>)

 

Arguments:

<Entier 1> : Temps maximum accordé pour trouver l’image en secondes.

<Inst 1> : Instruction à exécuter si l’image a été trouvée pendant le temps accordé.

<Inst 2> : Instruction à exécuter si l’image n’a pas été trouvée pendant le temps     accordé.

 

Chaine de retour:

Chaîne issue de l’exécution de l’instruction 1 si l’image a été trouvée sinon chaine issue de l’exécution de l’instruction 2.

 

Remarque: L’exécution de l’instruction en cours est interrompue par cette fonction pendant le temps maximum défini par le 1er paramètre. Si l’image est trouvée avant le temps accordé la lecture reprend aussitôt.

Dès que vous saisissez le nom de cette fonction dans un enregistrement WinParrot ajoute automatiquement une zone de recherche d’image (rectangle rouge), vous pouvez alors déplacer ou redimensionner celle-ci.

Veillez à :

·         Ne pas trop agrandir la zone recherchée, cela aurait pour conséquence ralentir la recherche.

·         Ne pas sélectionner une zone contenant le curseur clignotant ou tous autres objets intrus, la fonction ne saurait retrouver l’image sans cet intrus.
 

Vous pouvez interrompre à tout moment la recherche avec la touche V[END] (Touche définie par défaut [Fin], l’exécution de l’instruction en cours se poursuit (avec l’exécution de l’instruction <Inst 2>), son résultat est envoyé a l’application cible puis WinParrot arrête la lecture).

Si vous changez d’application pendant le temps de recherche WinParrot ne suspend pas la recherche mais il ne peut trouvez l’image que si l’application cible est active et en premier plan.

 

Exemples:

 

·         Recherche de texte pendant un temps maximum de 5s et arrêt si échec :

IfImage(5,"",Stop())

      

 

 

 

·         Recherche d’un bouton pendant un temps maximum de 5s, clique relatif à celui-ci si l’image a été trouvé et arrêt sinon.

IfImage(5,"V[LBUTTON]",Stop())

 

 (Le trait en pointillé montre que le clique est relatif à l’image trouvée. Pour cliquer en position absolue et non relatif à l’image "V[LBUTTON]" doit être à l’extérieur de la fonction :  IfImage(5, ,Stop()); "V[LBUTTON]")    

Pendant la recherche, si te temps accordé est supérieur à 1s,  WinParrot affiche en titre [Temps écoulé/Temps maximum] ex ‘IfImage 2/5’

Si le bouton change d’aspect   lorsque vous déplacez la souris au dessus vous devez utiliser la fonction IfShape ou/et combiner celle-ci avec des pourcentages de tolérance (à l’aide des  fonctions SetPixelTol et SetColorTol).

 

Voir la vidéo 'How to use the IfImage function in a WinParrot macro' sur  ou charger la vidéo .

 

 

 

12.14.      IfProcess

Description:

Fonction qui attend un temps spécifié un processus et exécute une instruction parmi deux.

 

Syntaxe:  

IfProcess(<Inst 1 nom du processus >,<<Inst 2 temps d'attente>,<Inst 3>, <Inst_4>)

 

Arguments:

<Inst 1> : Instruction qui doit retourner une chaine texte contenant le nom du processus à attendre.

 

<Inst 2> : Instruction qui doit retourner un entier, c'est le temps maximum en secondes d'attente du processus.

<Inst 3> : Instruction à exécuter si le processus est apparu dans le temps imparti.

<Inst 4> : Instruction à exécuter si le processus n'est pas apparu dans le temps imparti.

 

Chaine de retour:

Chaine issue de l’exécution de l’instruction 3 si le processus est apparu dans le temps imparti sinon chaine issue de l’exécution de l’instruction 4.

 

Remarque: L’exécution de l’instruction en cours est suspendue par cette fonction.

En cas d'interruption de la lecture l’instruction 4 est exécutée et le résultat est envoyé à l'application cible. Vous pouvez trouver le nom d'un processus avec le gestionnaire des tâches Windows.

 

Exemples:

 

Retour à la ligne 5, instruction 2 si le processus 'notepad' est apparu dans un temps maximum de 5s., sinon on continue :

IfProcess("notepad",5,GoTo(5,2),)

 

Retour à la ligne 5, instruction 2 si $I<5, sinon on demande s’il faut continuer :

IfProcess("notepad",5,GoTo(5,2),Ask("Voulez vous continuer?","Oui","","Non",Stop()))

 

12.15.      IfShape

 

Description:

Cette fonction est identique à la fonction IfImage. L’unique différence est sur le moteur de recherche qui ne tient pas compte des couleurs, ainsi les 3 images ‘Test’ suivantes seront acceptées :

 

Syntaxe: IfShape (<Entier 1>,<Inst 1>,<Inst 2>)

 

 

Arguments:

<Entier 1> : Temps maximum accordé pour trouver la forme en secondes.

<Inst 1> : Instruction à exécuter si la forme a été trouvée pendant le temps accordé.

<Inst 2> : Instruction à exécuter si la forme n’a pas été trouvée pendant le temps     accordé.

 

 

Chaine de retour:

Chaine issue de l’exécution de l’instruction 1 si la forme a été trouvée sinon chaine issue de l’exécution de l’instruction 2.

 

Remarque: Utilisez la fonction IfImage pour une reconnaissance exacte d’une image.

Vous pouvez interrompre à tout moment la recherche avec la touche V[END] (Touche définie par défaut [Fin], l’exécution de l’instruction en cours se poursuit (avec l’exécution de l’instruction <Inst 2>), son résultat est envoyé a l’application cible puis WinParrot arrête la lecture).

 

Exemples:

 

·         Recherche d’une forme pendant un temps maximum de 5s, clique relatif à celle-ci si l’image a été trouvé et arrêt sinon.

IfShape(5,"V[LBUTTON]",Stop())

 

Pendant la recherche, si te temps accordé est supérieur à 1s,  WinParrot affiche en titre [Temps écoulé/Temps maximum] ex ‘IfShape 2/5’.

 

Voir la vidéo 'How to use the IfImage function in a WinParrot macro' sur  ou charger la vidéo .

 

 

12.16.      IfWindow

Description:

Fonction qui attend un temps spécifié une fenêtre Windows et exécute une instruction parmi deux.

 

Syntaxe: 

IfWindow(<Inst 1 Titre de la fenêtre >,<<Inst 2 temps d'attente>, <Inst_3>,<Inst 4>)

 

Arguments:

<Inst 1> : Instruction qui doit retourner une chaine texte contenant le titre de la fenêtre à attendre. Pour rechercher une fenêtre avec un titre partiel vous pouvez utiliser les jokers '*' et '?'.

<Inst 2> : Instruction qui doit retourner un entier, c'est le temps maximum en secondes d'attente de la fenêtre.

<Inst 3> : Instruction à exécuter si la fenêtre est apparue dans le temps imparti.

<Inst 4> : Instruction à exécuter si la fenêtre n'est pas apparue dans le temps imparti.

 

Chaine de retour:

Chaine issue de l’exécution de l’instruction 3 si la fenêtre est apparue dans le temps imparti sinon chaine issue de l’exécution de l’instruction 4.

 

Remarque: L’exécution de l’instruction en cours est suspendue par cette fonction.

En cas d'interruption de la lecture l’instruction 4 est exécutée et le résultat est envoyé à l'application cible. Le titre d'une fenêtre Windows est le texte dans la barre horizontale en haut de celle-ci.

 

Exemples:

 

Retour à la ligne 5, instruction 2 si la fenêtre 'Calculatrice' est apparu dans un temps maximum de 5s., sinon on continue :

SystemCmd("calc&"); IfWindow("Calculat*", 5,GoTo(5,2),)

 

Retour à la ligne 5, instruction 2 si $I<5, sinon on demande s’il faut continuer :

SystemCmd("calc&"); IfWindow("Calculat*", 5,GoTo(5,2),Ask("Voulez vous continuer?","Oui","","Non",Stop()))

 

 

12.17.      Int

Description 

Fonction qui retourne la valeur entière d’un réel.

 

Syntaxe   Int(<Instruction>)

 

Arguments 

<Instruction>: Instruction qui doit retourner un réel.

 

Chaîne de retour 

Un entier.

 

Examples

Int(30.10) enverra ‘30’ à l’application cible.

MsgBox("Int(-10.15*2)="&ToChar("%0.3f",Int(-10.15*2))) ouvre une fenêtre avec ‘Int(-10.15*2)=-20’.

 

12.18.      Max

Description:

Fonction qui retourne le maximum de deux réels.

 

Syntaxe:  Max(<Inst 1>, <Inst 2>)

 

Arguments:

<Inst 1> : Instruction exécutée qui doit retourner un réel.

<Inst 2> : Instruction exécutée qui doit retourner un réel.

 

 

Chaine de retour:   Le réel résultant de l’instruction <Inst 1> si celui-ci est plus grand que le réel résultant de l’instruction <Inst 2> , sinon le réel résultant de l’instruction <Inst 2>.

 

Exemples:            

Max(1, 10) ó 10

$STR=-30.5; Max($STR, 10.30) ó 10.3

 

 

12.19.      Min

Description:

Fonction qui retourne le minimum de deux réels.

 

Syntaxe:  Min(<Inst 1>, <Inst 2>)

 

Arguments:

<Inst 1> : Instruction exécutée qui doit retourner un réel.

<Inst 2> : Instruction exécutée qui doit retourner un réel.

 

Chaine de retour:   Le réel résultant de l’instruction <Inst 1> si celui-ci est plus petit que le réel résultant de l’instruction <Inst 2> , sinon le réel résultant de l’instruction <Inst 2>.

 

Exemples:            

Min(1, 10) ó 1

$STR=-30.50; Min($STR, 10.30) ó -30.5

 

 

12.20.      MsgBox

Description:

Fonction qui affiche un message à l’utilisateur dans une fenêtre.

 

Syntaxe:  MsgBox(<Inst 1>)

 

Arguments:

<Inst 1> : Instruction exécutée qui doit retourner une chaine texte contenant le message à afficher dans la fenêtre.

 

Chaine de retour: Aucune

 

Remarque: L’exécution de l’instruction en cours est interrompue par cette fonction et reprend dès que l’utilisateur clique sur le bouton ‘OK’.

 

Exemples:       $I="Test"; MsgBox($I&" Cliquer pour continuer.");

 

 

 

 

12.21.      NetSend

Description:

Fonction qui envoie un message sous forme de ‘popup’ à un poste ou à un compte Windows donné.

 

Syntaxe:  NetSend(<Inst 1>,<Inst 2>)

 

Arguments:

<Inst 1> : Instruction exécutée qui doit retourner une chaine texte contenant le message à envoyer.

<Inst 1> : Instruction exécutée qui doit retourner une chaine texte contenant le nom de l’ordinateur distant ou le nom du compte Windows.

 

Chaine de retour:  

Aucune .

 

Remarque: Cette fonction est certifiée uniquement sur Windows XP (Les version supérieures de Windows n’incluent plus le service de messagerie )

 

Exemples:            

Envoyer le message "Please help!" au PC "PC007": 

NetSend ("Please help!","PC007");

Envoyer le message "Please help!" à tous les PCs ou M. BEAN est connecté. 

NetSend ("Please help!","BEAN");

 


12.22.      Repeat

Description:

Fonction qui retourne plusieurs fois une chaine de texte.

 

Syntaxe:  Repeat(<Inst 1>, <Inst 2>)

 

Arguments:

<Inst 1> : Instruction exécutée qui doit retourner une chaine texte.

<Inst 2> : Instruction exécutée qui doit retourner un entier.

 

 

Chaine de retour:   <Inst 2> fois  la chaine  <Inst 1>

 

Remarque: Cette fonction est pratique pour par exemple sélectionner la nième valeur d’une liste de valeurs avec la touche "V[DOWN]".

 

Exemples:            

Repeat("V[DOWN]", 0) ó ""

$NB=4 ; Repeat("V[DOWN]", $NB) ó "V[DOWN]V[DOWN]V[DOWN]V[DOWN]"

  

 

 


12.23.      Replace

Description:

Fonction qui remplace dans une chaine texte, un texte par un autre.

 

Syntaxe:  Replace(<Inst 1>, <Inst 2>, <Inst 3>)

 

Arguments:

<Inst 1> : Instruction exécutée qui doit retourner une chaine texte contenant le texte a transformer.

<Inst 2> : Instruction exécutée qui doit retourner une chaine texte contenant l’ancien text.

<Inst 3> : Instruction exécutée qui doit retourner une chaine texte contenant le nouveau texte.

.

 

 

Chaine de retour:   Le contenu de <Inst 1> ou les occurrences de la chaine <Inst 2> a été remplacée par la chaine  <Inst 3>.

 

Remarque: Cette fonction  tient compte de la case.

 

Exemples:            

Replace("ABCDE", "BC","xy") ó "AxyDE"

$STR="ABCDE" ; Replace($STR, "BC","xy") ó "AxyDE"

 

12.24.      ResetChrono

Description:

Fonction qui initialise à zéro le chrono. Cette fonction est a appeler avant la fonction GetChrono(). Elle donne le temps écoulé entre l’appel de ces deux fonctions.

 

Syntaxe:  ResetChrono()

 

Arguments:

Aucun.

 

Chaine de retour:  

Aucune.

 

Remarque: Cette fonction est automatiquement appelée lors du lancement de la lecture.

 

Exemples:            

ResetChrono(; Wait(1300) ; GetChrono(ó  "00:00:01.300"

ResetChrono(; Wait(1300) ; GetChrono("%S%MS"ó  "01300"

 

 

12.25.      Rpad

Description:

Fonction qui complète une chaine par des occurrences d’une autre chaine afin quelle ait une longueur spécifiée.

 

Syntaxe:  Rpad(<Inst 1>, <Inst 2>, <Inst 3>)

 

Arguments:

<Inst 1> : Instruction exécutée qui doit retourner une chaine texte contenant le texte a transformer.

<Inst 2> : Instruction exécutée qui doit retourner une chaine texte contenant l’occurrence à ajouter.

<Inst 3> : Instruction exécutée qui doit retourner un entier. Cela représente la longueur de la chaine transformée

 

Chaine de retour:   Le contenu de <Inst 1> complété par les autant d’ocurence qu’il faut de la chaine <Inst 2> pour que la chaine résultante ai la longueur spécifiée par le paramètre <Inst 3>.

 

Remarque: Si la chaine a transformer est dèja de longueur supérieure à la longueur spécifiée par le paramètre <Inst 3> celle-ci est coupée à la longueur demandée.

 

Exemples:            

Rpad("ABCDE", " ", 10) ó "ABCDE     "

$STR="ABCDE" ; Rpad($STR, " ", 10) ó "ABCDE     "


 

12.26.      Rtrim

Description:

Fonction qui supprime une occurrence d’une chaine dans une autre chaine uniquement si celle-ci est à la fin.

 

Syntaxe:  Rtrim(<Inst 1>, <Inst 2>)

 

Arguments:

<Inst 1> : Instruction exécutée qui doit retourner une chaine texte contenant le texte a transformer.

<Inst 2> : Instruction exécutée qui doit retourner une chaine texte contenant l’occurrence à supprimer.

 

Chaine de retour:   Le contenu de <Inst 1> ou toutes les occurrences de la chaine <Inst 2> ont été supprimées si celle-ci sont à la fin.

 

Remarque: Cette fonction  tien compte de la case.

 

Exemples:            

Rtrim("ABCDE   ", " ") ó "ABCDE"

$STR="ABCDE  " ; Rtrim($STR, " ") ó "ABCDE"

 

12.27.      Say

Description:

Fonction qui utilise la carte son de l’ordinateur pour lire un texte.

 

Syntaxe:  Say(<Inst 1>)

 

Arguments:

<Inst 1> : Instruction exécutée qui doit retourner une chaine texte contenant le texte à lire (actuellement uniquement Hello, Help et Ok sont implémentés).

 

Chaine de retour: Aucune

 

Remarque: L’exécution de l’instruction en cours est interrompue pendant le temps de la lecture.

 

Exemples:             Say("Hello");

Say("Help");

Say("Ok");


 

 

 

12.28.      SetClipboard

Description:

Fonction qui change le texte du presse-papier.

 

Syntaxe:  SetClipboard(<Inst 1>)

 

Arguments:

<Inst 1> : Instruction exécutée qui doit retourner une chaine texte contenant le texte à copier dans le presse-papier.

 

Chaine de retour: Aucune

 

Remarque: Pour obtenir le contenu du presse-papier utilisez la fonction GetClipboard.

 

Exemple:

Copier le contenu de la variable $PP dans le presse-papier : SetClipboard($PP)

12.29.      SetColorTol

Description:

Fonction qui change la tolérance des fonctions de recherche IfImage() et IfShape() uniquement par rapport aux couleurs.

 

Syntaxe:  SetColorTol (<Inst 1>)

 

Arguments:

<Inst 1> : Instruction exécutée qui doit retourner un entier compris entre 0 et 100.

La valeur ‘0’ indique aux fonctions de recherche qu’il n’y a aucune tolérance pour les couleurs, un point gris même très clair (invisible à l’œil) ne sera pas confondu avec un point blanc.

 

Chaîne de retour : Aucune

 

Remarque: Pour une tolérance sur un pourcentage de pixels ne correspondant pas utilisez plutôt/aussi la fonction SetPixelTol().

 

Exemple:

SetColorTol(20)& SetPixelTol(20)&IfShape(5,"V[LBUTTON]",Stop())

Pour que le changements de tolérances soit pris en compte par la fonction de recherche il faut que les fonctions SetColorTol() et SetPixelTol() soient placées avant la fonction de recherche. Il est recommandé que les fonctions SetColorTol() ou/et SetPixelTol soient ajoutées avec l’operateur ‘&’ comme ci-dessus, ainsi lors de la lecture si WinParrot s’arrête sur cette instruction (grâce à la fonction Stop(), en cas d’échec) vous pourrez augmenter les tolérances et relancer la lecture à partir de cette instruction.

 

12.30.      SetEndKey

Description:

Fonction qui fixe la touche d’arrêt de lecture.

 

 Syntaxe:  SetEndKey(<Inst 1>)

 

Arguments:

<Inst 1> : Instruction qui doit retourner une chaine contenant uniquement la nouvelle touche d’arrêt de lecture. Vous pouvez utiliser n’importe quelle touche connue (Voir la liste des touches connues au chapitre ‘Les événements’).

 

Chaine de retour: Aucune

 

Remarque: La touche d’arrêt par défaut est la touche fin V[END]. Si vous arrêtez la lecture (avec la touche d’arrêt) et si vous relancez la lecture, vous devez vous rappeler quelle est la nouvelle touche d’arrêt.

Si vous spécifiez une touche inconnue, la touche d’arrêt de lecture sera la touche d’arrêt par défaut (la touche fin V[END]).

 

Exemples:            

Fixer la touche F12 comme touche d’arrêt de lecture:

SetEndKey("V[F12]")

Fixer la touche espace comme touche d’arrêt de lecture:

SetEndKey("V[ESC]")

 

12.31.      SetKeyMode

Description:

Fonction qui change de mode d’envoie des caractères à l’application cible.

 

Syntaxe:  SetKeyMode(<Inst 1>)

 

Argument:

<Inst 1> : Instruction exécutée qui doit retourner un entier. La valeur par défaut est 0.

 

Si  <Inst 1>  = 0 le mode d’envoie des données est caractère par caractère.

La chaine ‘Texte1V[RETURN]Texte2’  sera envoyé sous la forme :

T,e,x,t,e,1,V[RETURN],T,e,x,t,e, puis 2  (soit 12 envoies)

Avantage:

Fonctionne toujours (même si l’application cible n’a pas accès au contenu du presse papier)

 

Si  <Inst 1>  = 1 le mode d’envoie des données est par bloc de caractères.

La chaine ‘Texte1V[RETURN]Texte2’  sera envoyé sous la forme :

Texte1, V[RETURN], puis Texte2 (soit 3 envoies)

Avantage:

Ultrarapide (surtout s’il faut envoyer des textes longs).

 

Chaine de retour: Aucune

 

Remarque: Si cette fonction est appelée plusieurs fois dans une même instruction seule la dernière exécution est pris en compte.

 

Exemples:             SetKeyMode(1)

SetKeyMode(0)


 

12.32.      SetKeySpeed

Description:

Fonction qui change la vitesse de frappe clavier lors de la lecture.

 

Syntaxe:  SetKeySpeed (<Inst 1>)

 

Arguments:

<Inst 1> : Instruction exécutée qui doit retourner un entier compris entre 0 et 100.

La valeur 100 change la vitesse de frappe au plus rapide possible. La valeur 0 rend la vitesse de frappe extrêmement lente (pour une démonstration). Si cette fonction n’est pas appelée lors de la lecture, c’est la valeur par défaut qui est utilisée (valeur spécifiée dans les options de lecture, non disponible actuellement).

 

Chaine de retour: Aucune

 

Remarque: Pour contrôler la vitesse de déplacement du pointeur de la souris utilisez la fonction SetMouseSpeed (). Si la valeur spécifiée est proche de 0 et si vous avez réalisé une boucle, il est recommandé d’insérer dans cette boucle un/des contrôle(s) avec les fonctions de recherche IfImage(), IfShape() afin de s’assurer que l’application cible suive bien et qu’elle accuse réception des saisies.

 

Exemples:

SetMouseSpeed(20)& SetKeySpeed(20)&IfShape(5,"testV[LBUTTON]",Stop())

 

 

12.33.      SetMouseSpeed

Description:

Fonction qui change la vitesse de déplacement du pointeur de la souris lors de la lecture.

 

Syntaxe:  SetMouseSpeed (<Inst 1>)

 

Arguments:

<Inst 1> : Instruction exécutée qui doit retourner un entier compris entre 0 et 100.

La valeur 100 change la vitesse de déplacement du pointeur de la souris au plus rapide possible. La valeur 0 rend le déplacement du pointeur extrêmement lent (pour une démonstration). Si cette fonction n’est pas appelée lors de la lecture, c’est la valeur par défaut qui est utilisée (valeur spécifiée dans les options de lecture, non disponible actuellement).

 

Chaine de retour: Aucune

 

Remarque: Pour contrôler la vitesse de frappe clavier utilisez la fonction SetKeySpeed (). Si la valeur spécifiée est proche de 0 et si vous avez réalisé une boucle, il est recommandé d’insérer dans cette boucle un/des contrôle(s) avec les fonctions de recherche IfImage(), IfShape() afin de s’assurer que l’application cible suive bien et qu’elle accuse réception des saisies.

 

Exemples:

SetMouseSpeed(20)& SetKeySpeed(20)&IfShape(5,"testV[LBUTTON]",Stop())

 

 

 

12.34.      SetPixelTol

Description:

Fonction qui change la tolérance des fonctions de recherche IfImage() et IfShape() uniquement pour un pourcentage de pixels.

 

Syntaxe:  SetPixelTol (<Inst 1>)

 

Arguments:

<Inst 1> : Instruction exécutée qui doit retourner un entier compris entre 0 et 50.

La valeur 0 indique aux fonctions de recherche qu’il n’y a aucune tolérance pour les pixels, un point (pixel) différent (peu visible à l’œil) suffit pour que les fonctions de recherche considèrent que les images/formes sont différentes.

 

Chaine de retour: Aucune

 

Remarque: Pour une tolérance sur les couleurs utilisez plutôt/aussi la fonction SetColorTol().

 

Exemples:

SetColorTol(20)& SetPixTol(20)&IfShape(5,"V[LBUTTON]",Stop())

Pour que le changements de tolérances soit pris en compte par la fonction de recherche il faut que les fonctions SetColorTol() ou/et SetPixelTol() soient placées avant la fonction de recherche. Il est recommandé que les fonctions SetColorTol() et SetPixelTol soient ajoutées avec l’operateur ‘&’ comme ci-dessus, ainsi lors de la lecture si WinParrot s’arrête sur cette instruction (grâce à la fonction Stop(), en cas d’échec) vous pourrez augmenter les tolérances et relancer la lecture à partir de cette instruction.


 

12.35.      SetTitle

Description:

Fonction qui affiche un message dans le titre de l’application WinParrot. Ainsi dans une boucle vous pouvez utiliser cette fonction pour suivre en temps réel où en est WinParrot en cours de lecture tout en minimisant cette application (Titre visible depuis la barre des tâches Windows)

 

Syntaxe:  SetTitle(<Inst 1>)

 

Arguments:

<Inst 1> : Instruction exécutée qui doit retourner une chaine texte contenant le message à afficher en titre de WinParrot.

 

Chaine de retour: Aucune

 

Remarque: L’exécution de l’instruction en cours n’est pas interrompue par cette fonction.

 

Exemples:  SetTitle("i="&$I&"/"&$TOTAL);

 

                                         

 

12.36.      SetVar

Description:

Fonction qui  initialise ou change le contenu d’une variable.

 

Syntaxe:  SetVar($MA_VARIABLE ,<Inst 1>)

 

Arguments:

$MY_VARIABLE : Nom de la variable.

<Inst 1> : Instruction qui retourne la valeur à affecter à la variable.

 

Chaine de retour: Aucune

 

Remarque: Pour initialiser ou changer le contenu d’une variable vous pouvez aussi utiliser l’opérateur ‘=’.

 

Exemple:

Initialiser la  variable $PP avec la valeur 100:

SetVar($PP, 100)

 

Beeper et copier le contenu du presse-papier dans la variable $PP:

Beep(3000,100)&SetVar($PP, GetClipboard())

12.37.      Sgn

Description 

Fonction qui retourne le signe d’un entier ou d’un réel.

 

Syntaxe   Sgn(<Instruction>)

 

Arguments 

<Instruction>: Instruction qui doit retourner un entier ou un réel.

 

Chaîne de retour 

L’entier -1 si l’argument est inferieur à zéro.

L’entier 0 si l’argument est égal à zéro.

L’entier 1 si l’argument est supérieur à zéro.

 

Examples

Sgn(123) enverra ‘1’ à l’application cible.

MsgBox(Sgn(-123)) ouvre une fenêtre avec ‘-1’.

12.38.      Stop

Description:

Fonction qui stop la lecture après avoir finalisé l’exécution de l’instruction en cours et avoir envoyé à l’application cible le texte issue de celle-ci.

 

Syntaxe: Stop()

 

Arguments: Aucun

 

Chaine de retour: Aucune

 

Remarque:

Lorsque vous relancez la lecture WinParrot vous proposera de reprendre la lecture de l’instruction contenant ce ‘Stop’, la suivante ou depuis le début (en réinitialisant toutes les variables du document).

 

Exemples:   Stop()

 

 

 

12.39.      StrLen

Description:

Fonction qui donne la longueur d’une chaine.

 

Syntaxe:  StrLen (<Inst 1>)

 

Arguments:

<Inst 1>: Instruction exécutée qui doit retourner une chaine texte.

 

Chaine de retour:   Un entier correspondant à la longueur de la chaine texte résultant de l’exécution de l’instruction <Inst 1>.

.

Exemples:            

StrLen ("ABCDE") ó  5

$STR="ABCDE"; StrLen ($STR&"Z") ó  6

 

12.40.      StrStr

Description:

Fonction qui recherche une chaine dans une autre chaine.

 

Syntaxe:  StrStr(<Inst 1>, <Inst 2>)

 

Arguments:

<Inst 1> : Instruction exécutée qui doit retourner une chaine texte.

<Inst 2> : Instruction exécutée qui doit retourner une chaine texte contenant l’occurrence à rechercher.

 

Chaine de retour:   Si  la chaine texte résultant de l’exécution de l’instruction

<Inst 2>  a été trouvée dans la chaine texte résultant de l’exécution de l’instruction <Inst 1> la fonction StrStr() retourne le numéro du caractère ou celui-ci a été trouvé.

 

Remarque: Si la chaine texte n’est pas trouvée la fonction renvoie ‘0’.

.

Exemples:            

StrStr("ABCDE", "BC") ó  2

$STR="ABCDE" ; StrStr($STR, "Z") ó  0

 

 

12.41.      SystemCmd

Description:

Fonction qui exécute une commande système.

 

Syntaxe:  SystemCmd(<Inst 1>)

 

Arguments:

<Inst 1> : Instruction exécutée qui doit retourner une chaine texte contenant la ligne de commande à exécuter. Si celle-ci se termine par le caractère ‘&’ l’exécution sera asynchrone.

 

Chaine de retour:   Aucune.

 

Remarques: Si le caractère ‘&’ est ajouté à la fin de la ligne de commande WinParrot n’attend pas la fin de l’exécution de la ligne de commande pour poursuivre la fin de l’exécution de l’instruction en cours.

Pour ouvrir un fichier utilisez la fonction SystemOpen() (Windows se chargera en fonction de l’extension d’utiliser le programme associé).

.

Exemples:            

-Pour supprimer un fichier et suspendre la lecture pendant le temps de la suppression (caractère ‘&’ non ajouté):

SystemCmd("cmd /C rm c:\test.txt")

Notez que pour exécuter une commande DOS vous devez préfixer celle-ci par "cmd /C ". (voir sous DOS ‘cmd /?‘ pour plus d’information sur les options)

 

-Pour ouvrir un site Web en spécifiant qu’il faut utiliser Internet  Explorer et ne pas suspendre la lecture (caractère ‘&’ ajouté):

$STR="iexplore " ; SystemCmd($STR&" http://www.winparrot.com&")

 

12.42.      SystemOpen

Description:

Fonction qui demande à Windows d’ouvrir un fichier ou un lien avec le programme associé.

 

 Syntaxe:  SystemOpen(<Inst 1>)

 

Arguments:

<Inst 1> : Instruction exécutée qui doit retourner une chaine texte contenant le fichier ou le lien a ouvrir.

 

Chaine de retour:   Aucune

 

Remarque: Cette fonction n’interrompt pas la lecture en cours.

.

Exemples:            

Pour ouvrir un fichier test.txt :

SystemOpen("c:\test.txt")

Pour ouvrir un site Web avec le navigateur par défaut:

$STR=" http://www.winparrot.com " ; SystemOpen($STR)

 

12.43.      ToChar

Description 

Fonction qui formate dans une chaine un entier, un réel ou une chaine selon un format spécifié.

Le format est identique au format de la fonction du langage C fprintf.

(veuillez voir le format de la fonction fprintf pour plus d’information)

 

Syntaxe   ToChar((<Inst 1 = format>,<Inst 2 = value>)

 

Arguments 

<Inst 1>: Instruction qui doit retourner une chaine contenant le format.

<Inst 2>: Instruction qui doit contenir l’entier, le réel ou la chaine à formater.

 

Chaine de retour:

Une chaine contenant la valeur formatée.

 

Example:

ToChar("%.2f",1.2) enverra la chaine ‘1.20’ à l’application cible.

 

Note : Ci-dessous, les formats les plus utilisés. Le caractère X représente le caractère espace (‘d’,’f’ pour les entiers et réels, ‘s’ pour les chaines).

Valeur

Format

Résultat

Commentaire

12

%-5d

12XXX

Compléter à droite par des espaces.

12

%5d

XXX12

Compléter à gauche par des espaces.

12.4

%-5d

12XXX

Valeur entière et compléter à droite par des espaces.

12.4

%5d

XXX12

Valeur entière et compléter à gauche par des espaces.

123456

%5d

123456

-

12

%05d

00012

Compléter à gauche par des zéros.

123456

%05d

123456

-

12.345

%.2f

12.35

Afficher uniquement 2 décimales

12

%8.2f

XXX12.00

8 caractères, Afficher uniquement 2 décimales

12

%08.2f

00012.00

8 caractères, Afficher uniquement 2 décimales, compléter avec zéro

12.345

%-8.2f

12.35XXX

8 caractères, Afficher uniquement 2 décimales, compléter à droite par des espaces.

12.345

%s

12.345

Chaine simple

12.345

%8s

XX12.345

Compléter à gauche par des espaces.

12.345

%-8s

12.345XX

Compléter à droite par des espaces.

 

 

12.44.      Trace

Description:

Fonction qui active ou désactive le mode trace.

Pour plus d’information voir le chapitre ‘Tracer vos macros’.

 

Syntaxe: Trace(<Inst 1>,<Inst 2>,<Inst 3>)

 

Arguments:

<Inst 1> : Instruction qui doit retourner un entier compris entre 0 et 2.
                  La valeur 0 désactive le mode trace.

La valeur 2 est le niveau de trace maximale.

<Inst 2> : Instruction qui doit retourner une chaine contenant le format
des traces (colonnes à afficher).

<Inst 3> : Instruction qui doit retourner une chaine contenant le nom du fichier trace.
                  L’extension de ce fichier donne aussi le type de trace (.csv, .xls ou .html)

 

Chaine de retour:

Aucune.

 

Remarque: L’exécution de l’instruction en cours n’est pas interrompue par cette fonction.

Les paramètres par défaut sont :

<Inst 1> : 0 (désactive le mode trace).

<Inst 2> :  $TFORMAT Ce format par défaut contient  les colonnes suivantes :

"LNUM.INUM;INSTRUCTION;DESC1;DESC2;OUTPUT;ISELECTED;IFOUND"
où :

LNUM est le numéro de la ligne executée.

INUM est le numéro dans la ligne de l’instruction exécutée.

INSTRUCTION est l’instruction exécutée.
DESC1;DESC2 sont les descriptions de l’exécution de l’instruction.

OUTPUT est la chaine résultant de l’exécution de l’instruction. C’est la chaine qui sera envoyée à l’application cible.

ISELECTED est l’image sélectionnée à rechercher ou/et l’image centrée sur un point sur lequel il faut cliquer.

IFOUND est l’image trouvée ou/et l’image centrée sur le point sur lequel il faut cliquer.

 

<Inst 3> : Si le chemin complet du fichier trace n’est pas spécifié le dossier sera

celui ou le fichier wpr se trouve.

Si le nom du fichier trace n’est pas spécifié le nom du fichier trace sera

le même que celui du fichier.

Si l’extension du fichier trace n’est pas spécifié celui-ci sera ‘.html’

 

Vous pouvez ajouter des colonnes supplémentaires au format par défaut en concaténant à celui-ci des noms de variable (à l’intérieur d’une chaine).

<Inst 2> =  "$DATE;$TIME;”&$TFORMAT&”;$MY_VARIABLE"

 

Exemples:

-Activer la trace niveau=2, format par défaut et nom de fichier TraceTmpHHMMSS.html:

$TIME="HHMMSS"; Trace(2,,"TraceTmp"&$TIME&"")

-Désactiver le mode trace: Trace(,,)

-Activer la trace niveau=1, ajouter les colonnes date et heure (HHMMSS) et nom de fichier =TraceTmp.xls:

$TIME="HHMMSS";

Trace(1, "$DATE;$TIME;”&$TFORMAT&”;$MY_VARIABLE","TraceTmp.xls")

Attention :

$TIME="HHMMSS";

Trace(1, "$DATE;”&$TIME&”;”&$TFORMAT&”;”&$MY_VARIABLE,"TraceTmp.xls")

Ne donnerait pas le résultat attendu car $TIME et $MY_VARIABLE seraient constants dans la trace.

 

Voir la vidéo 'How to use the Debug & Trace functions' sur  ou charger la vidéo AVI .

 

12.45.      XlsAutoSave

Description 

Fonction qui active ou désactive le mode de sauvegarde automatique lors de l’écriture dans un fichier Excel.

 

Syntaxe   XlsAutoSave(<Instruction>)

 

Arguments 

<Instruction>: Instruction qui doit retourner un nombre entier N.

Si N = 0 le mode de sauvegarde automatique est désactivé et activé dans tous les autres cas.

 

Chaine de retour:

Aucune.

 

Remarque : Utilisez cette fonction si vous voulez que votre classeur Excel soit sauvegardé à chaque fois que vous appelez la fonction XlsWriteData(). 

 

Examples

XlsAutoSave(1) : Active le mode de sauvegarde automatique.

XlsAutoSave(0) : Désactive le mode de sauvegarde automatique

12.46.      XlsClose

Description:

Fonction qui ferme un classeur Excel spécifié.

 

Syntaxe:  XlsClose (<Inst 1>)

 

Arguments:

<Inst 1> : Instruction qui doit retourner le nom du fichier Excel. Si le nom du fichier ne contient pas le chemin complet de celui-ci alors WinParrrot recherche le fichier XLS à partir du répertoire du fichier WPR.

 

Chaine de retour:

Aucune.

 

Remarque: Cette fonction devrait être utilisée uniquement à la fin des macro WinParrot (Il est déconseillé d’ouvrir et de fermer des classeurs Excel dans des boucle).

 

Exemple:

 

·         Ecrire « Ok » dans la cellule B1 de la première feuille du classeur x1.xls, puis sauvegarder et fermer le classeur:

$I=1; $F="c:\x1.xls"; XlsWriteData($F,1,"B"&$I,"Ok");

XlsSave($F) ; Xlsclose($F)

 

12.47.      XlsReadData

Description:

Fonction qui lit le contenu d’une cellule d’une feuille Excel.

Cette fonction ouvre le fichier Excel si celui-ci n’est pas déjà ouvert.

 

Syntaxe:  XlsReadData(<Inst 1>,<Inst 2>,<Inst 3>)

 

Arguments:

<Inst 1> : Instruction qui doit retourner le nom du fichier Excel. Si le nom du fichier ne contient pas le chemin complet de celui-ci alors WinParrrot recherche le fichier XLS à partir du répertoire du fichier WPR.

<Inst 2> : Instruction qui doit retourner le numéro de la feuille.

<Inst 3> : Instruction qui doit retourner l’identifiant de la cellule à lire

sous forme <Lettre colonne><Numéro de ligne>.

 

Chaine de retour:

Chaîne texte contenant la valeur de la cellule.

 

Remarque: Si la cellule contient une formule celle-ci est évaluée par Excel puis le résultat est transmis à WinParrot.

 

Exemples:

 

·         Lecture de la cellule A1 de la première feuille du classeur x1.xls  et envoie du résultat à l’application cible:

$I=1; $F="c:\x1.xls"; XlsReadData($F,1,"A"&$I)

 

·         Test de l’existence d’une valeur dans la cellule Z2 de la première feuille du classeur x1.xls  et arrêt de lecture si vide:

$F="c:\x1.xls"; $TESTI=XlsReadData($F,1,"Z2");

If($TEST=="", Stop(),)

      

Voir la vidéo 'How to use the Excel functions in a WinParrot macro' sur  ou charger la vidéo .

 

12.48.      XlsSave

Description:

Fonction qui sauvegarde un classeur Excel spécifié.

 

Syntaxe:  XlsSave(<Inst 1>)

 

Arguments:

<Inst 1> : Instruction qui doit retourner le nom du fichier Excel. Si le nom du fichier ne contient pas le chemin complet de celui-ci alors WinParrrot recherche le fichier XLS à partir du répertoire du fichier WPR.

 

Chaine de retour:

Aucune.

 

Remarque: Cette fonction devrait être utilisée juste après la fonction XlsWriteData().

 

Exemple:

 

·         Ecriture de « Ok » dans la cellule B1 de la première feuille du classeur x1.xls, puis sauvegarde du classeur:

$I=1; $F="c:\x1.xls"; XlsWriteData($F,1,"B"&$I,"Ok"); XlsSave($F)

 

12.49.      XlsWriteData

Description:

Fonction qui change le contenu d’une cellule d’une feuille Excel par une valeur spécifiée. Cette fonction ouvre le fichier Excel si celui-ci n’est pas déjà ouvert.

 

Syntaxe:  XlsWriteData(<Inst 1>,<Inst 2>,<Inst 3>,<Inst 4>)

 

Arguments:

<Inst 1> : Instruction qui doit retourner le nom du fichier Excel. Si le nom du fichier ne contient pas le chemin complet de celui-ci alors WinParrrot recherche le fichier XLS à partir du répertoire du fichier WPR.

<Inst 2> : Instruction qui doit retourner le numéro de la feuille.

<Inst 3> : Instruction qui doit retourner l’identifiant de la cellule à lire

sous forme <Lettre colonne><Numéro de ligne>.

<Inst 4> : Instruction qui doit retourner la valeur à affecter à la cellule.

 

Chaine de retour:

Aucune.

 

Remarque: Cette fonction peut être utilisée lors de boucles pour marquer les lignes traitées.

 

Exemple:

 

·         Ecriture de « Ok » dans la cellule B1 de la première feuille du classeur x1.xls:

$I=1; $F="c:\x1.xls"; XlsWriteData($F,1,"B"&$I,"Ok")

 

 

 

Voir la vidéo 'How to use the Excel functions in a WinParrot macro' sur  ou charger la vidéo .


 

12.50.      Verbose

Description:

Fonction qui active ou désactive le mode verbeux.  Grace à cette fonction vous pouvez demander à WinParrot d'afficher (sous forme de texte) toutes ses actions.

 

Syntaxe: Verbose (<Entier 1>)

 

Arguments:

<Entier 1> : Entier compris entre 0 et 7, le niveau 0 désactive le mode verbeux et le niveau 7 est le niveau maximum.

 

Chaine de retour: Aucune

 

Remarques:

Cette fonction n'interrompt pas  l’exécution de l’instruction en cours.

 

Exemples:

Activer le mode verbeux : Verbose (7)

Désactiver le mode verbeux : Verbose (0)

12.51.      Wait

Description:

Fonction qui interrompt l’exécution de l’instruction en cours  pendant un temps donnée en millisecondes. Lorsque le temps est écoulé WinParrot termine l’exécution de l’instruction en cours puis envoie à l’application cible le texte généré par celle-ci.

 

Syntaxe: Wait(<Entier 1>)

 

Arguments:

<Entier 1> : Temps en millisecondes de l’interruption.

 

Chaine de retour: Aucune

 

Remarques:

Pendant le temps d’attente, si celui-ci est supérieur à 1s,  WinParrot affiche en titre et en secondes  [Temps écoulé/Temps d’attente] ex ‘Wait 2/5’.

Vous pouvez interrompre à tout moment l’attente avec la touche V[END] (Touche définie par défaut [Fin], l’exécution de l’instruction en cours se poursuit, son résultat est envoyé à l’application cible puis WinParrot arrête la lecture).

 

Exemple:

Attente d’une seconde : Wait(1000)

12.52.      WprClose

Description:

Fonction qui arête la lecture et ferme le document.

 

Syntaxe:  WprClose()

 

Arguments: Aucun.

 

Chaine de retour: Aucune

 

Remarque: Si il n’y a qu’un document ouvert WinParrot se ferme aussi.

 

Exemples:             Beep(3000,100)&WprClose();


 

13.         Les boucles (loops) et les aiguillages (switches)

 

Les boucles vous permettent de réaliser un certain nombre de fois les mêmes instructions. Les aiguillages vous permettent de rediriger l'exécution d'une instruction à une autre.

13.1.            Les boucles (Loops)

Pour réaliser une boucle vous devez au minimum utiliser un lieu (voir chapitre ‘Les lieux’, cela sera le début de la boucle) et la fonction GoTo() (voir fonction GoTo(), cela sera la fin de la boucle). Vous pouvez réaliser autant de boucles que vous le voulez.

Pour réaliser un certain nombre de fois une boucle vous devez aussi utiliser une variable, celle-ci sera utilisée comme compteur.

 

Exemple 1:

- Envoyer la chaine "$N=xx" où xx est la valeur de la variable $N allant de 0 à 9 à l’application cible puis ouvrir une fenêtre avec le texte "End", sur une ligne/enregistrement en 6 instructions :

$N=0; :MY_DEMO; "$N="&$N; $N=$N+1; If($N<10,GoTo(:MY_DEMO,1),); MsgBox("End")&Stop()

 

Explication de chaque instruction de l’exemple 1: 

$N=0                           : Initialisation de la variable $N à zéro.

:MY_DEMO                       : Positionnement du début de boucle avec ce lieu.

"$N="&$N                   : Actions à réaliser (ici envoie de la chaine "$N=xx")

$N=$N+1                    : On incrémente la variable $N.

If($N<10,GoTo(:MY_DEMO,1),)    : Test de fin de boucle, aller au lieu :MY_DEMO si $N<10,      aller à l’instruction suivante sinon.

MsgBox("End")&Stop()           : Afficher le texte "End" et arrêter le lecture.

 

Exemple 2:

- Envoyer les valeurs des cellules de la colonne A d’une feuille d’un classeur Excel "data.xls" (tant que celles-ci ne sont pas vides) à l’application cible puis ouvrir une fenêtre avec le texte "End", sur 5 lignes/enregistrements en 6 instructions :

$N=0; $F="data.xls"

:BEGIN

$N=$N+1

If(XlsReadData($F,1, "A"&$N)!="",XlsReadData($F,1, "A"&$N)&GoTo(:BEGIN,1),) MsgBox("End")&Stop()

 

Voir la vidéo 'How to add a loop in a WinParrot macro' sur  ou charger la vidéo AVI .

 

13.2.            Les aiguillages (Switches)

Pour réaliser un aiguillage d'une instruction vers une instruction vous devez au minimum utiliser la fonction GoTo() (voir fonction GoTo(), cela sera le début de l'aiguillage) et un lieu (voir chapitre ‘Les lieux’, cela sera la fin de l'aiguillage).

Vous pouvez réaliser autant d'aiguillages que vous le voulez.

 

Exemple 1:

Cet exemple vous montre une méthode pour implémenter la gestion des messages d'erreurs.

Supposons que vous avez réalisé une macro WinParrot qui réalise la saisie d'un écran/formulaire, celle-ci sauvegarde le formulaire. Votre application affiche très certainement un message pour valider la sauvegarde (MSG_OK) ou des messages d'erreurs (MSG_ERR1, MSG_ERR2, MSG_ERR3…).

Lorsque votre application affiche un des messages MSG_XX vous pouvez relancer l'enregistrement, cliquer sur le message et arrêter l'enregistrement. Vous pouvez conserver une seule ligne/enregistrement par message.

Modifiez le code de chaque enregistrement comme ci-dessous.

-Pour l'enregistrement affichant le message MSG_OK:

      :CHECK_MSG; IfImage(3, XlsWriteData($F,1,"E"&$L,"Ok")&GoTo(:BEGIN,1),)

   Le lieu vous permet d'identifier le début des contrôles

      (à utiliser avec la fonction GoTo() juste après la sauvegarde).

      Recherche du message MSG_OK.

-Pour l'enregistrement affichant le message MSG_ERR1:

   IfImage(,"V[RETURN"&XlsWriteData($F,1,"E"&$L,"Err 1")&GoTo(:BEGIN,1),)    

   Recherche du message MSG_ERR1 pendant zéro seconde

      (car nous avons déjà attendu 3s à l'instruction précédente)

-Pour l'enregistrement affichant le message MSG_ERR2:

   IfImage(,"V[RETURN"&XlsWriteData($F,1,"E"&$L,"Err 2")&GoTo(:BEGIN,1),)    

   Idem, recherche du message MSG_ERR2

-Pour l'enregistrement affichant le message MSG_ERR3:

   IfImage(,"V[RETURN"&XlsWriteData($F,1,"E"&$L,"Err3")&GoTo(:BEGIN,1),)     

   Idem, recherche du message MSG_ERR3

-Pour arrêter la macro si un nouveau message est apparu (vous pourrez alors relancer l'enregistrement pour ajouter la gestion d'erreur de ce message):

   XlsWriteData($F,1,"E"&$L,"?")&MsgBox("Message d'erreur inconnu")&Stop()

   Arrêt de la macro si aucun message connu n'est apparu.

 

A noter que dans notre exemple :

-Lorsque vous ajoutez la fonction IfImage() sur chaque enregistrement vous devez aussi redimensionner le rectangle rouge pour entourer le message recherché.

-L'action corrective aux messages d'erreurs consiste à appuyer sur la touche entrée "V[RETURN".Vous devrez adapter cette action à votre application, généralement l'objectif de cette action consiste à retrouver un formulaire vide, près pour la saisie.

-La notification des messages d'erreurs consiste à écrire dans la cellule du classeur Excel $F, feuille 1, colonne E et ligne $L le texte "Err.." avec l'appel à la fonction XlsWriteData($F,1,"E"&$L,"Err.."). La variable $L est la variable de la boucle principale.

14.         Studio

 

Les fonctions Studio permettent de réaliser un montage à partir de vos enregistrements.

Vous pouvez supprimer, déplacer ou copier des enregistrements.

Pour  afficher/cacher la bar ‘Studio’ vous devez appuyer sur le bouton :

Celle-ci comporte actuellement quatre boutons :

Voir la vidéo 'How to use the Studio features' sur  ou charger la vidéo AVI .

 

 

14.1.            Supprimer un enregistrement

Pour supprimer un enregistrement vous devez désactiver celui-ci (cliquez sur sa ligne, colonne ‘Jouer’). Puis vous pouvez cliquer sur le bouton :  ou utiliser le raccourci clavier \[CTRL]D/[CTRL].

 

 

14.2.            Déplacer un enregistrement

Pour déplacer un enregistrement vous pouvez cliquer sur un des boutons :  ou , ou utiliser le raccourci clavier ‘\[LBUTTON]’  déplacez la souri  puis ‘/[LBUTTON]’.

 

 

 

14.3.            Copier un enregistrement

Pour copier un enregistrement vous pouvez cliquer sur le bouton : , ou utiliser le raccourci clavier ‘\[CTRL] \[LBUTTON]’  déplacez la souri  puis ‘/[LBUTTON]/[CTRL]’.

 

 

 


 

15.         Debugger vos macros

 

La fonction Debug est disponible depuis la version 2.0.0 de WinParrot. Celle-ci peut vous aider à debugger vos macros ou à comprendre comment une macro WinParrot fonctionne en l’exécutant pas à pas.

Voir la vidéo 'How to use the Debug & Trace functions' sur  ou charger la vidéo AVI .

 

15.1.            Activer / Désactiver le mode Debug

Afin d’exécuter une macro pas à pas vous pouvez insérer n’importe où la fonction Debug  Debug(7)‘, cela va activer le mode debug dès cette instruction. Vous pouvez aussi insérer la fonction debug sans aucun argument pour mettre fin au mode debug Debug() ó Debug(0). Pour plus d’information veuillez consulter l’aide de la fonction Debug.

15.2.            La fenêtre Debug

 

(1)   Sélection de l’instruction à exécuter.
Pour ne plus vous arrêter à cette étape vous devez décocher la case à cocher.

(2)   Exécution de l’instruction. Si l’instruction appelle plusieurs fonctions vous pouvez être arrêté à l’exécution de chacun d’elle.
Pour ne plus vous arrêter à cette étape vous devez décocher la case à cocher.

(3)   Résultat de l’exécution de l’instruction qui va être envoyé à l’application cible.
Pour ne plus vous arrêter à cette étape vous devez décocher la case à cocher.

(4)   Image enregistrée avec l’image sélectionnée (dans le rectangle rouge) pour la fonction IfImage. Le clique sera relatif à l’image trouvée.

(5)   Image trouvée par la fonction IfImage qui correspond à l’image sélectionnée avec les tolérances spécifiées (par défaut 0%  pour la tolérance de couleurs et 0% pour la tolérance en pixel correspondant)

(6)   Pour arrêter la lecture cliquez sur le bouton ‘Arreter’.

(7)   Pour passer à l’étape suivante cliquez sur le bouton ‘Continuer’.

(8)   Pour mettre fin au mode debug et continuer la lecture cliquez sur le bouton ‘Terminer’.

 

Le fenêtre Debug affiche le niveau de debug dans le titre.

Vous pouvez changer le niveau de debug en cochant/décochant les cases à cocher [1],[2] or [3].

Le niveau de debug est égale à 2*[1]+4*[2]+[3] où [x]=1 si la case à cocher est cochée, zéro sinon. Si toutes les cases à cocher sont cochées alors le niveau est égale à 2*1+4*+1*1=7

Notez que les zones (4) & (5) n’apparaissent que si l’instruction en cours appelle la fonction IfImage(), la fonction IfShape(), ou que le résultat de l’instruction exécutée contient des cliques de souris.

 

16.         Tracer vos macros

 

La fonction Trace est disponible depuis la version 2.0.0 de WinParrot. Celle-ci peut vous aider à debugger vos macros ou à comprendre comment une macro WinParrot fonctionne en l’exécutant pas à pas.

Le principal avantage de la fonction Trace par rapport à la fonction Debug est qu’avec celle-ci vous ne risquez pas de modifier le déroulement de l’exécution des instructions. Le fichier trace généré peut aussi contenir des images avec les copies écrans des zones recherchées, trouvées ou/et cliquées.

Si le mode trace est activé pendant la lecture WinParrot ouvrira automatiquement le fichier trace généré dès que la lecture se termine.

Voir la vidéo 'How to use the Debug & Trace functions' sur  ou charger la vidéo AVI .

 

16.1.            Activer / Désactiver le mode Trace

Afin d’activer le mode trace vous pouvez insérer n’importe où la fonction ‘Trace(2,,) ‘, cela va activer le mode trace dès cette instruction. Vous pouvez aussi insérer la fonction Trace avec aucun argument pour mettre fin au mode trace Trace(,,) ó Trace(0,,). Pour plus d’information veuillez consulter l’aide de la fonction Trace.

16.2.            Personnaliser la trace

Par défaut la fonction trace génère une trace comme ci-dessous :

Vous obtiendrez cette trace si vous insérez les deux instructions suivantes

$TIME="HHMMSS"; Trace(2,,"TraceTmp"&$TIME&"");” à la ligne 10, instruction  N°3.

Le type de format par défaut est le HTML.

Les colonnes par défaut sont représentées par des tags sépararés par le caractère ‘;’ dans la variable $TFORMAT. La valeur par défaut est :

"LNUM.INUM;INSTRUCTION;DESC1;DESC2;OUTPUT;ISELECTED;IFOUND":

LNUM est le numéro de la ligne de l’instruction exécutée.

INUM est le numéro de l’instruction exécutée dans ligne courante.

INSTRUCTION est le code de l’instruction exécutée.
DESC1;DESC2 sont les descriptions de l’exécution de l’instruction.

OUTPUT est la chaine résultant de l’exécution de l’instruction. C’est la chaine de caractères / cliques / touches qui va être envoyée à l’application cible.

ISELECTED image sélectionnée (dans le rectangle rouge) à rechercher et / ou l’image centrée sur un point où il faut cliquer (croix rouge).

IFOUND image trouvée (dans le rectangle rouge) et / ou l’image centrée sur le point où WinParrot va cliquer (croix rouge).

 

Vous pouvez changer le type de fichier trace en fichier Excel (ou csv) juste en ajoutant l’extension du nom du fichier « .xls ». Vous pouvez aussi ajouter des colonnes pour suivre les valeurs de vos variables.

Les instructions suivantes:

$TIME="HHMMSS"; $TFORMAT="$TIME;LNUM.INUM;DESC1;DESC2;INSTRUCTION;OUTPUT;$VAR1&$VAR2; VAR3=$VAR3"; Trace(2,,"TraceTmp"&$TIME&".xls")

générerons un classeur Excel ‘TraceTmp163354.xls’ comme ci-dessous:

 

 

 

17.         Exécuter en ligne de commande

 

Depuis la version 1.1.5 ou supérieur vous pouvez exécuter des macros WinParrot depuis une ligne de commande (DOS ou autres). Cela peut-être utile pour :

-          Créer vos raccourcis de lancement de WinParrot avec vos préférences (/nosound, /minimize …)

-          Exécuter vos macros depuis un script système (BAT, CMD…)

-          Planifier l’exécution de vos macros depuis n’importe quel gestionnaire de tâches (Gestionnaire de tâche de Windows ou autres)

 

17.1.            Exécuter une macro en ligne de commande

Pour exécuter une macro en ligne de commande vous devez saisir une ligne de commande (sous une fenêtre DOS, ou [Démarrer/Exécuter], ou autre interpréteur).

 

Syntaxe :  

winparrot_exe_full_path  winparrot_wpr_full_path [options] [$VARIABLE_NAME=value]

 

Où :

winparrot_exe_full_path est le chemin complet de l’exécutable WinParrot.

winparrot_wpr_full_path est le chemin complet de la macro WinParrot à exécuter.

[options] (facultatif) sont les options de lancement.

[$VARIABLE_NAME=value] (facultatif) sont les variables à initialiser.

 

Les options sont :

 

Option

Description

 

 

/close 

Pour fermer automatiquement la macro après l’exécution.

/hide 

Pour cacher l’application (Les menus sont toujours visible depuis l’icone sur la barre des tâches).

/minimize 

Pour réduire l’application au démarrage

/nosound 

Pour ne pas  jouer  ‘Hello’ au démarrage de l’exécutable.

/play 

Pour lancer automatiquement l’exécution de la macro à l’ouverture.

 

 

Exemples :

-Exécuter puis fermer mymacro.wpr  :

C:\winparrot\bin\winparrot.exe C:\winparrot\macro\mymacro.wpr /play /close

 

-Exécuter mymacro.wpr  en initialisant la variable $MYNAME avec le contenu de la variable système %USERNAME%  et la variable $TMP avec le contenu de la variable système %TEMP% :

C:\winparrot\bin\winparrot.exe C:\winparrot\macro\mymacro.wpr /play $MYNAME=%USERNAME% $TMP=%TEMP% $MYVAR_INT=1 $MYVAT_STR=”My test”

 

17.2.            Planifier l’exécution d’une macro

 

 Pour planifier l’exécution de macros il vous suffit d’utiliser n’importe quel gestionnaire de tâche sous Windows.

Pour configurer celle-ci vous devez saisir la ligne de commande avec les chemins complets de ‘winparrot.exe’ et de votre macro  WinParrot (le fichier *.wpr).

 

La ligne de commande suivante ne fonctionnera pas :

‘winparrot.exe mymacro.wpr /play’  

Pour que celle-ci fonctionne il faut saisir par exemple :

‘C:\winparrot\bin\winparrot.exe C:\winparrot\macro\mymacro.wpr /play’

Vous pouvez utiliser toutes les options de lancement en ligne de commande (voir chapitre précédant)

 

Remarque:

Si votre gestionnaire de tâches ne prend pas en charge l’ouverture de session vous devez garder une session ouverte et désactiver l’écran de veille.

 

 

17.3.            Exécuter une macro avec des variables

Pour exécuter une macro avec des variables il vous suffit d’ajouter à la fin de la ligne de commande celles-ci sous la forme $VARIABLE_NAME=valeur (voir les exemples sous ‘Exécuter une macro en ligne de commande’).

 

 

 

 

18.         Options

  Actuellement vous ne pouvez pas définir vos options via ce bouton.

Nous prévoyons de créer un écran d’options ou vous pourrez changer uniquement les paramètres qui n’ont aucune influence sur l’exécution des macros.

En effet toute macro qui fonctionne sur un ordinateur doit aussi fonctionner sur un autre ordinateur qui n’aurait pas les mêmes options.

Notez que vous pouvez déjà inclure dans vos macros un grand nombre d’options grâce aux fonctions comme SetKeySpeed(), SetMouseSpeed, SetPixelTol(), SetColorTol()…

 

19.         FAQ

19.1.            Navigation

A quoi sert la colonne commentaire ? 

La colonne commentaire n’est pas utilisée par WinParrot actuellement. Vous pouvez y mettre vos commentaires pour chaque enregistrement.

19.2.            Enregistrement

Comment insérer des enregistrements ?

Fonction disponible depuis la version 1.1 de WinParrot, voir chapitre ‘Studio

 

 

Comment supprimer des enregistrements ?

Fonction disponible depuis la version 1.1 de WinParrot, voir chapitre ‘Studio

19.3.            Lecture

WinParrot ne trouve pas une image, un point de contrôle alors qu’il est bien visible.

 

Juste après avoir réalisé un enregistrement sur certains ordinateurs (très anciens) il vous faut quitter WinParrot et  ouvrir à nouveau votre document *.wpr pour que la lecture se déroule sans problème.

 

Les fonctions de recherche IfImage() et IfShape() utilisent en valeurs de tolérances celles définies en option (non disponible actuellement). Vous pouvez changer ces valeurs avec les fonctions SetPixelTol() et SetColorTol(). A l’inverse, si vous augmentez trop ces tolérances WinParrot risque de trouver une image qui ne correspond pas du tout à celle recherchée. Consulter les fonctions SetPixelTol() et SetColorTol() pour plus d’informations.

 

20.         Support

Vous pouvez nous envoyer vos questions, remarques à Support@winparrot.fr

 

 Vous pouvez demander une formation express ou/et une assistance sur site afin de vous aider à réaliser des macros sur vos applications (durée maximum 4 heures). Si vous souhaitez nous solliciter merci de préciser brièvement vos besoins à support@winparrot.fr.

Nous nous engageons à répondre à toute demande.

 

21.         Annexe

Présentation - Installation / Désinstallation - Les fonctions - FAQ