DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Fonctions standard / Fonctions de gestion des chaînes
  • Utilisation de la fonction ChaîneConstruit dans les applications multilingues
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
Construit une chaîne de caractères en fonction d'une chaîne initiale et de paramètres.
Exemple
MaChaîne1 est une chaîne
MaChaîne1 = "Le fichier %1 ne peut pas être ouvert par " + ...
"l'utilisateur %2. Le fichier %1 n'est pas accessible."
MonRésultat est une chaîne = ChaîneConstruit(MaChaîne1, "Exemple", "Tintin")
// MonRésultat contient : "Le fichier Exemple ne peut pas être
// ouvert par l'utilisateur Tintin. Le fichier Exemple n'est pas accessible."
MaChaîne1 est une chaîne
MaChaîne1 = "Le fichier %1 ne peut pas être ouvert par " + ...
"l'utilisateur %2. Le fichier %1 n'est pas accessible."
MonTableau est un tableau de 1 chaîne
MonTableau[1] = "Exemple"
MonTableau[2] = "Tintin"
 
MonRésultat est une chaîne = ChaîneConstruit(MaChaîne1, MonTableau)
// MonRésultat contient : "Le fichier Exemple ne peut pas être
// ouvert par l'utilisateur Tintin. Le fichier Exemple n'est pas accessible."
 
// La notation suivante est également disponible :
MonRésultat est une chaîne = ChaîneConstruit(MaChaîne1, ["Exemple","Tintin"])
Syntaxe

Construction d'une chaîne à partir de paramètres Masquer les détails

<Résultat> = ChaîneConstruit(<Chaîne initiale> [, <Paramètre 1> [... [, <Paramètre N>]]])
<Résultat> : Chaîne de caractères
Chaîne résultat : les caractères %X ont été remplacés par les paramètres indiqués.
<Chaîne initiale> : Chaîne de caractères
Chaîne de caractères contenant des paramètres optionnels (caractères %1 à %n). Pour afficher le caractère % dans la chaîne <Résultat>, il est nécessaire de doubler ce caractère (%%).
<Paramètre 1> : Chaîne de caractères optionnelle
Premier paramètre à insérer dans la chaîne de caractères formatée.
Le <Paramètre 1> remplacera le caractère %1, le <Paramètre 2> remplacera le caractère %2, etc.
Le nombre de paramètres spécifiés doit être identique ou supérieur au nombre de paramètres utilisés dans la chaîne de caractères <Chaîne initiale>.
Si la chaîne de caractères <Chaîne initiale> contient plus de paramètres, les paramètres supplémentaires seront remplacés par des chaînes vides.
<Paramètre N> : Chaîne de caractères optionnelle
Nième paramètres à insérer dans la chaîne de caractères formatée.
Le <Paramètre 1> remplacera le caractère %1, le <Paramètre 2> remplacera le caractère %2, etc.
Le nombre de paramètres spécifiés doit être identique ou supérieur au nombre de paramètres utilisés dans la chaîne de caractères <Chaîne initiale>.
Si la chaîne de caractères <Chaîne initiale> contient plus de paramètres, les paramètres supplémentaires seront remplacés par des chaînes vides.

Construction d'une chaîne à partir de paramètres stockés dans un tableau Masquer les détails

<Résultat> = ChaîneConstruit(<Chaîne initiale> [, <Tableau des paramètres>])
<Résultat> : Chaîne de caractères
Chaîne résultat : les caractères %X ont été remplacés par les paramètres indiqués.
<Chaîne initiale> : Chaîne de caractères
Chaîne de caractères contenant des paramètres optionnels (caractères %1 à %n). Pour afficher le caractère % dans la chaîne <Résultat>, il est nécessaire de doubler ce caractère (%%).
<Tableau des paramètres> : Tableau
Nom du tableau à une dimension contenant les différents paramètres à insérer dans la chaîne de caractères formatée.
Le premier élément du tableau remplacera le caractère %1, le second élément du tableau remplacera le caractère %2, etc.
Le nombre d'éléments du tableau doit être identique ou supérieur au nombre de paramètres utilisés dans la chaîne de caractères <Chaîne initiale>.
Si la chaîne de caractères <Chaîne initiale> contient plus de paramètres, les paramètres supplémentaires seront remplacés par des chaînes vides.
Remarque : Il est également possible de passer directement le tableau en paramètre en utilisant la notation :
<Elément 1>, ..., <Elément N>
Remarques

Utilisation de la fonction ChaîneConstruit dans les applications multilingues

Si votre application contient des messages affichés dans plusieurs langues, la fonction ChaîneConstruit permet de remplacer les caractères optionnels dans toutes les langues gérées.
Par exemple :
Fenêtre de saisie des messages multilingues
Liste des exemples associés :
Chaînes complexes Exemples unitaires (WINDEV) : Chaînes complexes
[ + ] Utilisation de la construction de chaînes complexes grâce à la fonction ChaîneConstruit.
Composante : wd300vm.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Utilisation des LIKE avec chaineconstruit
wc_test2 est une chaîne = ChaîneConstruit("LIKE '%%%1%'","mavaleuràtrouver") Dans ce cas, le LIKE est bien interprété et on a bien : "LIKE '%mavaleuràtrouver%'"
eblaise
20 mar. 2024
Ca fonctionne aussi avec des variables y compris numériques
(WD26) La doc ne parle que de paramètres chaines de caractère mais ça fonctionne avec des variables numériques ou des valeurs numériques

ChaineAffichee est une chaîne
val1,val2,val3 est un entier
val1 = 101
val2 = 1001
val3 = 10001
ChaineAffichee = "paramètre 1 %1 paramètre 2 %2 paramètre 3 %3"

ChaineAffichee = ChaîneConstruit(ChaineAffichee ,val1, val2, val3) //=> ok
ChaineAffichee = ChaîneConstruit(ChaineAffichee ,65465, 545, 89798) //=> ok
NadSoftware
21 nov. 2022
Ne marche pas si %1 n'est pas entouré d'espaces... (!!!)
Dommage, ChaîneConstruit perd beaucoup de son intérêt dans le cas suivant :

wc_test est une chaîne = ChaîneConstruit("LIKE '%%1%'","mavaleuràtrouver") // => renvoie LIKE '%1%' au lieu du résultat désiré (qui devrait être "LIKE '%mavaleuràtrouver%'")
wc_test2 est une chaîne = ChaîneConstruit("LIKE '% %1 %'","mavaleuràtrouver") // => renvoie "LIKE '% mavaleuràtrouver %'" donc le %1 est bien interprété, mais ça n'a plus aucun intérêt pour construire une requête MySQL...
Amdne
23 déc. 2021
Pour aller plus loin
J'ai publié un article à propos de ChaineConstruit et comment le rendre plus lisible : WinDev - Rendre ChaineConstruit plus élégant.
Vous pouvez le lire ici : http://blog.ytreza.org/windev-rendre-chaineconstruit-plus-elegant/
Johjo
02 nov. 2017
Champs RTF
Dans un champs RTF, le caractère \ doit être doublé pour être pris en compte .
exemple :
sKey est une chaîne = Remplace(gsKey,"\","\\")
MoiMême = ChaîneConstruit(MoiMême,sKey)
PHILIPPE DUCOURANT (
12 jan. 2017

Dernière modification : 25/05/2022

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