PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → petite question sur des calculs via case a cocher
petite question sur des calculs via case a cocher
Débuté par ludo, 14 juin 2019 12:16 - 2 réponses
Posté le 14 juin 2019 - 12:16
Bonjour les développeurs windev.
j'aurai besoin de vos neurones sur une question que je me pose ( au passage merci d'avance ).

je suis en apprentissage windev et je suis sur les case a cocher.
j'ai effectué un calcul sur des interrupteurs , a savoir que ce la fonctionne très bien comme ça !!!

je voulais juste savoir si il y avait d'autre façon pour faire ce que j'ai fait, peut être une version plus compacte!

voici mon code :
une bdd avec valeur monétaire:
TexteEtPrix.Prix1 = 36
TexteEtPrix.Prix1 = 46

un interrupteur avec 2 options
prix1 et prix2

ce que je veut essayer de faire :
j'ai une sai_monetaire et je veut faire des calcul seulement avec les cases à cocher
quand je coche et décoche les cases, je veut pouvoir additionner ou soustraire le résultat dans la sai

voila ce que j'ai fait mais je pense qu'il doit y avoir une solution plus simple pour faire ça .

a savoir que le code est dans l'interrupteur a chaque modification !

le code :
HLitRecherche(TexteEtPrix,IDTexteEtPrix,"1",hIdentique)
SI HTrouve(TexteEtPrix) ALORS

motest1 est un monétaire = TexteEtPrix.Prix1
moTest2 est un monétaire = TexteEtPrix.Prix2

SI MoiMême[1] = Vrai ALORS
SAI_SansNom7 = motest1
FIN
SI MoiMême[2] = Vrai ALORS
SAI_SansNom7 = moTest2
FIN
SI MoiMême[1] = Vrai ET MoiMême[2] = Vrai ALORS
SAI_SansNom7 = Val(motest1) + Val(moTest2)
FIN
SI MoiMême[1] = Faux ET MoiMême[2] = Faux ALORS
SAI_SansNom7 = ""
FIN

FIN

(ps : cela fonctionne aussi avec des SINON SI )
j'ai essayer avec SELON mais je n'est pas réussi)
---------------------------------
j'ai essayé plusieurs façon différente et c'est la seule que j'ai réussi a faire fonctionné ( enfin avec ma connaissance et l'aide de windev sur le web)

voila si vous avez des idées je suis preneur.

je vous remercie pour votre aide et votre temp !!
Posté le 14 juin 2019 - 14:30
motest1 est un monétaire = TexteEtPrix.Prix1
moTest2 est un monétaire = TexteEtPrix.Prix2
MonRes est un monétaire

SI MoiMême[1] ALORS
MonRes += motest1
FIN
SI MoiMême[2] ALORS
MonRes += moTest2
FIN
Sai_SansNom7=MonRes

Ca doit marcher aussi... ;-)
Bon dev
Posté le 14 juin 2019 - 16:35
Merci Lionel pour ta réponse rapide.

Effectivement tu as raison cela fonctionne aussi bien et surtout avec beaucoup moins de code.
c'est exactement ce que je voulais faire .

je vais bien étudié ton code .

je te remercie pour ton aide et pour ton temps.

Cordialement.