FORUMS PROFESSIONNELS
WINDEV
,
WEBDEV
et
WINDEV Mobile
Accueil
|
Messages récents
|
Connexion
|
Déconnexion
|
Français
Accueil
→
WINDEV 2024
→
[WD17] Paramètre optionnel de type tableau associatif
[WD17] Paramètre optionnel de type tableau associatif
Débuté par GD, 25 mar. 2013 19:10 - 4 réponses
Connectez-vous…
GD
#1
Membre enregistré
3 messages
Posté le 25 mars 2013 - 19:10
Bonjour,
Je souhaiterais savoir s'il est possible de déclarer une procédure avec un paramètre optionnel de type tableau associatif.
Je sais qu'on peut :
- avoir des paramètres optionnel en donnant une valeur par défaut
- avoir des paramètres de type tableau associatif
Mais je ne trouve pas la syntaxe pour un paramètre de type tableau associatif optionnel.
Dois-je passer par une fonction à nombre de paramètres variable?
Voici ce que j'ai déjà essayé et qui ne fonctionnent pas :
PROCEDURE MaProcedure(sTexte est une chaîne,
taTableau est un tableau associatif de Variants = Null)
PROCEDURE MaProcedure(sTexte est une chaîne,
taTableau est un tableau associatif de Variants = [[]])
PROCEDURE MaProcedure(sTexte est une chaîne,
taTableau est un tableau associatif de Variants = [ [ ] ])
PROCEDURE MaProcedure(sTexte est une chaîne,
taTableau est un tableau associatif de Variants = [ ["test", "tata"] ])
PROCEDURE MaProcedure(sTexte est une chaîne,
taTableau est un tableau associatif de Variants = [ ["test", "tata"], ["test2", "toto"] ])
Merci d'avance pour votre aide!
Signaler
0
0
Christophe PERRAULT
#2
Posté le 25 mars 2013 - 19:15
Bonsoir,
essayer un petit truc du genre :
Procedure
TestParamTblAssoc
(
*
)
SI
MesParamètres
..
Occurrence
>
0
ALORS
SI
TypeVar
(
MesParamètres
[
1
]
)
=
wlTableauAssociatif
ALORS
POUR
TOUT
_my_elem
,
_key de MesParamètres
[
1
]
Info
(
_key
)
FIN
FIN
FIN
bon dèv
Signaler
0
0
GD
#3
Membre enregistré
3 messages
Posté le 25 mars 2013 - 19:24
Allez, juste pour le fun, un message très encourageant suite à cette syntaxe :
J'utilise une fonction renvoyant ce que je veux...
PROCEDURE Init_TA_Vide()
taVide est un tableau associatif de Variants
RENVOYER taVide
PROCEDURE MaProcedure(sTexte est une chaîne,
taTableau est un tableau associatif de Variants = Init_TA_Vide())
Le message est...
Un élément de type 'tableau associatif' ne peut pas être converti vers le type 'tableau associatif'.
Signaler
0
0
Yann
#4
Membre enregistré
256 messages
Popularité : +29 (29 votes)
Posté le 25 mars 2013 - 21:51
Bonsoir,
Passez en paramètre une structure contenant le tableau associatif.
Ca oblige à déclarer une variable du type de la structure à chaque appel mais la structure peut également contenir tous les paramètres de la procédure (quand il y a beaucoup de paramètres, ça peut aussi simplifier la lecture du prototype).
Structure :
STParamMaProc est une une
structure
Param1 est un
entier
Param2 est une
chaîne
ParamTA est un
tableau
associatif de
chaînes
FIN
Procédure :
Procedure
MaProc
(
Param est un STParamMaProc
)
...
Appel :
Param est STParamMaProc
Param.Param1
= ...
Param.Param2
= ...
Param.ParamTA
[
"Clé1"
] =
"Val1"
Param.ParamTA
[
"Clé2"
] =
"Val2"
MaProc
(
Param
)
Si le tableau associatif existe déjà, utilisez la syntaxe
Param.ParamTA
<
-
MonTAExistant
Bons développements
Signaler
0
0
Benoit
#5
Posté le 12 juillet 2018 - 17:12
Bonjour,
J'ai ete confronté au problème ce jour.
Il faut utiliser : montableau est un tableau associatif de chaîne = [["",""]]
Cordialement
Signaler
1
0
→ Revenir à WINDEV 2024
WINDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV (précédentes versions)
WEBDEV (précédentes versions)
WINDEV Mobile (précédentes versions)
Etats & Requêtes
Hors-sujet
Outils
Français
English
Español
Portuguesa
Fermer cette fenêtre
Type de recherche
Uniquement les sujets
Tous les messages
Période de recherche
Date indifférente
Moins d'une heure
Moins de 24 heures
Moins d'une semaine
Moins d'un mois
Moins d'un an
Annuler
Aperçu de votre message
Ajouter une image
Importer une image depuis une URL
Envoyer une image depuis un fichier de votre disque
Déposez ici un fichier ou cliquez sur "Parcourir..."
ou
Annuler
0%
WLangage
SQL
XML, HTML
JAVA, Javascript
Texte