Twitter iPhone pliant OnePlus 12 PS5 Disney+ Orange Livebox Windows 11 ChatGPT

Compilation dynamique ou autre ???

9 réponses
Avatar
SFCI Conseil - Jean Philippe
je souhaite utiliser la compilation dynamique ou autre chose car je ne pense
pas qu'il existe une fonction me permettant de faire ce que je souhaite la
fonction devrais faire ceci :

MonResultat = iif(MaCondition,ValeurSiVrai,ValeurSiFaux)

FONCTION iif(MaCond,ValVrai,ValFaux)

si MaCond alors
renvoyer ValVrai
sinon
renvoyerValFaux
fin

--
Jean-Philippe
JeAn-PhI.sfci.conseil_NOSPAM@wanadoo.fr
(enlevez _NOSPAM pour m'écrire)

9 réponses

Avatar
SFCI Conseil - Jean Philippe
"Fabrice Burghgraeve" a
écrit dans le message de news:be3g3o$mo6$
salut .


salut

"SFCI Conseil - Jean Philippe" a écrit


dans
le message de news:3f0538da$0$5430$
> je souhaite utiliser la compilation dynamique ou autre chose car je ne
pense
> pas qu'il existe une fonction me permettant de faire ce que je souhaite


la
> fonction devrais faire ceci :
>
> MonResultat = iif(MaCondition,ValeurSiVrai,ValeurSiFaux)
>
> FONCTION iif(MaCond,ValVrai,ValFaux)
>
> si MaCond alors
> renvoyer ValVrai
> sinon
> renvoyerValFaux
> fin
>

elle marche pas cette fonction ?


en fait je ne l'avais pas écrite de cette façon dans mon code puis après
avoir poster le message j'ai essayer cette solution et ca à l'air de
fonctionner

--
JeAn-PhI




Avatar
SFCI Conseil - Jean Philippe
"DAIREAUX Jean-Baptiste" a écrit dans le message de
news:be3kao$rcr$

"SFCI Conseil - Jean Philippe" a écrit


dans
le message de news:3f0550cb$0$5417$
>
> "Fabrice Burghgraeve"


a
> écrit dans le message de news:be3g3o$mo6$
> > salut .
> salut
> >
> > "SFCI Conseil - Jean Philippe" a


écrit
> dans
> > le message de news:3f0538da$0$5430$
> > > je souhaite utiliser la compilation dynamique ou autre chose car je


ne
> > pense
> > > pas qu'il existe une fonction me permettant de faire ce que je
souhaite
> la
> > > fonction devrais faire ceci :
> > >
> > > MonResultat = iif(MaCondition,ValeurSiVrai,ValeurSiFaux)
> > >
> > > FONCTION iif(MaCond,ValVrai,ValFaux)
> > >
> > > si MaCond alors
> > > renvoyer ValVrai
> > > sinon
> > > renvoyerValFaux
> > > fin
> > >
> >
> > elle marche pas cette fonction ?
> en fait je ne l'avais pas écrite de cette façon dans mon code puis après
> avoir poster le message j'ai essayer cette solution et ca à l'air de
> fonctionner
>
> --


Attention dans cette solution ValeurSiVrai et ValeurSiFaux sont évalué


tout
les deux.
Ce qui poser des pbm si l'un d'entre eux n'est pas évaluable en fonction


de
la réponse à la condition.

J.B.D.



salut
je ne sais si je vous ai bien compris mais je n'ai pas d'évaluation à faire
sur ValeurSiVrai et ValeurSiFaux
exemple :
szToto est une chaine = "TOTO"
szRes est une chaine = iif(szToto="TITI","c'est vrai","c'est faux")
info(szRes) me renvoi "c'est faux"
ou alors
x est un entier = 2
b est un entier = 3
c est un entier = 4
a est un entier = iif(x > 1, b, c)
cela m'évite de faire
si x>1 alors
a = b
sinon
a = c
fin

il faux bien comprendre la fonction que je souhaite faire je m'en sers dans
un autre langage dont je vous l'extrait de l'aide en anglais :
[Citation ON]
Returns one of two values, depending on the value of a logical condition.
Syntax
iif ( Condition, ValueIfTrue, ValueIfFalse )
[Citation OFF]

--
JeAn-PhI
Avatar
Romain PETIT
SFCI Conseil - Jean Philippe a écrit :

il faux bien comprendre la fonction que je souhaite faire je m'en
sers dans un autre langage dont je vous l'extrait de l'aide en
anglais : [Citation ON]
Returns one of two values, depending on the value of a logical
condition. Syntax
iif ( Condition, ValueIfTrue, ValueIfFalse )
[Citation OFF]




Oui, comme en C l'opérateur conditionnel "? :"

Par exemple :

x > y ? a : b;

En clair, si x > y alors x=a sinon x=b

--
Romain PETIT
(mailto:rompetit_chez_ifrance.com)
Avatar
SFCI Conseil - Jean Philippe
> Oui, comme en C l'opérateur conditionnel "? :"

Par exemple :

x > y ? a : b;

En clair, si x > y alors x=a sinon x=b



exactement

--
JeAn-PhI
--
Romain PETIT
(mailto:rompetit_chez_ifrance.com)



Avatar
SFCI Conseil - Jean Philippe
(...)

oui, je crois qu'on a bien compris, c'est connu, ta fonction.
en C, c'est un operateur tertiaire :
?:
<condition>?<si vrai>:<si faux>

ma question etait : qu'est-ce qui ne marche pas dans la fonction que tu as
publie pour illustrer,(au debut du thread)
car a priori ca devrait fonctionner, le condition étant un booleen (x>1,


ou
encore sztoto="TITI" dans ton exemple sont des booleens)

d'ailleurs, ca fonctionne en voyant ta reponse plus haut :)



non elle fonctionne sur les quelques test que j'ai fait mais comme j'ai
c'est rédigeant le post que j'ai modifié ce que j'avais fait pour le
remplacer par celui que j'ai écrit dans le post
en clair tout fonctionne mais je crois que je me suis embarquer au départ
dans du code plus compliqué il a fallut que que je demande de l'aide et que
je réflichisse comment expliquer ce que je voulais faire pour voir
apparaitre la solution comme quoi des fois


--
Fabrice Burghgraeve
Computer & Services

(enlevez le _pas_de_spam_ pour me répondre en privé)




Avatar
SFCI Conseil - Jean Philippe
"Tanguy" a écrit dans le message de
news:
"SFCI Conseil - Jean Philippe" wrote
in
Attention, n'oublies pas les parentheses sur ta condition, car ici
szToto="TITI" peut affecter szToto...


iif((szToto="TITI"),"c'est vrai","c'est faux")



apparemment non il prend bien en compte que c'est une comparaison

--
JeAn-PhI
Avatar
SFCI Conseil - Jean Philippe
"Patrick" a écrit dans le message de
news:
le Fri, 4 Jul 2003 10:22:38 +0200 SFCI Conseil - Jean Philippe disait
> je souhaite utiliser la compilation dynamique ou autre chose car je ne


pense
> pas qu'il existe une fonction me permettant de faire ce que je souhaite


la
> fonction devrais faire ceci :
>
> MonResultat = iif(MaCondition,ValeurSiVrai,ValeurSiFaux)
>
et bien ca devrait marcher. la compilation dynamique a rien à faire ici.
Elle sert lorsque une fonction doit être calculée à partir d'instructions
du client Ou lorsque des fonctions sont stockées dans un fichier base de
données ou autres.



(...)

dans votre cas, je vois pas à quoi ca peut vous servir !!!!



c'était bien le but de ma question :
[citation on]
je souhaite utiliser la compilation dynamique ou autre chose ....
[citation off]
donc je voulais savoir si je pouvais passer par la compilation dynamique ou
alors avoir une autre solution du moment que cela fonctionne comme je le
souhaite

--
JeAn-PhI
Avatar
Firetox
Bonjour,

j'avais deja fait ca sous WD5.5

je l'avais appeller siOuiNon()

et effectivement il faut passer par la compilation dynaique

:

function siOuiNon(cond)

// Appel a la fonction : reslutat = SiOuiNon("champs1=""toto""")

source est une chaine=""

source = "si "+cond +rc+"renvoyer vrai"+rc+"sinon"+rc+"renvoyer

faux"+rc+"FIN"

si compile("evalue",source) = "" alors renvoyer evalue()

attention tout fois au " qu'il faut double dans la condition

voila

Bon dev

@+

firetox

"SFCI Conseil - Jean Philippe" a écrit dans
le message de news:3f095d96$0$29637$

"Patrick" a écrit dans le message de
news:
> le Fri, 4 Jul 2003 10:22:38 +0200 SFCI Conseil - Jean Philippe disait
> > je souhaite utiliser la compilation dynamique ou autre chose car je ne
pense
> > pas qu'il existe une fonction me permettant de faire ce que je


souhaite
la
> > fonction devrais faire ceci :
> >
> > MonResultat = iif(MaCondition,ValeurSiVrai,ValeurSiFaux)
> >
> et bien ca devrait marcher. la compilation dynamique a rien à faire ici.
> Elle sert lorsque une fonction doit être calculée à partir


d'instructions
> du client Ou lorsque des fonctions sont stockées dans un fichier base de
> données ou autres.

(...)

> dans votre cas, je vois pas à quoi ca peut vous servir !!!!

c'était bien le but de ma question :
[citation on]
je souhaite utiliser la compilation dynamique ou autre chose ....
[citation off]
donc je voulais savoir si je pouvais passer par la compilation dynamique


ou
alors avoir une autre solution du moment que cela fonctionne comme je le
souhaite

--
JeAn-PhI




Avatar
SFCI Conseil - Jean Philippe
"Firetox" a écrit dans le message de
news:bebp13$j7f$
Bonjour,

j'avais deja fait ca sous WD5.5

je l'avais appeller siOuiNon()

et effectivement il faut passer par la compilation dynaique

:

function siOuiNon(cond)

// Appel a la fonction : reslutat = SiOuiNon("champs1=""toto""")

source est une chaine=""

source = "si "+cond +rc+"renvoyer vrai"+rc+"sinon"+rc+"renvoyer

faux"+rc+"FIN"

si compile("evalue",source) = "" alors renvoyer evalue()

attention tout fois au " qu'il faut double dans la condition

voila

Bon dev

@+

firetox



bonjour

merci de votre réponse il me semblait bien que j'avais vu qq ch du style
:)))
que me conseillez vous utilisez la fonction telle décrite dans le post ou
votre solution en sachant que je dois renvoyer les réponses en dynamique
plutôt que vrai ou faux

--
JeAn-PhI