|
|
|
|
|
- Procédure WLangage de comparaison
<Tableau>.ChercheParProcédure (Fonction) En anglais : <Array>.SeekByProcedure Recherche un élément dans un tableau WLangage à une dimension en utilisant une procédure de comparaison.
tabRéférence est un tableau de chaînes
nIndice est un entier
nIndice = tabRéférence.ChercheParProcédure(ProcCompareRéférenceCourte, ...
tcLinéaire, 0, "123456")
PROCÉDURE INTERNE ProcCompareRéférenceCourte(ElémentRecherché, Recherche)
RENVOYER ChaîneCompare(Gauche(ElémentRecherché, 6), Recherche)
FIN
Syntaxe
<Résultat> = <Tableau WLangage>.ChercheParProcédure(<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 :
| | tcDichotomique | Recherche dichotomique décroissante. 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 <Tableau>.Trie). | tcDichotomiqueConforme | Recherche dichotomique croissante. 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 <Tableau>.Trie). | tcLinéaire | Recherche 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éaireDernier | Recherche 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édent | Recherche 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éairePremier | Recherche 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éaireSuivant | Recherche 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 <Tableau>.ChercheParProcé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.
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|