Evaluation du contenu d'une variable

Signaler
Messages postés
548
Date d'inscription
mercredi 28 juillet 2004
Statut
Membre
Dernière intervention
11 septembre 2013
-
Messages postés
548
Date d'inscription
mercredi 28 juillet 2004
Statut
Membre
Dernière intervention
11 septembre 2013
-
Bonjour,
comment évaluer le contenu d'une variable ?

variable="textbox1.visible=true"

if variable=true then

Merci de vos réponses

10 réponses

Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Salut,

j'ai rien compris mais bon, je te fais un exemple en espérant que ce soit ça :

Dim bVerifControl As Boolean

bVerifControl = TextBox1.Visible

If bVerifControl = True Then MsgBox "TextBox1 est visible" _
    Else MsgBox "TextBox1 est invisible"

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
Messages postés
548
Date d'inscription
mercredi 28 juillet 2004
Statut
Membre
Dernière intervention
11 septembre 2013
2
merci,
c'est un peu çà mais je prend un autre exemple:

var1=10
var2=">"
var3= variable saisie par l'utilisateur
var4=var1+var2+var3

if var4=true then
 '10 est supérieur à (la variable saisie)
else
 '10 n'est pas supérieur à (la variable saisie)

endif
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Humm bizarre ton code.

Dim var1 As Byte
Dim var2 As Byte

var1 = 10
var2 = InputBox "Entrez un nombre entre 0 et 255"

If var2 < var1 Then MsgBox "Votre nombre est inférieur à 10" _
    Else MsgBox "Votre nombre est supérieur ou égal à 10"

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
Messages postés
548
Date d'inscription
mercredi 28 juillet 2004
Statut
Membre
Dernière intervention
11 septembre 2013
2
merci encore, mais c toujours pas çà

dans ton exemple en fait, je voudrais évaluer l'expression var1<var2
mettons  var3=var1+"<"+var2
et donc

If (var3est vraie)  Then MsgBox "Votre nombre est inférieur à 10" _
    Else MsgBox "Votre nombre est supérieur ou égal à 10"

car en fait l'opérateur va me fournir var2 mais aussi l'opérateur qui pourra etre <, >, etc

me comprends-tu ?

en visual foxpro il te suffite de faire  &var3
il va évaleur la var3

merci de perdre du temps pour moi :)
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
73
En fait, mortalino, c'est un concept très courant, en informatique.

il s'agit d'évaluer le contenu d'une variable Text.


en VB, tu peux passer par l'API EbExecuteLine de vba6.dll

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Messages postés
548
Date d'inscription
mercredi 28 juillet 2004
Statut
Membre
Dernière intervention
11 septembre 2013
2
oui mais donc Renfield, comment fait-on ?

j'arrete pas de mater les forums, apparement en script c simple avec eval() je crois
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Ah ! l'équivalent de Eval. je l'ai vu récemment sur le Forum. Merci Rey.

[auteurdetail.aspx?ID=314187 vercomax] : Eval ne fonctionne pas avec vb6

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
73
Pour faire un Eval, il faut ajouter une reference, et là, tu pourras utiliser du VbScript.

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
49
réponse de Galain :



une fonction Evalchaine
On évalue pas une chaine mais le rapport enre 2 variables
Comme les informations sont données dans 3 variables chaines il faut décortiquer les différents cas

Inspire-toi de ceci
private Evalchaine (var1 as string,var2 as string,var3 as string) as boolean

select case var2   '  selon l'opérateur de relation
     case ">" 
        if val(var1) > val(var3) then
              evalchaine = true
        else
              evalchaine = false
        end if
     case "<"
        if val(var1) < val(var3) then
                evalchaine = true
        else
                evalchaine = false
        end if
end select

Tu peux mettre d'autre case de Case pour var2

GRENIER Alain[8D]

merci de ne pas poser plusieurs fois ta question... soit un peu patient (et ne refuse pas une réponse juste parce qu'elle t'oblige à taper des lignes de code!)
<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
Messages postés
548
Date d'inscription
mercredi 28 juillet 2004
Statut
Membre
Dernière intervention
11 septembre 2013
2
bof,
je suis de la vieille école, du temps où on évitait de taper des lignes de code uniquement dans le but de préserver de la mémoire !
çà c'était juste après avoir programmé en assembleur

mais, merci quand même