|
|
|
|
|
TableauCherche (Fonction) En anglais : ArraySeek Cherche l'indice d'un élément dans un tableau WLangage. Il est possible d'effectuer les recherches suivantes : - Recherche d'un élément dans un tableau d'éléments simples à une dimension.
- Recherche d'un élément dans un tableau d'éléments simples à 2 dimensions selon une colonne.
- Recherche d'un élément dans un tableau d'éléments simples à 2 dimensions selon plusieurs colonnes.
- Recherche d'un élément dans un tableau de structures ou de classes à une dimension.
- Recherche d'un élément dans un tableau d'enregistrements.
- Recherche d'un objet dans un tableau.
Remarques : - Cette fonction est équivalente à la fonction Cherche.
tabMonTableau est un tableau de 0 chaîne // Remplir le tableau TableauAjoute(tabMonTableau, "WINDEV") TableauAjoute(tabMonTableau, "WEBDEV") TableauAjoute(tabMonTableau, "WINDEV et WEBDEV") // Chercher "WINDEV" ResIndice est un entier ResIndice = TableauCherche(tabMonTableau, tcLinéairePremier, "WINDEV") Info("La chaîne WINDEV est à l'indice : " + ResIndice) // Retourne : "La chaîne WINDEV est à l'indice : 1" Syntaxe
Recherche d'un élément dans un tableau d'éléments simples à 1 dimension Masquer les détails
<Résultat> = TableauCherche(<Tableau WLangage> , <Type de recherche> , <Valeur recherchée> [, <Indice de départ>])
<Résultat> : Entier - Indice de l'élément recherché,
- -1 si l'élément n'est pas trouvé dans le tableau.
<Tableau WLangage> : Tableau Nom de la variable de type Tableau à manipuler. Ce tableau doit être un tableau à une dimension. Ce tableau peut également correspondre à un tableau à une dimension associé à une propriété d'une variable de type avancé. <Type de recherche> : Constante de type entier Type de recherche à effectuer : | | tcDichotomique | Recherche dichotomique. Ce mode de recherche est rapide mais il doit être utilisé sur un tableau trié par ordre croissant, sans doublons. Les options de recherche (ordre lexicographique, sans ponctuation, ...) doivent être exactement les mêmes pour la recherche (fonction TableauCherche) et pour le tri (fonction TableauTrie). | tcLinéaire | Recherche linéaire. La recherche démarre :- soit à partir du premier élément.
- soit à partir de la valeur du paramètre <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 ou de la valeur du paramètre <Indice de départ>. |
Le type de recherche peut être combiné avec une ou plusieurs options de recherche :
| | tccOrdreLexicographique | Tableau trié selon l'ordre linguistique. Cette option est utile uniquement pour une recherche dichotomique et n'a aucun effet sur une recherche linéaire. Cette option est utilisable uniquement sur les tableaux de chaînes de caractères.
| tccRespecteNumérique | Tableau trié en respectant l'ordre des valeurs numériques. Cette option est utile uniquement pour une recherche dichotomique et n'a aucun effet sur une recherche linéaire. Cette option est utilisable uniquement sur les tableaux de chaînes de caractères.
| tccSansAccent | Recherche sans tenir compte des accents. Cette option est utilisable uniquement sur les tableaux de chaînes de caractères.
| tccSansCasse | Recherche sans tenir compte de la casse. Cette option est utilisable uniquement sur les tableaux de chaînes de caractères. | tccSansEspace | Recherche sans tenir compte des espaces au début et à la fin des chaînes. Cette option est utilisable uniquement sur les tableaux de chaînes de caractères. | tccSansEspaceIntérieur | Recherche sans tenir compte des espaces à l'intérieur des chaînes. Cette option est utilisable uniquement sur les tableaux de chaînes de caractères. | tccSansPonctuationNiEspace | Recherche sans tenir compte des espaces et des ponctuations. Cette option est utilisable uniquement sur les tableaux de chaînes de caractères.
|
Dans le cas d'une recherche dichotomique, il est indispensable que les options de recherche soient exactement les mêmes que les options qui ont permis de trier le tableau (voir fonction TableauTrie). <Valeur recherchée> : Tout type Valeur de l'élément dont l'indice est recherché. <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.
Recherche d'un élément dans un tableau d'éléments simples à 2 dimensions selon une colonne Masquer les détails
<Résultat> = TableauCherche(<Tableau WLangage> , <Type de recherche> , <Colonne> , <Valeur recherchée> [, <Indice de départ>])
<Résultat> : Entier - Indice de l'élément recherché,
- -1 si l'élément n'est pas trouvé dans le tableau.
<Tableau WLangage> : Tableau Nom de la variable de type Tableau à manipuler. Ce tableau doit être un tableau à 2 dimensions.Ce tableau peut également correspondre à un tableau à deux dimensions associé à une propriété d'une variable de type avancé (par exemple tri d'une variable de type xlsDocument selon les valeurs d'une colonne). <Type de recherche> : Constante de type entier Recherche à effectuer : | | tcDichotomique | Recherche dichotomique. Ce mode de recherche est rapide mais il doit être utilisé sur un tableau trié par ordre croissant, sans doublons et en utilisant exactement les mêmes options de recherche que celles utilisées pour le tri (fonction TableauTrie). | tcLinéaire | Recherche linéaire. La recherche démarre :- soit à partir du premier élément.
- soit à partir de la valeur du paramètre <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. Cette constante ne doit pas être utilisée si le paramètre <Indice de départ> est précisé. | tcLinéaireSuivant | Recherche linéaire de l'élément suivant. Cette recherche est effectuée à partir de la position en cours ou de la valeur du paramètre <Indice de départ>. |
Le type de recherche peut être combiné avec une ou plusieurs options de recherche : | | tccOrdreLexicographique | Tableau trié selon l'ordre linguistique. Cette option est utile uniquement pour une recherche dichotomique et n'a aucun effet sur une recherche linéaire. Cette option est utilisable uniquement sur les tableaux de chaînes de caractères.
| tccRespecteNumérique | Tableau trié en respectant l'ordre des valeurs numériques. Cette option est utile uniquement pour une recherche dichotomique et n'a aucun effet sur une recherche linéaire. Cette option est utilisable uniquement sur les tableaux de chaînes de caractères.
| tccSansAccent | Recherche sans tenir compte des accents. Cette option est utilisable uniquement sur les tableaux de chaînes de caractères.
| tccSansCasse | Recherche sans tenir compte de la casse. Cette option est utilisable uniquement sur les tableaux de chaînes de caractères. | tccSansEspace | Recherche sans tenir compte des espaces au début et à la fin des chaînes. Cette option est utilisable uniquement sur les tableaux de chaînes de caractères. | tccSansEspaceIntérieur | Recherche sans tenir compte des espaces à l'intérieur des chaînes. Cette option est utilisable uniquement sur les tableaux de chaînes de caractères. | tccSansPonctuationNiEspace | Recherche sans tenir compte des espaces et des ponctuations. Cette option est utilisable uniquement sur les tableaux de chaînes de caractères.
|
Dans le cas d'une recherche dichotomique, il est indispensable que les options de recherche soient exactement les mêmes que les options qui ont permis de trier le tableau (voir fonction TableauTrie). <Colonne> : Entier ou chaîne de caractères - Tableau simple : Indice de la colonne où la recherche doit être effectuée.
- Tableau de type avancé : Propriété pour laquelle la recherche doit être effectuée. Il est également possible d'utiliser des propriétés chaînées (par exemple "Cadre.Couleur").
<Valeur recherchée> : Tout type Valeur de l'élément dont l'indice / la propriété est recherché. <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.
Recherche d'un élément dans un tableau d'éléments simples à 2 dimensions selon plusieurs colonnes Masquer les détails
<Résultat> = TableauCherche(<Tableau WLangage> , <Type de recherche> , <Colonnes> , <Valeur recherchée 1> [, <Valeur recherchée 2> [... [, <Valeur recherchée N>]]] [, <Indice de départ>])
<Résultat> : Entier - Indice de l'élément recherché,
- -1 si l'élément n'est pas trouvé dans le tableau.
<Tableau WLangage> : Tableau Nom de la variable de type Tableau à manipuler. Ce tableau doit être un tableau à 2 dimensions.
Ce tableau peut également correspondre à un tableau à deux dimensions d'un type avancé (par exemple tri d'une variable de type xlsDocument selon les valeurs d'une ou de plusieurs colonnes). <Type de recherche> : Constante de type entier Recherche à effectuer. La recherche dichotomique n'est pas disponible. | | tcLinéaire | Recherche linéaire. La recherche démarre :- soit à partir du premier élément.
- soit à partir de la valeur du paramètre <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. Cette constante ne doit pas être utilisée si le paramètre <Indice de départ> est précisé. | tcLinéaireSuivant | Recherche linéaire de l'élément suivant. Cette recherche est effectuée à partir de la position en cours ou de la valeur du paramètre <Indice de départ>. | Le type de recherche peut être combiné avec une ou plusieurs options de recherche : | | tccOrdreLexicographique | Tableau trié selon l'ordre linguistique. Cette option est utile uniquement pour une recherche dichotomique et n'a aucun effet sur une recherche linéaire. Cette option s'applique à toutes les colonnes sur lesquelles la recherche est effectuée. Cette option est utile uniquement sur les tableaux de chaînes de caractères.
| tccRespecteNumérique | Tableau trié en respectant l'ordre des valeurs numériques. Cette option est utile uniquement pour une recherche dichotomique et n'a aucun effet sur une recherche linéaire. Cette option s'applique à toutes les colonnes sur lesquelles la recherche est effectuée. Cette option est utile uniquement sur les tableaux de chaînes de caractères.
| tccSansAccent | Recherche sans tenir compte des accents. Cette option s'applique à toutes les colonnes sur lesquelles la recherche est effectuée. Cette option est utile uniquement sur les tableaux de chaînes de caractères.
| tccSansCasse | Recherche sans tenir compte de la casse. Cette option s'applique à toutes les colonnes sur lesquelles la recherche est effectuée. Cette option est utile uniquement sur les tableaux de chaînes de caractères. | tccSansEspace | Recherche sans tenir compte des espaces au début et à la fin des chaînes. Cette option s'applique à toutes les colonnes sur lesquelles la recherche est effectuée. Cette option est utile uniquement sur les tableaux de chaînes de caractères. | tccSansEspaceIntérieur | Recherche sans tenir compte des espaces à l'intérieur des chaînes. Cette option s'applique à toutes les colonnes sur lesquelles la recherche est effectuée. Cette option est utile uniquement sur les tableaux de chaînes de caractères. | tccSansPonctuationNiEspace | Recherche sans tenir compte des espaces et des ponctuations. Cette option s'applique à toutes les colonnes sur lesquelles la recherche est effectuée. Cette option est utile uniquement sur les tableaux de chaînes de caractères.
|
Dans le cas d'une recherche dichotomique, il est indispensable que les options de recherche soient exactement les mêmes que les options qui ont permis de trier le tableau (voir fonction TableauTrie). <Colonnes> : Chaîne de caractères - Tableau simple : Liste des colonnes dans lesquelles la recherche doit être effectuée. Les différentes colonnes doivent être séparées par un point virgule. Exemple : "2;3" pour faire une recherche sur les colonnes 2 et 3.
- Tableau de type avancé : Liste des propriétés dans lesquelles la recherche doit être effectuée. Les différentes propriétés doivent être séparées par un point virgule.
<Valeur recherchée 1> : Tout type Valeur de l'élément dont l'indice / la propriété est recherché. Il est nécessaire d'indiquer une valeur pour chaque colonne / propriété spécifiée dans le paramètre <Colonnes>. <Valeur recherchée 2> : Tout type optionnel Valeur de l'élément dont l'indice / la propriété est recherché. Il est nécessaire d'indiquer une valeur pour chaque colonne / propriété spécifiée dans le paramètre <Colonnes>. <Valeur recherchée N> : Tout type optionnel Valeur de l'élément dont l'indice / la propriété est recherché. Il est nécessaire d'indiquer une valeur pour chaque colonne / propriété spécifiée dans le paramètre <Colonnes>. <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.
Recherche d'un élément dans un tableau de structures, de classes, de types avancés à 1 dimension ou d'enregistrements. Masquer les détails
<Résultat> = TableauCherche(<Tableau WLangage> , <Type de recherche> , <Membres recherchés> [, <Valeur recherchée 1> [, <Valeur recherchée 2> [... [, <Valeur recherchée N>]]]] [, <Indice de départ>])
<Résultat> : Entier - Indice de l'élément recherché,
- -1 si l'élément n'est pas trouvé dans le tableau.
<Tableau WLangage> : Tableau Nom de la variable de type Tableau à manipuler. Ce tableau doit être un tableau à une dimension. Ce tableau peut être : - un tableau de classes,
- un tableau de structures,
- un tableau de types avancés,
- un tableau d'enregistrements.
<Type de recherche> : Constante de type entier Type de recherche à effectuer :
| | tcDichotomique | Recherche dichotomique. Ce mode de recherche est rapide mais il doit être utilisé sur un tableau trié par ordre croissant, sans doublons et en utilisant exactement les mêmes options de recherche que celles utilisées pour le tri (fonction TableauTrie). Ce mode de recherche peut être utilisé uniquement lors d'une recherche sur un seul membre. | tcLinéaire | Recherche linéaire. La recherche démarre :- soit à partir du premier élément.
- soit à partir de la valeur du paramètre <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. Cette constante ne doit pas être utilisée si le paramètre <Indice de départ> est précisé. | tcLinéaireSuivant | Recherche linéaire de l'élément suivant. Cette recherche est effectuée à partir de la position en cours ou de la valeur du paramètre <Indice de départ>. |
Le type de recherche peut être combiné avec une ou plusieurs options de recherche : | | tccOrdreLexicographique | Tableau trié selon l'ordre linguistique. Cette option est utile uniquement pour une recherche dichotomique et n'a aucun effet sur une recherche linéaire. Cette option s'applique à tous les membres sur lesquels la recherche est effectuée. Cette option est utile uniquement sur les membres de type chaîne de caractères.
| tccRespecteNumérique | Tableau trié en respectant l'ordre des valeurs numériques. Cette option est utile uniquement pour une recherche dichotomique et n'a aucun effet sur une recherche linéaire. Cette option s'applique à tous les membres sur lesquels la recherche est effectuée. Cette option est utile uniquement sur les membres de type chaîne de caractères.
| tccSansAccent | Recherche sans tenir compte des accents. Cette option s'applique à tous les membres sur lesquels la recherche est effectuée. Cette option est utile uniquement sur les membres de type chaîne de caractères.
| tccSansCasse | Recherche sans tenir compte de la casse. Cette option s'applique à tous les membres sur lesquels la recherche est effectuée. Cette option est utile uniquement sur les membres de type chaîne de caractères. | tccSansEspace | Recherche sans tenir compte des espaces au début et à la fin des chaînes. Cette option s'applique à tous les membres sur lesquels la recherche est effectuée. Cette option est utile uniquement sur les membres de type chaîne de caractères. | tccSansEspaceIntérieur | Recherche sans tenir compte des espaces à l'intérieur des chaînes. Cette option s'applique à tous les membres sur lesquels la recherche est effectuée. Cette option est utile uniquement sur les membres de type chaîne de caractères. | tccSansPonctuationNiEspace | Recherche sans tenir compte des espaces et des ponctuations. Cette option s'applique à tous les membres sur lesquels la recherche est effectuée. Cette option est utile uniquement sur les membres de type chaîne de caractères.
|
Dans le cas d'une recherche dichotomique, il est indispensable que les options de recherche soient exactement les mêmes que les options qui ont permis de trier le tableau (voir fonction TableauTrie). <Membres recherchés> : Chaîne de caractères - Structures et classes : Nom des membres recherchés. Si plusieurs membres sont recherchés, leurs noms doivent être séparés par des points-virgules. Il est également possible de chaîner les membres à rechercher (en utilisant "." ou ":" entre les membres). Dans une classe, il est également possible d'effectuer une recherche sur les propriétés de la classe.
- Types avancés : Nom des propriétés recherchées. Si plusieurs propriétés sont recherchées, leurs noms doivent être séparés par des points-virgules. Il est également possible de chaîner les propriétés à rechercher (en utilisant "." ou ":" entre les propriétés). Par exemple "Cadre.Couleur".
- Enregistrements : Nom des rubriques recherchées. Si plusieurs rubriques sont recherchées, leurs noms doivent être séparés par des points-virgules. Il est également possible de chaîner les rubriques à rechercher (en utilisant "." ou ":" entre les propriétés).
<Valeur recherchée 1> : Tout type Valeur de l'élément dont le membre ou la propriété est recherché. Il est nécessaire d'indiquer une valeur pour chaque membre spécifié dans le paramètre <Membres recherchés>. <Valeur recherchée 2> : Tout type optionnel Valeur de l'élément dont le membre ou la propriété est recherché. Il est nécessaire d'indiquer une valeur pour chaque membre spécifié dans le paramètre <Membres recherchés>. <Valeur recherchée N> : Tout type optionnel Valeur de l'élément dont le membre ou la propriété est recherché. Il est nécessaire d'indiquer une valeur pour chaque membre spécifié dans le paramètre <Membres recherchés>. <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.
Recherche de l'indice d'un objet dans un tableau à une dimension (syntaxe pour le data binding) Masquer les détails
<Résultat> = TableauCherche(<Tableau WLangage> , <Type de recherche> , <Objet recherché>)
<Résultat> : Entier - Indice de l'objet recherché,
- -1 si l'objet n'est pas trouvé dans le tableau.
<Tableau WLangage> : Tableau Nom de la variable de type Tableau à manipuler. Ce tableau doit être un tableau à une dimension. Ce tableau peut être un tableau de classes, de classes dynamiques, de structures, de structures dynamiques, de types avancés, de types avancés dynamiques. <Type de recherche> : Constante de type entier Type de recherche à effectuer :
| | tcLinéaire | Recherche linéaire. |
<Objet recherché> : Tout type Instance de l'objet recherché. Remarques Cas particuliers - Cette fonction ne peut pas être utilisée sur les tableaux fixes.
- Cette fonction est utilisable sur les tableaux des variables de type avancé.
- Cette fonction ne peut pas être utilisée sur les tableaux d'objets de type "Objet dynamique". Il est nécessaire de typer les objets.
- Cette fonction doit être utilisée sur des tableaux d'objets typés.
- Par exemple, il n'est pas possible de faire une recherche sur le tableau suivant :
t est un tableau de 2 objets dynamiques - Par contre, il est possible de faire une recherche sur le tableau suivant :
t est un tableau de 2 MaClass
t est un tableau de 2 MaClass dynamique
- Il n'est pas possible d'effectuer des recherches sur un tableau de variants.
- Si le type de la recherche est dichotomique et que le tableau n'est pas trié, aucune erreur WLangage ne sera affichée mais le résultat de la recherche sera indéterminé.
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|