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.NET Discussion :

pas de résultat fonction calcul [Débutant]


Sujet :

VB.NET

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Janvier 2012
    Messages : 44
    Par défaut pas de résultat fonction calcul
    Bonjour à tous,
    je suis nouveau sur le forum et débutant dans la programmation.
    J'ai un projet à réaliser et je dois créer un logiciel. J'utilise pour cela le logiciel : visual basic 2010 express.
    J'aurais besoin d'aide car une partie de mon logiciel ne fonctionne pas.

    Je voudrais que lorsque la personne rentre les coefficients et clique sur calcul que cela écrit le résultat. Voila, j'espère que quelqu'un pourra m'aider.

    Ce n'est pas évident de tout expliquer donc s'il y a des choses que je peux approfondir, n'hésitez pas à me poser des questions.

    Merci
    Cordialement
    Images attachées Images attachées   

  2. #2
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    Bonsoir et bienvenu sur dvp.com

    Pour commencer deux petits conseils, quand tu postes, essayes de trouver un titre plus judicieux, tu es sur le forum VB.net donc on se doute que tu as besoin d'aide en visual basic

    Ensuite, y'a une balise code, c'est bien plus facile pour celui qui veut t'aider de lire le code dans ces balises

    Concernant ton code, la réponse devrait s'afficher dans qu'est ce qui ne fonctionne pas?

    P.S. : Essaie de mieux nommer tes composants afin que se soit facile à lire même sans savoir ce que c'est...

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Janvier 2012
    Messages : 44
    Par défaut
    Ok merci pour les renseignements concernant le titre et les balises. Je ferais mieux la prochaine fois . Concernant mon problème, c'est que le résultat ne s'affiche pas dans le code me.res.text et je ne comprend pas car j'ai pourtant suivis un tutoriel pour réaliser ce programme.
    Concernant le nom des composants (textbox), c'est l'abbréviation de la variable à taper dans la case suivis du chiffre 1 (Ca1, S1, q1, a1 et b1)

  4. #4
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    Citation Envoyé par doudou47 Voir le message
    Ok merci pour les renseignements concernant le titre et les balises. Je ferais mieux la prochaine fois .
    Je n'en doute pas

    Citation Envoyé par doudou47 Voir le message
    Concernant mon problème, c'est que le résultat ne s'affiche pas dans le code me.res.text et je ne comprend pas car j'ai pourtant suivis un tutoriel pour réaliser ce programme.
    Je ne sais pas si tu connais les points d’arrêt pour debuger?
    En cliquant devant une ligne un point rouge apparaît, c'est un point d'arrêt et en mode debug, ton programme s’arrête dessus.
    Je te propose d'en mettre devant me.Res.Text = ...
    Ton code devrais s'arrêter sur cette ligne.
    Après, tu peux voir la valeur des variables en passant ton curseur dessus ou en ajoutant un espion avec le clique droit.
    Il te faudrait avancer d'un pas (mode pas à pas avec F8 ou le bouton a coter du stop) de cette manière tu verra la valeur que prendra ta variable a chaque étape.

    Il est très important de bien savoir debuger...

    Pourrais-tu me dire si il s'arrête bien et les valeurs retournées?
    'hésite pas si tu as des questions, le forum est la pour ca

    Citation Envoyé par doudou47 Voir le message
    Concernant le nom des composants (textbox), c'est l'abbréviation de la variable à taper dans la case suivis du chiffre 1 (Ca1, S1, q1, a1 et b1)
    Chaqun sa manière de voir, j'aime laisser une indication sur le fait qu'il s'agit d'un TextBox, de cette manière je les nommerais TextBoxCa1, TextBoxS1, TextBoxQ1, TextBoxA1, TextBoxB1, je trouve ca plus lisible d’expérience mais chacun son choix...

  5. #5
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    De plus je pense que tu oublies dans Calcul1_Click un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Me.Erreur.Visible = False
    pour ré-initialiser après une éventuelle erreur.

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Janvier 2012
    Messages : 44
    Par défaut
    J'ai réglé le problème, j'avais oublié le Handles sur la Sub du bouton calcul.
    Maintenant, j'ai le résultat qui s'affiche mais il y a un nouveau problème.
    Le résultat affiché est : "t0= Non Numérique" alors que j'ai tapé des nombres dans chaque textbox.

  7. #7
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    Je n'ai jamais eu cette erreur mais il y a une piste sur MSDN :
    Une expression en virgule flottante peut contenir les ensembles de valeurs suivants :

    Zéro positif et zéro négatif.

    Nombre positif infini et nombre négatif infini.

    Valeur non numérique (NaN ou Not-a-Number).

    Ensemble fini des valeurs différentes de zéro.

    Pour plus d'informations sur ces valeurs, consultez IEEE Standard for Binary Floating-Point Arithmetic, disponible sur le site Web http://www.ieee.org/portal/index.jsp.

  8. #8
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Janvier 2012
    Messages : 44
    Par défaut
    Il semblerait que cette erreur soir lié à la puissance dans la formule du calcul. Car Si je met b=1 sa fonctionne mais si b est différent de 1 alors me.res.text = "Non Numérique".
    Une idée pour régler sa?

  9. #9
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    En faisant une rapide recherche google tu trouves :


    Le premier sujet a l'aire de trouver une réponse...

  10. #10
    Membre Expert
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    700
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 700
    Par défaut
    Bonjour,
    la formule : ((ca * s * a * (1 - b)) / q) ^ (1 / b), revient à calculer la racine b-ième de (ca * s * a * (1 - b)) / q) que l'on appellera A.
    Si b est supérieur à 1, A est donc négatif et dans le monde des nombres réels, ce n'est pas possible sauf cas genre racine cubique de -27 (b=3, A=-27)
    Enfin si mes souvenirs sont bons.
    Mais je suppose que b est toujours inférieur à 1.
    Bien que n'ayant aucune compétence en hydrologie, j'ai parfois travaillé sur des dossiers "loi sur l'eau" et pour ma région, les coefficients Montana sont : a = 3,97 et b = 0,53.
    Je suppose que ces valeurs sont du même ordre pour les autres régions et dans ce cas ta fomule fonctionne.
    Autrement coté VB, il faut, dans les proriétés du projet, à l'onglet "compiler", cocher les Options sur "On".

  11. #11
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Janvier 2012
    Messages : 44
    Par défaut
    Bonjour,
    En effet, le b est toujours compris entre 0 et 1 et le calcul fonctionne.
    En fait, cela ne fonctionnait pas car pour faire la virgule, j'utilisais la touche du pavé numérique. Comment cela se fait-il que sa ne fonctionne pas avec cette touche? Si on ne peut pas utiliser cette touche, il faut que je mette une message d'erreur qui dit de modifier la virgule alors.

    J'ai une autre question aussi, le résultat est affiché avec 10 chiffres significatifs, est-il possible de modifier cela?
    Merci

  12. #12
    Membre Expert
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    700
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 700
    Par défaut
    Je suis partisan de vérifier les entrées utilisateurs au plus tôt.
    Par exemple lors de la validation de chaque TextBox :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        Private Sub tbxMontanaB_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles tbxMontanaB.Validating
            If Not IsNumeric(tbxMontanaB.Text) Then
                MessageBox.Show("Entrez une valeur numérique")
                e.Cancel = True
            End If
        End Sub
    Pour modifier la présentation de l'affichage tu peux jouer avec Double.ToString, méthode (String) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tbxRes.Text = "t0 = " & calcul1(CDbl(ca1), CDbl(s1), CDbl(q1), CDbl(a1), CDbl(b1)).ToString("0.00#")
    Enfin pour le séparateur décimal, il y a pas mal de discussions à ce sujet sur ce site.
    (Rappel : Option Strict sur On)

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

Discussions similaires

  1. Appel d'une fonction n'affiche pas le résultat
    Par Invité dans le forum Langage
    Réponses: 10
    Dernier message: 06/09/2011, 14h48
  2. [AC-2007] Champ de calcul TOTAL n'affiche pas le résultat.
    Par Kisty10 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 31/12/2010, 18h46
  3. Une fonction calcul qui ne calcule pas
    Par tranenengel dans le forum C
    Réponses: 3
    Dernier message: 18/06/2008, 12h11
  4. Fonction récursive qui ne renvoie pas le résultat
    Par mathieugamin dans le forum Langage
    Réponses: 4
    Dernier message: 05/11/2007, 10h29
  5. Réponses: 5
    Dernier message: 22/06/2007, 21h03

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