[Func] Calcul

Partagez des fonctions et des UDF AutoIt.
Règles du forum
.
Répondre
Avatar du membre
TT22
Membre émérite
Membre émérite
Messages : 1566
Enregistré le : lun. 18 avr. 2011 15:21
Localisation : La Quatrième Dimension
Status : Hors ligne

[Func] Calcul

#1

Message 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:
Cordialement,
TT22
Avatar du membre
matwachich
Membre émérite
Membre émérite
Messages : 986
Enregistré le : lun. 19 oct. 2009 04:04
Localisation : Algérie
Status : Hors ligne

Re: [Func] Calcul

#2

Message par matwachich »

Execute
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
Avatar du membre
TT22
Membre émérite
Membre émérite
Messages : 1566
Enregistré le : lun. 18 avr. 2011 15:21
Localisation : La Quatrième Dimension
Status : Hors ligne

Re: [Func] Calcul

#3

Message par TT22 »

:oops: Je connaissais pas ça.
Et quand j'ai cherché, je l'ai pas trouvé...
Cordialement,
TT22
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [Func] Calcul

#4

Message 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
Signez ici
Avatar du membre
matwachich
Membre émérite
Membre émérite
Messages : 986
Enregistré le : lun. 19 oct. 2009 04:04
Localisation : Algérie
Status : Hors ligne

Re: [Func] Calcul

#5

Message par matwachich »

Intéressant le bout de code!!!
Alors, on ne peut pas imbriquer un MsgBox dans un autre...
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [Func] Calcul

#6

Message 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 ^^
Signez ici
Avatar du membre
TT22
Membre émérite
Membre émérite
Messages : 1566
Enregistré le : lun. 18 avr. 2011 15:21
Localisation : La Quatrième Dimension
Status : Hors ligne

Re: [Func] Calcul

#7

Message 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:
Cordialement,
TT22
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [Func] Calcul

#8

Message par Iste »

Naaaan ! On règle pas des problèmes en les ignorant :o
Signez ici
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2086
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [Func] Calcul

#9

Message 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.
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Répondre