Aller au contenu principal

Problèmes signalés par l'éditeur d'étapes

L'éditeur d'étapes vérifie vos étapes pendant que vous les modifiez. Ses messages apparaissent à quatre endroits : sous un champ, sous forme de puce sur la ligne d'une étape, sous forme de Étapes non enregistrées : sous la liste, et à la place de la liste quand les étapes ne peuvent pas être affichées sous forme de lignes.

Sous un champ​

Un champ qui pose problème reçoit une bordure rouge et le message en dessous, pendant la frappe. Tant qu'un champ contient un texte tapé qui échoue à sa vérification, les étapes ne sont pas enregistrées : Étapes non enregistrées : l'étape N a un champ non valide s'affiche sous la liste, et l'action conserve ses dernières étapes enregistrées jusqu'à ce que vous corrigiez le champ (Étapes non enregistrées).

Un champ vide n'affiche aucun message et n'empêche pas l'enregistrement ; les étapes sont enregistrées avec le champ vide. Quand l'action s'exécute, une étape dont un champ nombre, vrai ou faux, ou fenêtre est vide arrête l'action à cet endroit, et la sortie Système de la console indique que cet argument a le mauvais type. Un champ Texte vide s'exécute comme un texte vide, ce qui, pour certaines fonctions intégrées (un nom de fichier, un titre de fenêtre à chercher), signifie que l'étape ne fait rien.

MessageCauseSolution
Cette valeur est obligatoire.Le nom de variable d'une étape Définir une variable est vide.Tapez un nom.
Entrez un nombre entier (décimal ou hexadécimal 0x), une constante nommée ou une $variable.Un champ nombre entier, ou un Nombre de fois, contient autre chose, comme 2.5 ou dix.Tapez des chiffres, avec un signe moins facultatif, 0x et un nombre hexadécimal, ou une constante nommée comme VirtualKey.F5 (Paramètres des étapes).
Aucune constante nommée ne porte ce nom. Vérifiez l'orthographe et les majuscules, comme dans VirtualKey.MediaPlayPause.Un champ nombre entier ou nombre, ou un Nombre de fois, contient un nom avec un point, comme VirtualKey.Mediaplaypause, qui n'est pas une constante nommée.Corrigez le nom. Les majuscules comptent. Les noms sont listés dans Constantes nommées.
Entrez un nombre, ou une $variable.Un champ nombre contient quelque chose qui n'est pas un nombre.Utilisez un point comme séparateur décimal, sans séparateur de milliers : 1234.5.
Entrez true ou false, ou une $variable.Une valeur Vrai ou faux d'une étape Définir une variable contient autre chose.Tapez true ou false.
Une étape ne peut pas exécuter une fonction intégrée à l'intérieur d'un argument. Placez-la d'abord dans une variable.Le champ contient un appel de fonction intégrée avec quelque chose entre ses parenthèses, comme WindowGetTitle($w).Cliquez sur Placer dans une variable sous le champ (Paramètres des étapes). Si ce lien n'est pas proposé, ajoutez vous-même une étape pour l'appel, enregistrez son résultat et utilisez la variable.
Utilisez des lettres, des chiffres et _, sans commencer par un chiffre.Un nom de variable, dans Enregistrer le résultat sous ou Variable, contient un autre caractère ou commence par un chiffre.Renommez-le (Variables).
Ce nom est réservé. Choisissez-en un autre.Le nom de variable est if, else, for, true ou false.Choisissez un autre nom.
Choisissez la fonction intégrée dont le résultat est vérifié.Une condition réglée sur Le résultat d'une fonction intégrée n'a pas encore de fonction.Cliquez sur Choisir une fonction intégrée… et choisissez-en une.
« … » ne peut pas être utilisé dans une combinaison de touches.La case Touches a reçu une touche qu'une combinaison de touches ne peut pas nommer, comme une touche multimédia.Utilisez une autre touche, ou l'étape Appuyer sur une touche et la relâcher (KeyboardPressKey) (Touches multimédias).

Placer dans une variable n'est pas proposé quand l'appel ne peut pas être lu (par exemple quand il contient des opérateurs comme +), ni dans la condition d'un Répéter tant que ou d'un Répéter jusqu'à.

Une note n'est pas un problème : Ceci est stocké sous forme de texte et n'est pas exécuté. Pour conserver le résultat d'une fonction intégrée, utilisez Enregistrer le résultat sous dans l'étape de cette fonction. sous une valeur de type Texte d'une étape Définir une variable qui est un appel de fonction intégrée avec quelque chose entre ses parenthèses, comme WindowGetTitle($w). La valeur est enregistrée sous forme de ces caractères. Un appel avec des parenthèses vides, comme ClipboardGetText(), n'a pas de note : c'est une lecture du menu des valeurs (Variables).

Sur la ligne d'une étape​

PuceCauseSolution
Pas à l'intérieur d'une répétitionUne étape Sortir de la boucle se trouve hors de toute répétition, généralement après un déplacement. L'action ne peut pas s'exécuter tant qu'elle s'y trouve.Remettez-la dans une répétition, ou supprimez-la (Répéter des étapes).

Étapes non enregistrées​

Étapes non enregistrées : suivi d'une raison signifie que l'éditeur n'a pas pu réécrire vos lignes dans l'action. Tant que vous ne l'avez pas corrigé, l'action conserve ses dernières étapes enregistrées, et le reste de vos modifications attend.

RaisonCauseSolution
aucune fonction intégrée n'est choisie pour une conditionUn Si ou un Répéter tant que/jusqu'à est réglé sur Le résultat d'une fonction intégrée sans fonction.Choisissez la fonction, ou réglez Vérifier sur un autre type.
la value d'une condition est un appel (…) ; il faut d'abord l'affecter à une variableLa Valeur d'une condition, ou un côté d'une comparaison, contient un appel de fonction intégrée avec des arguments.Ajoutez au-dessus une étape qui exécute l'appel avec Enregistrer le résultat sous, et utilisez la variable dans la condition.
l'argument N de fonction est un appel (…) ; il faut d'abord l'affecter à une variableUn champ d'une étape contient un appel de fonction intégrée avec des arguments. N compte les champs de l'étape à partir de 1.Placer dans une variable (Paramètres des étapes).
l'étape N a un champ non valideUn champ de l'étape N contient un texte tapé qui échoue à sa vérification (Sous un champ) : abc dans un champ nombre entier ou nombre, un nom qui n'est pas une constante nommée, un champ vrai ou faux avec un autre texte, un Nombre de fois non valide, ou un nom de variable non autorisé. Un champ vide ne le provoque jamais. N compte les étapes à partir de 1.Corrigez le champ sous lequel se trouve le message.

Quand les étapes ne peuvent pas être affichées sous forme de liste​

Il arrive que des étapes existent sous forme de texte que la liste des étapes ne peut pas afficher : elles ont été modifiées dans la vue du code, importées, ou écrites à la main dans le fichier de configuration. La liste est alors remplacée par :

Ces étapes utilisent un contrôle de flux qui ne peut pas être affiché sous forme de liste (raison). Elles peuvent être modifiées sous forme de code en mode Avancé.

Cela se produit dans tout éditeur d'étapes : celui d'une action, d'un extrait, du Bac à sable, des actions avant et après d'un groupe d'applications, et d'un événement global.

Les étapes s'exécutent toujours telles quelles ; l'éditeur ne peut simplement pas les afficher sous forme de lignes. En mode Avancé, la vue du code affiche le texte, et c'est le seul moyen de le modifier (La vue du code). Dès que le texte retrouve une forme de liste, les lignes reviennent. La forme texte est décrite dans Le moteur Étapes.

La raison est l'une des suivantes. Les mots en italique représentent la partie de votre texte que cite la raison.

Le texte dans son ensemble​

RaisonCe qu'il faut corriger dans le texte
les étapes ne sont pas du TOML valide : messageLe texte n'est pas du TOML valide. Le message indique où.
il n'y a pas de tableau [[steps]]Le texte n'a pas de tables [[steps]].
la clé de premier niveau clé n'est pas une valeur simpleUne clé au-dessus du premier [[steps]] contient une table ou une liste. Seules des valeurs simples peuvent s'y trouver.
une étape utilise op op, qui n'a pas de forme de listeL'op d'une étape est un op que la liste ne peut pas afficher.
une étape utilise la forme goto de if, qui n'a pas de forme de listeUn if saute avec then_goto ou else_goto, ou une étape goto existe. Réécrivez-le avec un bloc if et end_if, ou continuez à modifier sous forme de texte.
une étape if n'a pas de conditionUne étape if n'a pas de condition.

Une étape​

RaisonCe qu'il faut corriger dans le texte
une étape call n'a pas de fnUne étape call ne nomme aucune fonction intégrée.
une étape set n'a pas de localUne étape set ne nomme aucune variable.
le call d'une étape set n'a pas de fnLe call d'une étape set ne nomme aucune fonction intégrée.
la value d'une étape set n'est pas une valeur uniqueLa value d'une étape set est une liste, ou une table autre qu'une lecture ({ fn = "Name" }) ou une constante nommée ({ const = "Namespace.Name" }).
la value d'une étape set est le texte texte, que la liste réenregistrerait comme le résultat de ce builtinLa value d'une étape set est un texte entre guillemets qui se lit comme une lecture, comme "ClipboardGetText()". Pour stocker le résultat de la lecture, écrivez-la { fn = "ClipboardGetText" } ; sinon, modifiez le texte.
une étape set n'a ni value ni callUne étape set n'a rien à stocker.
une étape repeat a besoin d'exactement un élément parmi times, while ou untilUne étape repeat n'en a aucun, ou en a plusieurs.
le times d'une étape repeat est un nombre, une constante nommée ou un appel de builtin stocké en texte, que la liste réenregistrerait comme nombre, constante ou résultat du builtintimes est écrit entre guillemets, comme "3", "MouseButton.Middle" ou "MouseGetCursorX()". Écrivez un nombre sans guillemets, une constante sous la forme { const = "MouseButton.Middle" }, ou une lecture sous la forme { fn = "MouseGetCursorX" }.
le times d'une étape repeat n'est ni un nombre entier ni du textetimes vaut, par exemple, 2.5 ou true.
une condition n'est pas une tableUne condition, un while ou un until n'est pas une table.
une condition a besoin d'exactement un élément parmi fn, value ou compareUne condition n'en a aucun, ou en a plusieurs.
le not d'une condition n'est ni true ni falsenot contient autre chose que true ou false.
le fn d'une condition est videLe fn d'une condition est un texte vide.
le compare d'une condition n'est pas une comparaison prise en chargecompare n'est pas l'un de ==, !=, <, <=, >, >=.
une comparaison a besoin de left et de rightIl manque left ou right à une comparaison.
un opérande d'une condition n'est pas une valeur uniqueUn value, left ou right est une liste, ou une table autre qu'une lecture ou une constante nommée.
une condition compare le texte texte, que la liste réenregistrerait comme nombre, constante nommée, true/false ou résultat d'un builtinUne valeur comparée est écrite entre guillemets mais se lit comme un nombre, une constante nommée, true/false ou une lecture, comme "3", "MouseButton.Left" ou "ClipboardGetText()". La liste ne peut pas la conserver comme texte. Écrivez une lecture sous la forme { fn = "ClipboardGetText" }, ou modifiez le texte.
args n'est pas un tableauLes args d'une étape ne sont pas une liste.
un argument n'est pas une valeur uniqueUn argument est une liste, ou une table autre qu'une lecture ({ fn = "Name" }) ou une constante nommée ({ const = "Namespace.Name" }).
une valeur désigne la constante texte, qui n'existe pasUn { const = "…" } contient un nom qui n'est pas une constante nommée, ou n'est pas du texte. Corrigez le nom ; les majuscules comptent.

Des blocs qui ne correspondent pas​

N est la position de l'étape, à partir de 1.

RaisonCe qu'il faut corriger dans le texte
l'étape N est un else hors d'un bloc ifUn else sans if ouvert avant lui.
l'étape N est un second else dans un même bloc ifUn bloc if a deux étapes else.
l'étape N ferme un bloc qui n'est pas ouvertUn end_if ou end_repeat sans bloc ouvert correspondant.
l'étape N ouvre un bloc qui n'est jamais ferméUn if ou repeat sans end_if ni end_repeat.

Notices autour de l'éditeur​

NoticeSignification
Rien n'est configuré dans ce mode : son exécution ne fait donc rien. Le contenu mode est conservé, mais n'est pas exécuté.Rédigée sous forme de est réglé sur un mode vide alors qu'un autre mode a du contenu. Cliquez sur Utiliser mode pour revenir (Étapes, Script et AutoHotkey).
La prise en charge d'AutoHotkey est désactivée dans les paramètres généraux : cette action ne fait donc rien tant qu'elle n'est pas activée.L'action s'exécute comme AutoHotkey, qui est désactivé (AutoHotkey).
Aucun plugin enregistré ne fournit le moteur « moteur » : ce script est donc ignoré lors de son exécution. Ajoutez le plugin dans la page Plugins, ou choisissez un autre mode.L'action s'exécute sur le moteur d'un plugin, et ce plugin n'est pas enregistré (Plugins).