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 :

Créer une calculatrice


Sujet :

VB.NET

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 21
    Points : 9
    Points
    9
    Par défaut Créer une calculatrice
    Bonjour à tous,

    Je poste ici, car il me semble que c'est le bon endroit.
    J'essai d'utiliser Visual studio express2013, pour transposer une appli que j'ai faite sous excel, mais je n'y connais pas grand chose, et je rame.....
    J'arrive a créer une fenêtre, mettre un bouton clic, et afficher une action.....vous voyez le niveau

    Ce que je voudrais faire est à la base relativement simple (pas pour moi), c'est:

    Dans une fenêtre, avoir deux cases input, et une case resultat et un bouton RESET pour mettre les cases a 0
    Je rentre un chiffre dans la case A, un chiffre dans la case B, et en C j'ai la somme.
    en quelque sorte une super calculatrice......

    Si quelqu'un pouvait avoir la sympathie de m'aider pour avoir ce bout de code, ca serait merveilleux, après je pourrai avancer.

    Merci d'avance.

  2. #2
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour

    Citation Envoyé par franckylebo Voir le message
    Bonjour à tous,

    Je poste ici, car il me semble que c'est le bon endroit.
    J'essai d'utiliser Sharpdevelop en VB, pour transposer une appli que j'ai faite sous excel, mais je n'y connais pas grand chose, et je rame.....
    J'arrive a créer une fenêtre, mettre un bouton clic, et afficher une action.....vous voyez le niveau
    Merci d'avance.
    Je ne sais pas trop ce que cela peut donner avec Sharpdevelop, mais, il y a quand même ceci chez Microsoft. Au pire tu peux afficher le code dans le bloc-notes et faire du copier-coller:

    https://code.msdn.microsoft.com/Calculator2-d2c10202

    https://code.msdn.microsoft.com/VBNe...lator-08065b6b
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 21
    Points : 9
    Points
    9
    Par défaut
    merci Clement,
    Je suis entre temps passé sous Visual studio express 2013, qui est beaucoup plus documenté, j'ai donc modifié mon poste initiale.
    Ok pour les liens, mais c'est trop hard pour moi pour l'instant, je vais essayé de decoder, mais mon plus gros soucis, c'est de ne pas savoir comment structurer ma démarche.....
    @+

  4. #4
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Citation Envoyé par franckylebo Voir le message
    merci Clement,
    Je suis entre temps passé sous Visual studio express 2013, qui est beaucoup plus documenté, j'ai donc modifié mon poste initiale.
    Ok pour les liens, mais c'est trop hard pour moi pour l'instant, je vais essayé de decoder, mais mon plus gros soucis, c'est de ne pas savoir comment structurer ma démarche.....
    @+
    Il y a une bible gratuite juste-là (avec des liens de téléchargement au bas de la page) :

    http://plasserre.developpez.com/cours/vb-net/
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 21
    Points : 9
    Points
    9
    Par défaut
    oui je l'ai vu et j'ai commencé à mettre en pratique. Par contre j'ai du mal a mettre dans mon contexte class et objet et a structurer mon code.
    merci en tout cas, je continue mes test, mais c'est cho!

  6. #6
    Membre habitué
    Homme Profil pro
    Automaticien
    Inscrit en
    Avril 2014
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Automaticien
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 96
    Points : 166
    Points
    166
    Par défaut
    Bonjour Francky,

    Alors pour cela, il te faut 2 contrôles NumericUpDown , une TextBox et 2 boutons :

    Voici le code à associé à ta Windows Form :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Public Class Form1
     
        Private Sub Bt_Calcul_Click(sender As Object, e As EventArgs) Handles Bt_Calcul.Click
            TextBox1.Enabled = False ' Permet de ne pas pouvoir modifier le résultat
            TextBox1.Text = (NumericUpDown1.Value + NumericUpDown2.Value).ToString 'Type attendu de TextBox est un String donc on convertie les valeurs numériques en String
        End Sub
     
        Private Sub Bt_Reset_Click(sender As Object, e As EventArgs) Handles Bt_Reset.Click
            NumericUpDown1.Value = 0 'On remet à 0 
            NumericUpDown2.Value = 0 'On remet à 0 
        End Sub
    End Class
    En espérant que ça puisse t'aider,

    Cordialement,

  7. #7
    Membre à l'essai
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Novembre 2014
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Novembre 2014
    Messages : 17
    Points : 19
    Points
    19
    Par défaut
    Tu peux aussi faire avec trois textbox

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
      Private Sub calcul_Click(sender As Object, e As EventArgs) Handles calcul.Click
            If (TextBox1.Text <> "") And (IsNumeric(TextBox1.Text)) Then ' Vérifier que le textbox ne soit pas vide et que se soit bien des nombres
                If (TextBox2.Text <> "") And (IsNumeric(TextBox2.Text)) Then
                    TextBox3.Text = Double.Parse(TextBox1.Text) + Double.Parse(TextBox2.Text) 'convertir string et nombre et faire la somme
                End If
            End If
        End Sub
     
        Private Sub reset_Click(sender As Object, e As EventArgs) Handles reset.Click
            TextBox1.Text = ""
            TextBox2.Text = ""
            TextBox3.Text = ""
     
        End Sub
    L'utilisation de textbox te permettre de pouvoir taper directement tes nombres et la transformation en double plutôt que integer d'utilisé les nombres à virgules

  8. #8
    Membre habitué
    Homme Profil pro
    Automaticien
    Inscrit en
    Avril 2014
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Automaticien
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 96
    Points : 166
    Points
    166
    Par défaut
    Citation Envoyé par E.M.Kham Voir le message
    L'utilisation de textbox te permettre de pouvoir taper directement tes nombres et la transformation en double plutôt que integer d'utilisé les nombres à virgules
    Tu peux utiliser la propriété .DecimalPlaces (en la mettant à 1,2,3,4) d'un contrôle NumericUpDown afin d'utiliser des nombres à virgules.
    De plus, dans ce contrôle tu n'as pas à vérifier si il s'agit déjà de nombre.
    Enfin, il est possible de saisir des chiffres au clavier dans ce contrôle.


    Lorsqu'il existe un contrôle destiné à l'utilisation des nombres, il vaut mieux l'utiliser.

    Cordialement,

    Armand

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 21
    Points : 9
    Points
    9
    Par défaut
    merci Armand et Kham.
    Bon c'est pas evident à tester, car je ne sais pas ou mettre votre code, mais j'essai de comprendre...et je butte ici:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Bt_Calcul_Click(sender As Object, e As EventArgs) Handles Bt_Calcul.Click
    je ne comprends pas cette ligne, j'ai pas d'outils Calcul_clik??

  10. #10
    Membre éprouvé

    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Israël

    Informations forums :
    Inscription : Mars 2012
    Messages : 691
    Points : 929
    Points
    929
    Par défaut
    Salut

    Bt_Calcul c'est le nom donné au control button
    Bt_Calcul_Click est l'évenement click de ce bouton
    place sur ta form un button et nomme le Bt_Calcul
    va à la partie code (form1.vb)
    dans l'intellisense de gauche cherche Bt_Calcul et avec l'intellisense de droite cherche l'évenement click
    cela introduit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Bt_Calcul_Click(sender As Object, e As System.EventArgs) Handles Bt_Calcul.Click
     
        End Sub
    après je pourrai avancer
    c.a.d ajouter d'autre opérateur ?

  11. #11
    Membre habitué
    Homme Profil pro
    Automaticien
    Inscrit en
    Avril 2014
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Automaticien
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 96
    Points : 166
    Points
    166
    Par défaut
    Il y a une bible gratuite juste-là (avec des liens de téléchargement au bas de la page) :

    http://plasserre.developpez.com/cours/vb-net/
    C'est vrai que à partir du moment où il ne connait pas les bases, ça va être très dur d'avancer.

    Je plussoie Clément sur le fait que tu devrais lire la bible de Philippe Lasserre.

  12. #12
    Membre à l'essai
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Novembre 2014
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Novembre 2014
    Messages : 17
    Points : 19
    Points
    19
    Par défaut
    Autant pour moi Ekideta je ne connaissais pas ces spécificités de numericupdown

  13. #13
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 21
    Points : 9
    Points
    9
    Par défaut
    merci à tous.
    La bible je l'ai lu, j'ai même récupéré les vidéo en support de cour, j'ai manipé, mais il y a des choses qui restent assez flou, et puis je veux peut être trop en absorber, donc ca déborde...
    Mais c'est pas mal, vous m'avez donné l'impulsion, je vais bosser un peu, et reviendrai vers vous. Très très intéressant tout ca.
    Passer de bonnes fêtes de Noel.

    PS: je n'ai pas pu attendre.....shayw m'a bien eclairé sur la façon de faire, et j'ai pris le code de Kham, ca fonctionne....je me sens poussé des ailes

    J'ai capté le code et la methode, par contre il y a des termes dans cette ligne que je ne comprends pas:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Bt_Calcul_Click(sender As Object, e As EventArgs) Handles Bt_Calcul.Click
    sender As Object ??
    e As EventArgs ??
    Handles ??


    Frank

  14. #14
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 21
    Points : 9
    Points
    9
    Par défaut
    Bonjour,

    J'ai voulu modifier le code pour supprimer le bouton calcul_clik, et faire en sorte que le calcul soit automatique dans la textbox3. Ca fonctionne mal, car pour avoir le resultat, je dois cliqué dans la textbox3, je n'ai pas le resultat direct.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Public Class Form1
     
        Private Sub TextBox3_TextChanged(sender As Object, e As EventArgs) Handles TextBox3.TextChanged
            If (TextBox1.Text <> "") And (IsNumeric(TextBox1.Text)) Then ' Vérifier que le textbox ne soit pas vide et que se soit bien des nombres
                If (TextBox2.Text <> "") And (IsNumeric(TextBox2.Text)) Then
                    TextBox3.Text = (Double.Parse(TextBox1.Text) + Double.Parse(TextBox2.Text)) 'convertir string et nombre et faire la somme
                End If
            End If
     
        End Sub
     
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            TextBox1.Text = "" 'remet a 0 les zones de texte 1 2 3 
            TextBox2.Text = ""
            TextBox3.Text = ""
        End Sub
    End Class
    comment faire pour avoir le resultat directement dans textbox3 apres avoir saisi textbox1 et 2 ???

    En faite je suis pas sur qu'il faille utiliser Textbox, j'ai vu qu'il existait aussi Messagbox, pas trop compris la différence.
    merci

  15. #15
    Membre à l'essai
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Novembre 2014
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Novembre 2014
    Messages : 17
    Points : 19
    Points
    19
    Par défaut
    les messagebox sont des fenêtres surgissantes (popup) donc pas tout a fait ce que tu cherches

    Par contre pour le calcul auto ça dépend de ce que tu veux faire (tous ces exemples partent du principe que le textbox2 et le deuxième à être renseigné)

    tu peux faire le calcul dès que le texte change
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Private Sub TextBox2_TextChanged(sender As Object, e As EventArgs) Handles TextBox2.TextChanged
            If (TextBox1.Text <> "") And (IsNumeric(TextBox1.Text)) Then ' Vérifier que le textbox ne soit pas vide et que se soit bien des nombres
                If (TextBox2.Text <> "") And (IsNumeric(TextBox2.Text)) Then
                    TextBox3.Text = Double.Parse(TextBox1.Text) + Double.Parse(TextBox2.Text) 'convertir string et nombre et faire la somme
                End If
            End If
        End Sub
    Dès que le textbox perd le focus (on quitte le textbox)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     Private Sub TextBox2_quit(sender As Object, e As EventArgs) Handles TextBox2.LostFocus
            If (TextBox1.Text <> "") And (IsNumeric(TextBox1.Text)) Then ' Vérifier que le textbox ne soit pas vide et que se soit bien des nombres
                If (TextBox2.Text <> "") And (IsNumeric(TextBox2.Text)) Then
                    TextBox3.Text = Double.Parse(TextBox1.Text) + Double.Parse(TextBox2.Text) 'convertir string et nombre et faire la somme
                End If
            End If
    End Sub
    Ou lors d'un appui sur entrée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
       Private Sub touche_entree(ByVal sender As Object, ByVal e As KeyEventArgs) Handles TextBox2.KeyDown
            If e.KeyData = Keys.Enter Then
                If (TextBox1.Text <> "") And (IsNumeric(TextBox1.Text)) Then ' Vérifier que le textbox ne soit pas vide et que se soit bien des nombres
                    If (TextBox2.Text <> "") And (IsNumeric(TextBox2.Text)) Then
                        TextBox3.Text = Double.Parse(TextBox1.Text) + Double.Parse(TextBox2.Text) 'convertir string et nombre et faire la somme
                    End If
                End If
            End If
        End Sub

  16. #16
    Membre éprouvé

    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Israël

    Informations forums :
    Inscription : Mars 2012
    Messages : 691
    Points : 929
    Points
    929
    Par défaut
    Bonjour

    Si on code en net il faut éviter d'utiliser les fonctions du vb6
    ex isnumeric -> Integer.TryParse
    décocher le namespace visualbasic du tableau des réferences


    citation du cours Phillipe Lassere

    Il faut rapidement ne pas utiliser du tout la classe de compatibilité VB 6 , éviter les instructions héritées de VB6, privilégier l'usage des classes du FrameWork.

  17. #17
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2013
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2013
    Messages : 235
    Points : 359
    Points
    359
    Par défaut
    Bonjour,
    décocher le namespace visualbasic du tableau des réferences
    A ajouter également tout en haut:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Option Explicit On
    Option Strict On
    Ce qui servira (entre autres) à éviter des erreurs de conversion de types.
    Par nature les mots, ils sont flous, c'est une fois alignés qu'ils se précisent.

  18. #18
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 21
    Points : 9
    Points
    9
    Par défaut
    Tout compris HEKham, bravo pour ton tuto live.
    Je comprends maintenant la syntaxe, et les subtilitées, j'ai validé les différents fonctionnements, tous est OK.
    Pour les remarques de ACIV et Shayw:
    decocher namespace visualbasic du tableau des références
    c'est ou ce truc?
    que faut il mettre alors à la place de Ismuneric en equivalent Framwork ?

  19. #19
    Membre éprouvé

    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Israël

    Informations forums :
    Inscription : Mars 2012
    Messages : 691
    Points : 929
    Points
    929
    Par défaut
    1 clique sur projet

    Nom : project.png
Affichages : 4461
Taille : 12,2 Ko

    2 clique sur proprieté
    Nom : properties.png
Affichages : 4595
Taille : 16,6 Ko
    ensuite
    3 clique l'onglet compile
    et change option strict et option explicit à On
    4 clique l'onglet référence
    et dans le tableau en bas décoche microsoft.visualbasic

    isnumeric -> Integer.TryParse

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
      Dim str As String = "12334"
            Dim res As Integer
            'on verifie si str est numérique si oui le résultat est assigné à res
            If Integer.TryParse(str, res) Then
     
            End If

  20. #20
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 21
    Points : 9
    Points
    9
    Par défaut
    ok pour l'info, je ne sais pas pourquoi il y a un manque de compatibilité entre VB et framwork (d'après ce que j'ai compris), mais bon, tant qu'a faire, vaut autant être carré des le début.
    En tout cas, ta solution fonctionne , ca me permet de voir les différentes possibilités.

    Dis moi, DIM c'est pour déclarer des variables ? et str , res sont les variables ?

    Allez je décroche momentanément, joyeux Noel à tous, et merci encore pour votre aide précieuse et votre patience.

Discussions similaires

  1. [Crystal Report 8] créer une source de données oracle
    Par Lina dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 14/11/2002, 13h53
  2. [Réseau] Créer une connexion Internet
    Par Tranber dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 17/10/2002, 17h01
  3. créer une arborescence windows sous forme d'arbre java
    Par chupachoc dans le forum Composants
    Réponses: 3
    Dernier message: 01/10/2002, 16h48
  4. Créer une fenêtre flottante qui ne peut avoir le focus
    Par BestofMac dans le forum Composants VCL
    Réponses: 4
    Dernier message: 17/07/2002, 10h46
  5. Peux t'on créer une copie locale de l'objet partagé?
    Par Anonymous dans le forum CORBA
    Réponses: 8
    Dernier message: 16/04/2002, 16h20

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