Fonction de script : Recherche un tableau de script et retourne l'index correspondant.
FIND(script array, search key, [start position])
Syntaxe |
Description / format |
---|---|
Tableau de script |
Nom du tableau de script dans lequel effectuer la recherche. |
Terme de recherche | Chaîne de caractères ou nombre sur lesquels porte la recherche. Format : littéral de chaîne, nombre sans guillemets, variable de script |
Position de départ | Index à partir duquel la recherche doit commencer. Format : nombre sans guillemets, variable de script |
Codes retour |
---|
Index du tableau dans lequel le terme de recherche a été trouvé. |
La recherche d'un terme de recherche est réalisée pour toutes les valeurs de tableau de script à partir de l'index position de départ. Si aucune position de départ n'est indiquée, la recherche s'effectue sur l'ensemble du tableau (à partir de l'index 1). Si la recherche a réussi, l'index de tableau dans lequel le texte ou le nombre a été trouvé en premier est retourné. Pour poursuivre la recherche dans le reste du tableau, il faut utiliser l'index suivant du résultat précédent comme position de départ. Si la recherche ne donne aucun résultat, le code retour de la fonction de script est 0.
Le tableau de script doit être indiqué avec des crochets vides [].
Les tableaux de script doivent être créés avec :DEFINE, qui permet aussi de déterminer le type de données et la taille. Les champs du tableau auxquels aucune valeur spécifique n'a encore été attribuée possèdent la valeur par défaut "" (type de données : chaîne) ou 0 (types de données numériques). La recherche avec FIND n'est donc judicieuse que lorsque le tableau a aussi été rempli en conséquence. Les éléments de tableau peuvent être définis individuellement en saisissant l'index :SET. L'instruction de script :FILL permet d'enregistrer plusieurs valeurs différentes simultanément dans un tableau.
L'exemple montre la création et l'initialisation d'un tableau avec les valeurs issues d'un objet Variable. Ensuite, une recherche sur WIN s'effectue dans tout le tableau et tous les résultats s'inscrivent dans le protocole d'activation.
:DEFINE &array#, string, 5
:FILL &array#[] = GET_VAR(VARA.WIN, AGENTS)
:SET &search# = FIND(&array#[], "WIN", 1)
:WHILE &search# <> 0
:PRINT "WIN found at position &search#"
:SET &search# = &search# + 1
:SET &search# = FIND(&array#[], "WIN", &search#)
:ENDWHILE
Rubriques connexes :
Elément de script | Description |
---|---|
Enregistre plusieurs valeurs dans un tableau de script. |
|
LENGTH | Récupère la taille d'un tableau de script. |
Eléments de script - Données d'activation
Généralités sur les scripts
Eléments de script - Liste alphabétique
Eléments de script - Répartition fonctionnelle