uni permet de vérifier s'il y a des valeurs dupliquées dans une série de variables ou d'expressions numériques, alphanumériques ou dates.
uni( liste_exprg )
Elément | Description | Remarques |
liste_exprg | Liste d'expressions_généralisées séparées par le caractère ','. | Les expressions doivent être du même type. |
# Y a-t-il des valeurs dupliquées ? Ce programme affiche 3
Infbox num$( uni(24, 15, 24, 1, 2, 3, 4, 5))
# Saisie d'un tableau déroulant dans lequel la première colonne ne
# doit pas contenir de valeurs dupliquées; la variable de bas de
# tableau est VARBAS
I = uni([M]COLONNE1(0..[M]VARBAS-1)) :# Valeur dupliquée?
If I <> 0
Errbox "Valeur dupliquée !"
Endif
uni permet de vérifier s'il y a ou non des valeurs identiques dans une série de variables numériques, alphabétiques ou dates. uni renvoie le rang de la 1ère valeur égale à une variable précédente dans la liste, c'est-à-dire :
- si la 1ère et la 2ème sont identiques, uni renvoie 2
- si la 1ère et la 3ème (ou la 2ème et la 3ème) sont identiques, uni renvoie 3.
...
- si aucune valeur n'est dupliquée, uni renvoie 0.
Pour un "uni" numérique, on peut mêler des variables libellés, des décimaux, des entiers, des flottants et des double précision.
Si l'un des arguments de la fonction est une variable dimensionnée sans précision d'indice ou d'intervalle d'indices, tous les éléments de la variable sont utilisés. La précision d'un indice ou d'un intervalle d'indice détermine les éléments à prendre en compte.
Si l'on donne un intervalle d'indices tel qu'il n'y a aucun élément, par exemple uni(VALEURS(1..0)), le résultat renvoyé est 0.
Quels que soient les arguments, uni renvoie un entier. Il est à noter que la fonction uni ne renvoie jamais 1.