SUPERCALCULATRICE 3000

cs_tjma Messages postés 10 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 25 août 2006 - 15 mai 2005 à 09:46
neamar Messages postés 26 Date d'inscription vendredi 9 septembre 2005 Statut Membre Dernière intervention 12 avril 2009 - 16 mars 2008 à 12:53
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/31383-supercalculatrice-3000

neamar Messages postés 26 Date d'inscription vendredi 9 septembre 2005 Statut Membre Dernière intervention 12 avril 2009
16 mars 2008 à 12:53
Je cite :
"au debut je voulais faire un programme qui pouvait analyser une expression mathematique comme 4.5-96*(45/2) mais cetait trop complique" => Non, ce n'est pas si dur !
Il suffit d'utiliser la récursivité...j'ai posté un programme qui gère ce problème (et sans utiliser d'OCX ou de ruse sioux genre "je renvoie à la calc windows" (qui par ailleurs, ne gère pas les priorités comme le fait remarquer TJMA))

http://www.vbfrance.com/code.aspx?ID=46070
xereshsp Messages postés 8 Date d'inscription vendredi 22 août 2003 Statut Membre Dernière intervention 29 décembre 2005
29 déc. 2005 à 15:47
J'ai mieux...beaucoup mieux..pourquoi vous n'utilisez pas le Microsoft script control 1.0...il fait tout, gere les parenthese et tout le reste..en fait il fait tout ce que vous faite quand vous programmez..il execute meme des lignes de commande. il suffit juste de le rajouter dans votre projet :c'est un contrôle ocx et il est livré avec VB6 donc vous l'avez déjà..
laverdanny Messages postés 33 Date d'inscription samedi 16 octobre 2004 Statut Membre Dernière intervention 3 août 2007
30 mai 2005 à 16:13
A propos des SendKeys...

Il est à priori possible grâce aux API de Windows de :
-Obtenir le Handle de la fenêtre "Calculatrice"
-Envoyer les touches par des PostMessage

A creuser....
cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 6
17 mai 2005 à 20:18
tu aurais du utiliser la powertoy calcultrice lol tu aurais eu beaucoup plus de possibilité

masi bon travail pour voir comment controler un programme
hhhp2004 Messages postés 173 Date d'inscription samedi 25 octobre 2003 Statut Membre Dernière intervention 13 octobre 2007
15 mai 2005 à 21:04
oui cest vrai, je navais pas pensee a ca : il faut que la calcul soit en mode scientifique pour que tout marche correctement !

merci TJMA
cs_tjma Messages postés 10 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 25 août 2006
15 mai 2005 à 18:13
HHHP2004,
En fait ma calculatrice windows était configurée en mode standard et non en mode scientifique.
Le résultat est différent en fonction du mode choisi, ton prog n'a rien a voir avec le résultat.
Toutes mes excuses.
hhhp2004 Messages postés 173 Date d'inscription samedi 25 octobre 2003 Statut Membre Dernière intervention 13 octobre 2007
15 mai 2005 à 16:31
TJMA, je ne sais pas comment tas fait pour trouver 4.5-96*(45/2)=-2058.75, MAIS

jai fait copier/coller (jai pris le 4.5-96*(45/2) et je lai colle dans le prog) et ca donne -2155,5 !!! la calcul fait JAMAIS derreurs !
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
15 mai 2005 à 12:31
Bah, alors ! 10/10, ça c'est un sacré encouragement pour une calculatrice qui ne calcul pas avec les priorités... Défaut, qui sera vite corrigé, je pense...

Bon, bon... sinon pour ta remarque sur SendKeys, personnellement je ne connais pas d'autre moyen que de faire prendre le focus à l'application concernée. Peut-être une solution, autant pour les règles de priorités que du clignotant du focus, c'est d'attendre la fin de saisi de l'expression, pour ensuite, analyser l'expression, mettre les priorité, puis d'envoyer le tout en une seul fois... Enfin, j'avoue que j'ai pas regardé en détail ton programme, c'est donc juste une réflexion...

Amicalement,
Us.
cs_tjma Messages postés 10 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 25 août 2006
15 mai 2005 à 09:46
C'est une bonne idée cette calculatrice sauf,
que le résultat n'est pas bon !
4.5-96*(45/2) = -2115.5 alors que ta calculatrice trouve -2058,75

En fait ta machine fait (4.5-96) * (45/2) d'ou erreur de priorité entre * / et + -
Salut
Rejoignez-nous