Page 1 sur 1

[..] Nom de la variable en string

Posté : mer. 20 avr. 2011 13:46
par ricky
Hello,

j'ai un tableau comme ceci : Array[1] = @KBLayout
J'aimerais rajouter le nom de la variable et non sa valeur dans du texte, comment puis-je faire?

Exemple :

Code : Tout sélectionner

for $i=1 to Array[0]
   $label = "Texte de la variable [b]Array[$i][/b] = " & Array[$i]
   ...
Next
Merci d'avance

Re: [..] Nom de la variable en string

Posté : mer. 20 avr. 2011 14:38
par ZDS
Bonjour,

Code : Tout sélectionner

$label = "Texte de la variable Array[" & $i & "] = " & $Array[$i]
Je pense que c'est ce que tu cherches :)

A bientôt !

PS: En fait, si ça se trouve c'est pas du tout ça que tu cherches, mais ton message n'est pas très explicite :s
"le nom de la variable et non sa valeur", tu parles de quoi ? $Array ou $i ?
"dans du texte", dans quel texte? Un contenu de fichier, un inputBox, une sortie de console, ou dans une variable toute simple ? Parce que là c'est déjà le cas, tu mets tout dans $label.

Re: [..] Nom de la variable en string

Posté : mer. 20 avr. 2011 14:40
par ricky
Non, j'aimerais avoir :

$label = "Texte de la variable @KBLayout = " & Array[$i]

Re: [..] Nom de la variable en string

Posté : mer. 20 avr. 2011 14:50
par ZDS
Ah, du reverse? Ce n'est pas possible avec ta sdd actuelle.

Par contre en modifiant en amont, ça peut passer (et encore, les macros en @XXX je crois pas). Voici un exemple avec des variables $XXX :

j'ai un tableau comme ceci :

$KBLayout = "TrucBidon"
[...]
$Array[1] = "KBLayout"

Code : Tout sélectionner

for $i=1 to Array[0]
   $label = "Texte de la variable Array[" & $i & "] : '" & $Array[$i] & "' = " & Eval($Array[$i])
   ...
Next
Ca te renverra dans $label :

Texte de la variable Array[1] : 'KBLayout' = TrucBidon

Donc si tu veux utiliser des macros @XXX, assigne les à des variables $XXX du même nom juste avant, genre $KBLayout = @KBLayout

PS : il y a aussi la fonction Execute, mais elle est TRES dangereuse, puisqu'elle interprète et execute l'expression, quelle qu'elle soit, exemple tout de même avec :

$Array[1] = "@KBLayout"

Code : Tout sélectionner

for $i=1 to Array[0]
   $label = "Texte de la variable Array[" & $i & "] : '" & $Array[$i] & "' = " & Execute($Array[$i])
   ...
Next