IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

Saisir une fonction après le lancement du logiciel


Sujet :

VB 6 et antérieur

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 27
    Points : 10
    Points
    10
    Par défaut Saisir une fonction après le lancement du logiciel
    Bonjour
    Tout d'abord je m'excuse si le titre est peu clair mais je n'ai pas pu faire mieux!
    Mon problème est le suivant: J'ai réussi, après des semaines de travail (oui, je suis un peu débutant) à écrire un logiciel, sur VB6, qui dessine les graphs correspondant à des fonctions (2D ou 3D)...
    La fonction que je veux representer graphiquement est saisie dans une module à l'intérieur du code du logiciel,
    Par exemple...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Public Function Z(X,Y)
    Z=cos(x)*sin(y*5)
    End Function
    Mais comme je voulais faire profiter mes amis de ce logiciel, le seul moyen serait de le transformer en fichier executif .exe, et là vous voyez le problème: on ne peut plus changer la fonction qu'on veut dessiner... le programme prend la même fonction qui est intégrée à son code.
    J'aimerais savoir si quelqu'un d'entre vous a une solution à me donner, car je me torture le cerveau sur ce détail depuis un certain temps et je trouve pas de réponse... j'aimerais bien pouvoir saisir une fonction dans une boite de dialogue TEXTE, après le lancement du programme bien sûr... mais comment faire pour integrer dans le programme la fonction qu'on a saisie sous format textuel??
    Merci d'avance pour votre aide.

  2. #2
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Salut

    Bienvenue sur Développez

    Tu aurais avantage à créer un kit d'installation de ton programme. Après avoir ajouté (si ce n'est déja fait) ton éditeur d'équation en référence dans ton projet, tu enregistre tout ça. Tu éteint VB. Tu Démarrer, Programmes, Microsoft Visual Basic, Outils Microsoft Basic (chez moi Microsoft Visual Basic Tools, parce que je l'ai en anglais...) et enfin Assistant d'empaquetage et déploiement (ou Package & Deployment Wizard). Tu suis les instructions et tu crée un kit d'installation pour ton programme sur lequel tu as si durement buché. A la fin, c'est la joie.

    Si tu jète un oeil (n'oublie pas de le reprendre ensuite) sur la page des outils VB, tu trouvera InnoSetup et IsTool qui font du bon boulot à l'allure professionnelle.

    J'ai ajouté les balises Code à ton bout de code. C'est le bouton #. Une habitude à prendre...

    [Edit]: en relisant ton message j'ai bien vu qu'il s'agissait d'un module interne... Comment l'utilisateur choisit-il la fonction et les paramètres pour afficher le graphe? C'est là que tu dois plancher... Du moins, je crois. J'ai tout de même laissé mon message tel quel... des fois que ça servirait.

  3. #3
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Utiliser Eval, entre autres...

    Ou (à mon avis mieux) faire un ocx avec toutes les types de fonctions possibles (il n'y en a pas des masses) attendant des paramètres venant de l'aplication (textboxes renseignées par l'utilisateur, par exemple)

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 27
    Points : 10
    Points
    10
    Par défaut
    Merci pour vos deux réponses. Mais:

    1-je n'ai pas réussi à trouver quoi que soit qui s'appelle Eval dans mon aide Visual Basic...
    Est ce que tu voulais dire Val? Mais, par exemple,
    ne retourne rien... la fonction Val() retourne juste des chiffres mais ne calcule pas une fonction...
    Ou bien existerait-il une autre fonction EVal??

    2-je ne sais pas créer des ocx si tu pouvais m'indiquer un tutoriel qui parle de ça, et me donner une idée une idée sur comment profiter d'un ocx pour faire entrer des fonctions mathématiques, je te serais très reconnaissant...

    Merci

  5. #5
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    1) pour eval :

    http://vb.developpez.com/faq/?page=L...rpreter_string
    mais lis aussi ce que tu trouveras là :
    http://www.aivosto.com/eval.html

    2) pour les ocx :
    Je trouve tout un cours à la rubrique Tutoriels !
    en voici un petit bout :
    http://activex.developpez.com/

    ceci étant dit : si tu veux faire un ocx, il te faudra du soin, des connaissances ... et lire tout à fond, à commencer par l'aide en ligne.

    Bonne étude .

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 27
    Points : 10
    Points
    10
    Par défaut
    Je t'en remercie beaucoup...
    Je pense bien que la fonction Eval porte la solution à toutes mes souffrance!
    Mais le problème c'est que je n'arrive pas à la faire marcher!
    J'ai appliqué tout ce qui a été dit dans le tutoriel que tu m'avais donné mais en vain... j'ai le message suivant concernant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim r as New ScriptControl
    "Invalid use of New statement"
    Je précise que j'ai VB5, contrairement à ce que j'avais dit plus haut... je viens de m'en apercevoir...
    Est-ce que ça peut venir de là?? Par contre je possède msscript... j'en sais rien, je suis de nouveau complétement frustré!!
    Le fichier d'Aide qui vient avec MSSCRIPT est très résumé et n'explique pas du tout la façon dont je peux me servir de la fonction Eval()
    Tu as le temps de me donner des précisions??
    En tout cas je te remercie bcp une deuxième fois.

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 27
    Points : 10
    Points
    10
    Par défaut
    JE VIENS DE TROUVER LA REPONSE SUR LE SITE MICROSOFT!!!!!!!!
    En fait le plus simple c'était de rajouter un objet ScriptControl sur la Form1, de le rajouter à la main, je veux dire comme on rajoute une zone text sur une Form... puisque ScriptControl apparait à droite avec les autres objets après avoir ajouté Microsoft Script Control dans Project>Components.
    Et puis il faut faire par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ScriptControl1.Language = "vbscript"
    S = ScriptControl1.Eval("sin(1.5)*cos(1.5)")
    Print S
    ça donne la valeur de sin(1.5)*cos(1.5)

    Je suis tellement content d'avoir posté sur ce forum!!! Car j'avais vraiment envie d'achever ce programme et j'y arrivais pas!!!
    Merci beaucoup pour ton aide!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 29/07/2008, 15h04
  2. relancer une fonction après un reload
    Par cijez dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 25/06/2007, 13h36
  3. [javascript]execution d'une fonction aprés n seconde
    Par ranell dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 14/04/2007, 17h04
  4. Réponses: 5
    Dernier message: 25/03/2007, 06h06
  5. saisir une fonction dans un formulaire
    Par arnogef dans le forum IHM
    Réponses: 14
    Dernier message: 12/12/2005, 10h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo