Anlyser une fonction mathématique pour ensuite la desiner
ggolp
Messages postés2Date d'inscriptionjeudi 21 décembre 2006StatutMembreDernière intervention 6 novembre 2007
-
5 nov. 2007 à 23:11
ggolp
Messages postés2Date d'inscriptionjeudi 21 décembre 2006StatutMembreDernière intervention 6 novembre 2007
-
6 nov. 2007 à 13:04
Bonjour a tous,
Je suis actuellement en train de coder un programme qui me déssine une fonction mathématique dans un repère xy (en VB6).
J'ai tout d'abord écrit la fonction X² dans le code puis j'ai réussi a la tracer dans son repère au centre de la page en utilisant PSet, jusque la tout va bien.
Ensuite j'ai décidé de laisser la possiblité a l'utilisateur de modifier tous les parametres (ensemble de définition, pas, et d'autres petits gadjets comme le rendu ou la couleur du tracé), tout ça dans des textboxs, ça marche. Mais quand il est venu la question de pouvoir modifier la fonction elle même, je n'y suis plus arrivé. Si je prend la valeur du textbox a tracer ça ne marche pas car la procédure qui m'a permis de tracer la fonction utilise des valeurs de type long et la valeur se trouvant dans un textbox est de type string donc j'ai l'erreur "type mismatch".
J'ai essayé de convertir directement avec CLng cela ne fonctionne pas.
J'essaye donc de creer une fonction analysant la chaine de caractere (avec des instr, left, right, split, ect...) se trouvant dans le textbox mais rien a faire je n'y arrive pas.
mstarsup5
Messages postés527Date d'inscriptionlundi 15 octobre 2007StatutMembreDernière intervention10 octobre 20131 6 nov. 2007 à 01:01
Bon, j'ai regardé ton code, il faut que tu mettes des .text partout (text1.text), et des val quasiment partout aussi (val(text1.text))
Ensuite, pour que ton programme "lise" ta fonction donnée au text7, je te suggère de programmer un code qui te le lit, parce que ça ne marche pas avec val.
(Sauf si quelqu'un connait déjà une formule toute faite, dans ce cas je suis intéressé aussi ;-) )
Donc attends un peu voir si qqn a une telle fonction, et sinon, il faut que tu fasses un code qui te lise la fonction en tenant compte des caractères suivants:
0 1 2 3 4 5 6 7 8 9 + - * / . ( ) ^
Et ta fonction construit automatiquement ta formule "hors string".
C'est assez complexe, mais faisable si tu tiens en compte des règles de calcul.
Il y a quelques bugs avec qqs fonctions, mais globalement, ça marche bien.
La fonction est assez compliquée, et relativement difficile à mettre en application cela dit.
entre autres, j'ai mis:
X = Val(Text1.Text)
ModifVar "X", X
Do Until X >= Val(Text2.Text)
'modifie les variables
X = X + Val(Text3.Text)
ModifVar "X", X
Y = Evaluer(Text7.Text)
et
Private Sub Form_Load()
MsgBox ("Created by Ggolp Concept")
tra = False
AddVar "X", Val(Text1.Text)
End Sub
Après, à toi d'intégrer son truc dans ton programme et de faire marcher tout ça.