Page 1 sur 1

[Func] Calcul

Posté : mar. 21 févr. 2012 20:52
par TT22
Bonjour,
Je vous poste aujourd'hui une petite fonction que j'ai créée pour mes propres besoins, et elle pourra peut-être servir à d'autre :wink:

Elle sert à faire un calcul à partir d'une chaine de caractère.
Par exemple, si on lui donne "5 x 4 + 3 : 2", elle retourne "21.5".

Elle fonctionne avec les signes : + (addition), - (soustration), : ou / (division) et x ou * (multiplication).
Mais elle ne prend pas en compte les parenthèses :?

Voici la fonction :
► Afficher le texte
Voilà, je ne sais pas si ça vous sera utile, mais bon, on ne sais jamais :mrgreen:

Re: [Func] Calcul

Posté : mar. 21 févr. 2012 21:20
par matwachich
Execute

Re: [Func] Calcul

Posté : mar. 21 févr. 2012 21:22
par TT22
:oops: Je connaissais pas ça.
Et quand j'ai cherché, je l'ai pas trouvé...

Re: [Func] Calcul

Posté : mar. 21 févr. 2012 23:12
par Iste
Haha, ou comment pourrir un long travail en un seul mot ^^
(et non, je viens pas pour raconter des trucs sur les réinventages de roue, d'autant qu'en ce moment c'est plutôt bien de voir comment parser du code)

avantage quand même pour la fonction de TT22 qui est plus safe. Execute() est beaucoup trop puissant pour faire cela, et peut poser des problèmes dans certain cas

Code : Tout sélectionner

$In = InputBox("","",'bug()')

MsgBox(64,"Info",Execute($In))

Func bug()
    MsgBox('','','bug')
    Exit
EndFunc

Re: [Func] Calcul

Posté : mer. 22 févr. 2012 01:40
par matwachich
Intéressant le bout de code!!!
Alors, on ne peut pas imbriquer un MsgBox dans un autre...

Re: [Func] Calcul

Posté : mer. 22 févr. 2012 10:21
par Iste
Si on peut, mais exécute est très puissant, et la j'ai fais appel a une fonction qui termine le code. Donc effectivement, notre 1ere MsgBox ne verra jamais son appel aboutir :'(

Par contre, ce qui est intéressant c'est de voir que Execute() s'en fout des bugs (faut forcer le lancement) :

Code : Tout sélectionner

Execute('bug()')
MsgBox(0,'', 'ca passe')
bug()
MsgBox(0,'', 'ca passe')

Func bug()
    MsgBox(0,'', 'ici')
    $a = $b
    MsgBox(0,'', 'la')
EndFunc
Fonction vraiment tres puissante, qui ne doit selon moi pas etre utilisée pour faire de simple calcul ^^

Re: [Func] Calcul

Posté : mer. 22 févr. 2012 12:16
par TT22
C'est vrai que c'est intéressant...
Ça pourrait même régler des problèmes de variables qui n'existent pas :wink:

Re: [Func] Calcul

Posté : mer. 22 févr. 2012 12:24
par Iste
Naaaan ! On règle pas des problèmes en les ignorant :o

Re: [Func] Calcul

Posté : mer. 22 févr. 2012 20:56
par TommyDDR
+1 avec Iste, si vous avez besoin d'une variable qui n'existe pas... c'est qu'il y a un problème quelque part.