# Mode texte pour les scripts

## À propos du mode texte

En mode texte, vous pouvez configurer les mêmes scripts que ceux du mode bloc. Toute opération prise en charge par le logiciel d'édition d'écrans dans les scripts en mode Bloc est également prise en charge par les scripts en mode Texte, comme les opérations mathématiques (sinus, cosinus, etc.), les opérations logiques (&&, ||, etc.) et les opérations de comparaison (==, !=, etc.). Les scripts qui ne sont pas répertoriés dans [Bibliothèque d'objets] ne sont pas pris en charge.

### Editeur de script

En mode Texte, l'éditeur de script divise le script en sections, chaque section de script ayant un déclencheur et une ou plusieurs opérations.

Les déclencheurs, tels que Appui, Périodique/Planifié et Conditionnel, prennent la forme d'une fonction. Si un déclencheur nécessite des paramètres, transmettez-les en tant que paramètres de fonction.

Les opérations prennent la forme d'une instruction avec un point-virgule (;) pour terminer l'instruction.

Le format du mode texte est présenté dans l'exemple suivant.

- 'onClick' est le gestionnaire de déclencheurs d'un déclencheur de clic.
- Le premier paramètre '$GraphicObject' est la source du déclenchement.
- Le deuxième paramètre '$Math.max(EXPRESSION1, EXPRESSION2);' est l'ensemble des opérations qui sont exécutées par le déclencheur. Les opérations sont identifiées par la flèche '=>'.

#### Objets et variables

Ajoutez un mot clé pour identifier un objet ou une variable référencé(e). Ajoutez le préfixe '$' au mot-clé. (Consultez le tableau suivant.)

Identifiant du module

Mot-clé | Description | Exemple
$Alarm | Pour accéder à une propriété d'alarme. | $Alarm.AlarmGroup1.Var1_HiHi.Message
$AlarmGroup | Pour accéder à une propriété de groupe d'alarmes. | $AlarmGroup.AlarmGroup1.CurrentActiveCount
$AllAlarm | Pour accéder à une propriété de toutes les alarmes. | $AllAlarm.MaxRecord
$SystemErrorGroup | Pour identifier un groupe d'erreurs système. |
$OperationLog | Pour accéder à une propriété du journal des opérations. | $OperationLog.ExportData.FolderName
$RecipeControl | Pour accéder à la propriété d'un contrôle de recette. | $RecipeControl.RecipeControl1.RecipeID
$Ingredient | Pour accéder à la propriété d'un ingrédient. | $Ingredient.RecipeFamily1.RecipeGroup1.Ingredient1.Value
$Local | Pour accéder à une propriété de variable locale. | $Local.Var1.Value
$GraphicObject | Pour accéder à une propriété d'un objet graphique. | $GraphicObject.NumericDisplay1.CurrentValue
$Screen | Pour accéder à une propriété d'écran, ou pour accéder à une propriété d'un élément sur un écran spécifique. Utilisez cet identifiant pour éviter tout conflit potentiel entre les noms des écrans/contenus et des objets. | $Screen.Screen1
$Device | Pour accéder à la propriété d'un pilote ou d'un équipement. | $Device.Driver1.Equipment1.OnScanMode
$Target | Pour accéder à une propriété cible. | $Target.Preferences.ColorSetID
$Math | Pour accéder aux opérations mathématiques. | $Math.abs(-100)
$Enums | Pour accéder aux opérations et aux valeurs que vous pouvez spécifier avec les scripts, comme les opérations sur les fichiers et les formats de données. | $Enums.FileOperation.CopyPaste $Enums.DataFormat.Float

En référençant des objets et des variables dans un script, vous pouvez travailler avec les propriétés d'un objet ou d'une variable. Par exemple, 'Var1.Quality', '$GraphicObject.Ellipse1.Thickness'.

Lorsque vous tapez le nom d'un objet graphique, d'une variable, d'un groupe d'alarmes, d'un groupe d'utilisateurs, d'un groupe de journalisation ou d'une recette dans un script, le nom est mis en surbrillance.

#### Changement du mode de script

Dans l'éditeur de script, vous pouvez utiliser le mode [Bloc] ou le mode [Texte]. Vous ne pouvez pas modifier les scripts dans les deux modes en même temps.

Le mode par défaut est le mode [Bloc].

Pour modifier le mode script, allez dans [Projet] ➞ [Paramètres], puis dans la fenêtre [Propriétés] ➞ [Basique] ➞ [Script] ➞ [Mode script], et sélectionnez soit [Bloc], soit [Texte].

Remarque : Vous ne pouvez pas changer le mode script si l'un des scripts est invalide. Toutefois, vous pouvez modifier le mode script même s'il y a une erreur de données.

## Utiliser des scripts en mode texte

### Ajout de fonctions

Lorsque vous travaillez avec des scripts en mode texte, la bibliothèque d'objets répertorie les déclencheurs, les opérations, la logique et les expressions. Double-cliquez sur un déclencheur et une nouvelle section de script est créée dans l'éditeur de script avec le code par défaut pour le déclencheur sélectionné.

Vous pouvez également ajouter des fonctions en utilisant les méthodes suivantes.
Vous pouvez ajouter un déclencheur à partir de la barre d'outils.

- Pour modifier un tout nouveau script vide en mode texte, ajoutez [Vide] dans la barre d'outils ou utilisez le raccourci clavier Ctrl+Maj+N.

- Pour créer un script qui est déclenché par un objet sur un écran, ouvrez l'écran, sélectionnez l'objet et la fenêtre [Événements] répertorie les déclencheurs disponibles pour l'objet. Cliquez sur [+] pour ajouter le déclencheur associé dans une nouvelle section de script.

### Ajout de la source et de la cible

- En mode Texte, l'éditeur de script est équipé d'Intellisense. Au fur et à mesure que vous tapez dans l'éditeur de script, les options de correspondance disponibles s'affichent, qu'il s'agisse d'un mot-clé de script, d'un nom d'objet ou d'un nom de fonction. Sélectionnez l'élément souhaité pour insérer le mot-clé, le nom de l'objet ou la fonction.
  Après avoir tapé un nom d'objet et un point (.), les propriétés disponibles de l'objet apparaissent. Sélectionnez la propriété souhaitée pour l'insérer dans le script.

- En mode texte, vous pouvez également créer des variables locales et globales à la volée. Les autres objets ne peuvent pas être créés dans un script.

1. Lorsqu'une variable non définie est utilisée dans un script, passez le curseur de la souris sur la variable.

   Remarque : Lorsque vous créez une variable locale, ajoutez le préfixe « $Local » au nom de la variable.

2. Cliquez sur l'icône et dans le menu contextuel, sélectionnez [Créer une variable] ou [Créer une variable locale].

3. Dans le sous-menu, sélectionnez le type de données de la variable pour créer la variable spécifiée.

### Bibliothèque d'objets

- Dans la bibliothèque d'objets, cliquez sur </> pour voir la syntaxe du script associé.

### Commentaires

En mode texte, vous pouvez ajouter des commentaires aux scripts avec des doubles barres obliques "//" et vous pouvez ajouter des commentaires de plusieurs lignes entre "//*" et "*//". Vous pouvez ajouter des commentaires à la fin d'une instruction ou sur sa propre ligne.

Remarque :

- Lorsque le mode [Mode script] passe du mode [Bloc] au mode [Texte], les blocs de commentaires sont convertis en commentaires "//".

- Lorsque vous fait passer le [Mode Script] du mode [Texte] au mode [Bloc] :

- Les commentaires "//" et "//*" "*//" au niveau du déclencheur sont convertis en blocs de commentaires.

- Les autres instructions "//" ou "/*" "*/" situées en dehors du niveau du déclencheur ne sont pas converties car le mode Bloc prend en charge les blocs [Commentaire] dans les déclencheurs uniquement.

### Rechercher et remplacer

- Rechercher : utilisez le raccourci clavier Ctrl+F pour afficher la commande de recherche en haut à droite de l'éditeur de script en mode texte. Dans le champ, tapez le texte à rechercher. Cliquez sur la flèche Bas ou Haut pour trouver la correspondance suivante ou précédente. Sélectionnez l'icône ou pour trouver la casse ou le mot entier correspondant.

- Remplacer : Utilisez le raccourci clavier Ctrl+H pour afficher la commande Rechercher et remplacer dans le coin supérieur droit de l'éditeur de script en mode texte. Dans les champs, tapez le texte à rechercher et le texte de remplacement. Cliquez sur la flèche Bas ou Haut pour trouver la correspondance suivante ou précédente. Sélectionnez l'icône ou pour trouver la casse ou le mot entier correspondant. Cliquez sur l'icône Remplacer pour remplacer la correspondance actuelle. Cliquez sur l'icône Remplacer tout pour remplacer toutes les instances du texte correspondant.

Le tableau suivant répertorie les touches de raccourci pour les opérations Rechercher et remplacer.

Icône de raccourci | Touches de raccourci | Description
– | Ctrl+F | Trouver
– | Ctrl+H | Rechercher et remplacer
| F3 | Suivant
| Maj+F3 | Précédent
| Alt+R | Remplacer
| Alt+A | Remplacer tout
| Alt+C | Respecter la casse
| Alt+W | Mot entier

Vous pouvez basculer entre les fonctions Rechercher et remplacer, soit en saisissant les touches de raccourci, soit en cliquant sur l'icône (haut) ou (bas) à gauche du champ [Rechercher].

## Restrictions

#### Mode script

- Vous ne pouvez pas modifier le mode script (du mode Bloc au mode Texte ou du mode Texte au mode Bloc) si l'un des scripts n'est pas valide. Toutefois, une erreur de données ne vous empêchera pas de modifier le mode script.

- Les scripts en mode Bloc ne prennent en charge les commentaires que dans le bloc Commentaire d'un bloc Déclencheur. Par conséquent, en mode Texte, les commentaires ajoutés à toute zone du script autre que le déclencheur ne sont pas enregistrés lorsque vous passez du mode [Mode script] au mode [Bloc].

#### Noms

- Si un objet est supprimé ou renommé dans le projet, les références à cet objet dans les scripts apparaissent comme une erreur non définie.