Evaluation d'une expression booléenne contenue dans une string

Le
Arthur
Bonjour à tous,

Voici mon problème. Je travaile sous VS2005 et je tente d'évaluer une
condition booléenne contenue dans une variable de type string.

La variable est simplement déclarée par : dim str as string
A l'issu d'un traitement, le contenu de la variable est du type
"((<valeur_booléenne>)AND(<valeur_booléenne>))" et je cherche à évaluer cette
expression pour obtenir la valeur booléenne de l'ensemble de l'expression.


J'ai pensé résoudre le problème par l'appel de Cbool : cBool(str) mais
j'obtiens le message "La conversion de la chaîne "((True)AND(True))" en type
'Boolean' n'est pas valide."

La fonction Cbool n'accepte pas en paramètre de variable de type string.
L'anomalie est la même avec l'appel directe sous la forme
cbool("((True)AND(True))"). Par contre, l'exécution de cbool((True)AND(True))
retourne bien la valeur True.

La fonction Cbool n'est visiblement pas le bon moyen pour évaluer une chaîne
de caractère contenant une expression booléenne. Mais je ne connais pas
d'autre moyen de résoudre ce problème.



Merci par avance de votre aide.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Gilles TOURREAU
Le #12226391
Le Thu, 06 Dec 2007 13:42:01 +0100, Arthur

Bonjour à tous,

Voici mon problème. Je travaile sous VS2005 et je tente d'évaluer une
condition booléenne contenue dans une variable de type string.

La variable est simplement déclarée par : dim str as string
A l'issu d'un traitement, le contenu de la variable est du type
"((<valeur_booléenne>)AND(<valeur_booléenne>))" et je cherche à évaluer
cette
expression pour obtenir la valeur booléenne de l'ensemble de
l'expression.


J'ai pensé résoudre le problème par l'appel de Cbool : cBool(str) mais
j'obtiens le message "La conversion de la chaîne "((True)AND(True))" en
type
'Boolean' n'est pas valide."

La fonction Cbool n'accepte pas en paramètre de variable de type string.
L'anomalie est la même avec l'appel directe sous la forme
cbool("((True)AND(True))"). Par contre, l'exécution de
cbool((True)AND(True))
retourne bien la valeur True.

La fonction Cbool n'est visiblement pas le bon moyen pour évaluer une
chaîne
de caractère contenant une expression booléenne. Mais je ne connais pas
d'autre moyen de résoudre ce problème.



Merci par avance de votre aide.






Il n'existe rien de natif pour évaluer une chaine booléenne dans le .NET
Framework...
Il faudrait rechercher sur google un composant permettant ce genre de
chose.

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Arthur
Le #12226281
C'est bien ce que je craignais, mais merci tout de même de votre réponse.

Cordialement

"Gilles TOURREAU" a écrit :

Le Thu, 06 Dec 2007 13:42:01 +0100, Arthur

> Bonjour à tous,
>
> Voici mon problème. Je travaile sous VS2005 et je tente d'évaluer une
> condition booléenne contenue dans une variable de type string.
>
> La variable est simplement déclarée par : dim str as string
> A l'issu d'un traitement, le contenu de la variable est du type
> "((<valeur_booléenne>)AND(<valeur_booléenne>))" et je cherche à évaluer
> cette
> expression pour obtenir la valeur booléenne de l'ensemble de
> l'expression.
>
>
> J'ai pensé résoudre le problème par l'appel de Cbool : cBool(str) mais
> j'obtiens le message "La conversion de la chaîne "((True)AND(True))" en
> type
> 'Boolean' n'est pas valide."
>
> La fonction Cbool n'accepte pas en paramètre de variable de type string.
> L'anomalie est la même avec l'appel directe sous la forme
> cbool("((True)AND(True))"). Par contre, l'exécution de
> cbool((True)AND(True))
> retourne bien la valeur True.
>
> La fonction Cbool n'est visiblement pas le bon moyen pour évaluer une
> chaîne
> de caractère contenant une expression booléenne. Mais je ne connais pas
> d'autre moyen de résoudre ce problème.
>
>
>
> Merci par avance de votre aide.
>
>
>

Il n'existe rien de natif pour évaluer une chaine booléenne dans le .NET
Framework...
Il faudrait rechercher sur google un composant permettant ce genre de
chose.

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr



Publicité
Poster une réponse
Anonyme