DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Fonctions standard / Fonctions de gestion des files, piles, listes et tableaux / Fonctions Tableau
  • Procédure WLangage de comparaison
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Recherche un élément dans un tableau WLangage à une dimension en utilisant une procédure de comparaison.
Remarque : Cette fonction est équivalente à la fonction ChercheParProcédure.
Exemple
// Création d'un tableau de références
tabRéférence est un tableau de chaînes
// Recherche d'une référence connue par ses 6 premiers caractères
nIndice est un entier
nIndice = TableauChercheParProcédure(tabRéférence, ProcCompareRéférenceCourte, ...
tcLinéaire, 0, "123456")
 
// Procédure ProcCompareRéférenceCourte
PROCÉDURE INTERNE ProcCompareRéférenceCourte(ElémentRecherché, Recherche)
// On compare les 6 premiers caractères des éléments du tableau
// avec la référence cherchée
RENVOYER ChaîneCompare(Gauche(ElémentRecherché, 6), Recherche)
FIN
Syntaxe
<Résultat> = TableauChercheParProcédure(<Tableau WLangage> , <Procédure WLangage> , <Type de recherche> [, <Indice de départ> [, <Valeur recherchée 1> [... [, <Valeur recherchée N>]]]])
<Résultat> : Entier
Indice de l'élément trouvé dans le tableau.
<Tableau WLangage> : Tableau
Nom de la variable de type Tableau dans laquelle la recherche doit être effectuée. Ce tableau doit être un tableau à une dimension.
<Procédure WLangage> : Nom de procédure
Procédure WLangage de comparaison. Pour plus de détails, consultez les remarques.
<Type de recherche> : Constante de type Entier
Type de recherche à effectuer :
tcDichotomiqueRecherche dichotomique.
Ce mode de recherche est rapide mais il doit être utilisé sur un tableau trié par ordre croissant avec la même procédure de comparaison ou une procédure équivalente (voir fonction TableauTrie).
tcLinéaireRecherche linéaire. La recherche démarre :
  • soit à partir du premier élément, si le paramètre <Indice de départ> vaut 0,
  • soit à partir de l'<Indice de départ>.
La recherche s'arrête au premier élément trouvé.
tcLinéaireDernierRecherche linéaire à partir du dernier élément. Cette constante ne doit pas être utilisée si le paramètre <Indice de départ> est précisé.
tcLinéairePrécédentRecherche linéaire de l'élément précédent. Cette recherche est effectuée à partir de la position en cours ou de la valeur du paramètre <Indice de départ>.
tcLinéairePremierRecherche linéaire à partir du premier élément. Lorsque cette constante est utilisée, le paramètre <Indice de départ> n'est pas pris en compte.
tcLinéaireSuivantRecherche linéaire de l'élément suivant. Cette recherche est effectuée à partir de la position en cours (si le paramètre <Indice de départ> vaut 0) ou de la valeur du paramètre <Indice de départ>.
<Indice de départ> : Entier optionnel
Position de départ de la recherche (uniquement pour une recherche linéaire). Pour la recherche dichotomique, ce paramètre n'est pas nécessaire.
<Valeur recherchée 1> : Tout type
Valeur de l'élément recherché.
<Valeur recherchée N> : Tout type
Valeur de l'élément recherché.
Remarques

Procédure WLangage de comparaison

Cette procédure de comparaison est de la forme :
PROCEDURE <Nom Procédure>(<Elément> , <Valeur recherchée 1> [, ... , [<Valeur recherchée N>]])
Cette procédure est appelée autant de fois que nécessaire.
Le premier paramètre de la procédure correspond à l'élément du tableau à comparer.
Les paramètres suivants sont les valeurs de recherche passées en paramètre à la fonction TableauChercheParProcédure.
La procédure de comparaison doit renvoyer les valeurs suivantes :
  • Si l'élément du tableau est trop petit par rapport aux valeurs de recherche, la procédure doit renvoyer -1.
  • Si l'élément du tableau est trop grand par rapport aux valeurs de recherche, la procédure doit renvoyer 1.
  • Si l'élément du tableau correspond aux valeurs de recherche, la procédure doit renvoyer 0.
Attention : dans le cas de la recherche dichotomique, la procédure de comparaison doit renvoyer les valeurs suivantes :
  • Si l'élément du tableau est trop petit par rapport aux valeurs de recherche, la procédure doit renvoyer 1.
  • Si l'élément du tableau est trop grand par rapport aux valeurs de recherche, la procédure doit renvoyer -1.
  • Si l'élément du tableau correspond aux valeurs de recherche, la procédure doit renvoyer 0.
Classification Métier / UI : Code neutre
Composante : wd290vm.dll
Version minimum requise
  • Version 17
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 16/02/2023

Signaler une erreur ou faire une suggestion | Aide en ligne locale