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 :

incrémentation nombre sur plusieurs interfaces [Débutant]


Sujet :

VB.NET

  1. #1
    Membre éclairé Avatar de stracoma
    Homme Profil pro
    Médecin
    Inscrit en
    Août 2013
    Messages
    413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Maroc

    Informations professionnelles :
    Activité : Médecin

    Informations forums :
    Inscription : Août 2013
    Messages : 413
    Par défaut incrémentation nombre sur plusieurs interfaces
    Bonjour à vous.
    Etant débutant je crée des exercices d'entrainement.
    Dans cet exercice je tombe sur un problème que j'arrive à résoudre tout seul
    Nom : gha7.jpg
Affichages : 182
Taille : 14,3 Ko

    Le but est d'activer le RadioButton adéquat (le continent où se trouve le pays en question). si c'est le bon RadioButton on gagne 100 points sinon on perd 100.

    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 Pays
        Public nom As String
        Public bon_choix As Integer
        Public amerique As String
        Public asie As String
        Public europe As String
        Public afrique As String
        ' Public Shared score As Integer = 0
        Public Sub New(ByVal nnom As String, ByVal bchoix As Integer)
            Me.nom = nnom
            Me.bon_choix = bchoix
            Me.amerique = "Amerique"
            Me.europe = "Europe"
            Me.afrique = "Afrique"
            Me.asie = "Asie"
        End Sub
    End Class
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    Public Class Form1
     
        Dim tablo(7) As Pays
        Dim indice As Integer = -1
        Dim score As Integer
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
     
            ' ===== Création des objets ========
            Dim b1 As New Pays("Tunisie", 2)
            ReDim Preserve tablo(0)
            tablo(0) = b1
            Dim b2 As New Pays("Norvège", 4)
            ReDim Preserve tablo(1)
            tablo(1) = b2
            Dim b3 As New Pays("Brésil", 1)
            ReDim Preserve tablo(2)
            tablo(2) = b3
            Dim b4 As New Pays("Chine", 3)
            ReDim Preserve tablo(3)
            tablo(3) = b4
            Dim b5 As New Pays("Nepal", 3)
            ReDim Preserve tablo(4)
            tablo(4) = b5
            Dim b6 As New Pays("France", 4)
            ReDim Preserve tablo(5)
            tablo(5) = b6
            Dim b7 As New Pays("Maroc", 2)
            ReDim Preserve tablo(6)
            tablo(6) = b7
            Dim b8 As New Pays("Canada", 1)
            ReDim Preserve tablo(7)
            tablo(7) = b8
            '==== Décocher tous les radiobutton ====
            For Each rdb In Controls.OfType(Of RadioButton)()
                rdb.Checked = False
     
            Next
            ' === Affichage fenêtre ====
            affiche_suivant()
     
     
        End Sub
        ' === sub Affichage ====
        Public Sub affiche_suivant()
            If (indice < tablo.Length - 1) Then
                indice += 1
                Me.Label1.Text = tablo(indice).nom
                Me.RadioButton1.Text = tablo(indice).amerique
                Me.RadioButton2.Text = tablo(indice).afrique
                Me.RadioButton3.Text = tablo(indice).asie
                Me.RadioButton4.Text = tablo(indice).europe
                Me.Label2.Text = score.ToString
            Else
                Me.Button1.Enabled = False
            End If
        End Sub
     
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
     
            Select Case Me.tablo(indice).bon_choix
                Case 1
                    If (Me.RadioButton1.Checked = True) Then
                        score += 100
                    Else
                        score -= 100
                    End If
                Case 2
                    If (Me.RadioButton2.Checked = True) Then
                        score += 100
                    Else
                        score -= 100
                    End If
                Case 3
                    If (Me.RadioButton3.Checked = True) Then
                        score += 100
                    Else
                        score -= 100
                    End If
                Case 4
                    If (Me.RadioButton4.Checked = True) Then
                        score += 100
                    Else
                        score -= 100
                    End If
     
            End Select
     
            affiche_suivant()
        End Sub
    End Class
    Le problème au dernier clic sur Button il n'a pas d'incrémentation du score (8 réponses juste, donnent 700 points), pourquoi?
    Merci

  2. #2
    Membre Expert

    Homme Profil pro
    Responsable des études
    Inscrit en
    Mars 2009
    Messages
    553
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2009
    Messages : 553
    Par défaut
    Hello,
    Je pense qu'une bonne relecture de ton code et éventuellement l'utilisation d'un débogueur te permettraient de trouver ton erreur.
    Petit indice: Le score est bien incrémenté, c'est l'affichage qui ne fonctionne pas...

  3. #3
    Membre éclairé Avatar de stracoma
    Homme Profil pro
    Médecin
    Inscrit en
    Août 2013
    Messages
    413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Maroc

    Informations professionnelles :
    Activité : Médecin

    Informations forums :
    Inscription : Août 2013
    Messages : 413
    Par défaut
    Merci infiniment
    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
     Public Sub affiche_suivant()
            If (indice < tablo.Length - 1) Then
                indice += 1
                Me.Label1.Text = tablo(indice).nom
                Me.RadioButton1.Text = tablo(indice).amerique
                Me.RadioButton2.Text = tablo(indice).afrique
                Me.RadioButton3.Text = tablo(indice).asie
                Me.RadioButton4.Text = tablo(indice).europe
                Me.Label2.Text = score.ToString
            Else
                Me.Button1.Enabled = False
                Me.Label2.Text = score.ToString 'Avec cette ligne ça marche
            End If
     
        End Sub

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

Discussions similaires

  1. OpenVPN sur plusieurs interfaces
    Par slyz0r dans le forum Réseau
    Réponses: 0
    Dernier message: 24/06/2014, 21h39
  2. Réponses: 13
    Dernier message: 04/03/2014, 12h47
  3. [XL-MAC 2008] Recopier une série de nombres sur plusieurs lignes
    Par jibi23 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 29/03/2013, 09h33
  4. Réponses: 5
    Dernier message: 13/06/2012, 22h46
  5. même adresse IP sur plusieurs interfaces réseaux
    Par crc16 dans le forum Développement
    Réponses: 0
    Dernier message: 04/02/2010, 13h23

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