DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Champs, pages et fenêtres / Fonctions de manipulation des chaînes graphiques
  • Place de gLien
  • Valeur ajoutée
  • Sensibilité à la casse
  • Combos auto-alimentées
  • Élément récupéré
  • Champ Planning
  • Cas particulier : Champ Combo ou Combo dans un champ Table
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
Avertissement
A partir de la version 27, cette fonction est conservée par compatibilité. Il est conseillé d'utiliser la fonction gValeurMémorisée.
Ajoute une valeur "invisible" dans un élément d'un champ Liste, Combo ou Planning. Cette valeur sera la valeur mémorisée lorsque l'utilisateur sélectionnera l'élément du champ.
Remarques :
  • Pour connaître la valeur mémorisée associée à un élément du champ, utilisez la propriété ValeurMémorisée.
  • Pour que la récupération de la valeur définie par la fonction gLien soit active :
    • soit utilisez la fonction gLienActive.
    • AndroidWidget Android soit cochez l'option "Retourne la valeur spécifiée avec la fonction gValeurMémorisée" (onglet "Détail" de la description du champ).
    Dans ce cas, le champ renverra directement la valeur de gLien correspondant à l'option sélectionnée.
Exemple
// Code du champ Bouton permettant de remplir le champ Combo
// ----------------------------------------------
// La combo "COMBO_Civilité" affiche les titres de civilité :
// "Monsieur", "Madame" et "Mademoiselle".
// Un entier représentant une civilité sera retourné au langage.
ListeAjoute(COMBO_Civilité, "Monsieur" + gLien("1"))
// Seule la chaîne de caractères "1" est retournée au langage.
// Cette chaîne de caractères retournée n'est pas affichée dans le champ Combo.
// Code du champ Bouton permettant de connaître la valeur de gLien
// -----------------------------------------------------------
// Code permettant d'obtenir la valeur du gLien de l'option sélectionnée 
Info(COMBO_Civilité[COMBO_Civilité].ValeurMémorisée)
// Affiche "1" dans notre exemple.
Syntaxe
<Résultat> = gLien(<Chaîne à retourner>)
<Résultat> : Chaîne de caractères
Chaîne de contrôle à utiliser dans les fonctions ListeAjoute, ListeInsère ou ListeModifie.
<Chaîne à retourner> : Chaîne de caractères
Valeur texte à retourner. Seule cette chaîne sera retournée au langage. Cette chaîne ne sera pas affichée dans la ligne.
Remarques

Place de gLien

La fonction gLien peut être appelée à n'importe quelle place dans la ligne à ajouter.
Par exemple :
ListeAjoute(COMBO_COMBO1, gLien("1") + "Monsieur")
// ou
ListeAjoute(COMBO_COMBO1, "Monsieur" + gLien("1"))

Valeur ajoutée

Lorsqu'une valeur est ajoutée par la fonction gLien, cette valeur n'est prise en compte ni dans le tri, ni pour les lettres d'appel.
Si plusieurs valeurs sont ajoutées dans un élément d'une liste avec gLien, seule la première valeur sera retournée.
ListeAjoute(LISTE_LISTE1, "MonElément" + gLien("Lien1") + gLien("Lien2"))
Dans cet exemple, seule la valeur "Lien1" sera retournée.
La fonction ListeCherche tient compte des valeurs ajoutées par la fonction gLien.

Sensibilité à la casse

La fonction gLien n'est pas sensible à la casse (minuscules/majuscules).
Ainsi le code suivant :
ListeAjoute(LISTE_LISTE1, "MonElément" + gLien("AAA"))
sera équivalent au code :
ListeAjoute(LISTE_LISTE1, "MonElément" + gLien("aaa"))

Combos auto-alimentées

La fonction gLien est utilisée pour gérer les champs de type "Combo auto-alimentée".

Élément récupéré

Lorsqu'un élément est récupéré dans un champ Combo ou Liste, l'ordre de priorité est le suivant :
  1. Valeurs ajoutées par gLien.
  2. Valeurs ajoutées par gARécupérer.
Pour connaître la valeur mémorisée associée à un élément du champ, utilisez la propriété ValeurMémorisée.

Champ Planning

Si les ressources du planning ont été créées avec la fonction PlanningAjouteRessource en utilisant la fonction gLien, le nom de la ressource obtenue par exemple avec la propriété RessourceSélectionnée correspondra à la valeur précisée dans la fonction gLien pour cette ressource.
Exemple :
// Ajoute une ressource (ici une salle de réunion) dans le champ Planning
// Reunion est le fichier de données qui décrit les différentes salles disponibles
PlanningAjouteRessource(PLN_OccupationSalles, Reunion.Nom + gLien(Reunion.IDReunion))

...

// Code de clic sur le bouton BTN_NOUVEAU_RDV
MonRDV est un RendezVous
SI PLN_OccupationSalles.RessourceSélectionnée = "" ALORS
RETOUR
FIN

MonRDV.DateDébut = PLN_OccupationSalles.DateDébut
MonRDV.DateFin = PLN_OccupationSalles.DateFin
MonRDV.Ressource = PLN_OccupationSalles.RessourceSélectionnée
// Le nom de la ressource correspond Ã  la valeur précisée 
// dans la fonction gLien pour cette ressource

Cas particulier : Champ Combo ou Combo dans un champ Table

Si la fonction gLien doit retourner une chaîne vide (""), le résultat obtenu est différent si le champ utilisé est un champ Combo ou une colone de type Combo dans une champ Table.
Ainsi, si le code suivant est utilisé :
ListeAjoute(COMBO, "MonElément" + gLien(""))
la valeur récupérée sera :
  1. une chaîne vide ("") dans le cas d'un champ Combo,
  2. 0 (zéro) dans le cas d'une colonne Combo d'un champ Table.
Pour conserver le même code de récupération de la valeur de gLien pour un champ Combo et une colonne Combo, il est conseillé d'utiliser un champ Combo placé dans une colonne de type conteneur du champ Table.
Composante : wd290obj.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
glien() ne fonctionne pas sous android
Tests effectués avec l'option Détail>>Retourne la valeur spécifiée avec la fonction gLien", puis cette case désactivée, avec la fonction gLienActive(). Le résultat constaté est le même sous android :
La valeur retournée par COMBO_COMBO est celle du texte affiché, pas celle de la fonction glien().
COMBO_COMBO[COMBO_COMBO] renvoie une erreur fatale, en prenant comme indice de ligne la valeur de COMBO_COMBO.
Arbos
10 mar. 2019
[Attention] Exemple non fonctionnel
L'exemple suivant est FAUX :

// La combo "COMBO_Civilité" affiche les titres de civilité :
// "Monsieur", "Madame" et "Mademoiselle".
// Un entier représentant une civilité sera retourné au langage.
ListeAjoute(COMBO_Civilité, "Monsieur" + gLien("1"))
// Seule la chaîne de caractères "1" est retournée au langage.
// Cette chaîne de caractères retournée n'est pas affichée dans la combo.
// Code permettant d'obtenir la valeur du gLien de l'option sélectionnée
Info(COMBO_Civilité[COMBO_Civilité]..ValeurMémorisée)

La ligne "Info(COMBO_Civilité[COMBO_Civilité]..ValeurMémorisée)" ne fonctionne pas et peut renvoyer une erreur car combo_xx[combo_xx] (qui renvoie généralement la ligne selectionnée dans la combo) renvoie ici la valeur donnée au gLien.

Valentin BALDINI
19 juil. 2017

Dernière modification : 25/05/2022

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