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 :

Problème avec GET [Débutant(e)]


Sujet :

VB.NET

  1. #1
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 100
    Points : 77
    Points
    77
    Par défaut Problème avec GET
    Bonjour,


    Je tourne en round, j'ai une classe cCalculatrice :

    Code vb.net : 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
    Public Class cCalculatrice
     
        Dim Pile0 As Decimal
        Dim Pile1 As Decimal
        Dim Resultat As Decimal
        Dim Operateur As Char
     
        Sub Addition(ByVal dNb As Decimal)
            Pile0 = dNb
            Operateur = "+"
        End Sub
     
        Sub Egal(ByVal dNb As Decimal)
            Pile1 = dNb
            Operation()
        End Sub
     
        Sub Operation()
            Select Case Operateur
                Case "+"
                    Resultat = Pile0 + Pile1
                Case Else
                    Resultat = 0
            End Select
        End Sub
    End Class


    Je cherche un moyen de rajouter à cette classe une méthode Get pour recuperer la valeur Resultat, par ex:

    Code vb.net : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Class Form1
    Dim Calculatrice as cCalculatrice
    Dim Nb as Decimal
     
    Nb = Calculatrice.Get()
     
    End Class

    Je debute avec le Vb, et je n'arrive pas à comprendre comment on se sert de Get avec ce langage. Quelqu'un pourrait-il m'aider?

    Merci d'avance

    Menontona

  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 : 42
    Localisation : Belgique

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Points : 4 232
    Points
    4 232
    Par défaut
    Hello,
    regarde après property : http://plasserre.developpez.com/v5-2.htm
    bien à toi

  3. #3
    Membre expérimenté
    Avatar de FRED.G
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 032
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 032
    Points : 1 505
    Points
    1 505
    Par défaut
    Tu peux utiliser Property ou bien transformer directement des méthodes Sub en méthodes Function. Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        Function Operation() as Integer
            Select Case Operateur
                Case "+"
                    Resultat = Pile0 + Pile1
                Case Else
                    Resultat = 0
            End Select
            Return Resultat
        End Function
    Ceci n'est qu'un exemple de syntaxe correcte à partir de ton code. Je ne rentre pas dans les autres détails car tu débutes.

  4. #4
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 100
    Points : 77
    Points
    77
    Par défaut
    J'ai un avertissement qui donne un Stack overflow à l'execution.
    Le code:

    Friend Class cCalculatrice
    Private _dOpenrande0, _dOpenrande1 As Decimal, _cOperateur As Char

    Friend Property _dResultat() As Decimal
    Get
    Return _dResultat
    End Get
    Set(ByVal value As Decimal)
    _dResultat = value
    End Set
    End Property
    End Class

    L'avertissement (concernant la ligne du Set):

    Avertissement 1 L'expression appelle de manière récursive la propriété conteneur '_dResultat'. C:\xxx\Bureau\Calculatrice2\Calculatrice2\Class_Calculatrice.vb 9 13 Calculatrice2


  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 : 42
    Localisation : Belgique

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Points : 4 232
    Points
    4 232
    Par défaut
    Utilise resultat = value au lieu de _dResultat = value dans ton set car en faisant ca tu appelles a chaque fois le set de la propriété _dResultat.

    EDIT : dans ton get aussi tu dois mettre résultat...
    En faite la propriété renvoie ce que tu lui dit de renvoyer mais il faut que tu aie une variable qui contienne ce que la propriété va renvoyer, ce que tu n'a pas dans ton bout de code précédent.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Friend Class cCalculatrice
    Private resultat, _dOpenrande0, _dOpenrande1 As Decimal, _cOperateur As Char
    
    Friend Property _dResultat() As Decimal
    Get
    Return resultat
    End Get
    Set(ByVal value As Decimal)
    
    P.S. : Pense à mettre les balise code, c'est mieux pour la visualisation ;)
    resultat = value
    End Set
    End Property
    End Class

  6. #6
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 100
    Points : 77
    Points
    77
    Par défaut
    c'est sympa, merci.

Discussions similaires

  1. problème avec gets
    Par jaimelagalette dans le forum Débuter
    Réponses: 2
    Dernier message: 13/10/2009, 00h32
  2. Langage c : problème avec gets
    Par aurelien1606 dans le forum Bibliothèque standard
    Réponses: 3
    Dernier message: 09/02/2009, 02h03
  3. [Cookies] Problème avec GET
    Par philippef dans le forum Langage
    Réponses: 6
    Dernier message: 08/03/2006, 15h56
  4. Problèmes avec gets
    Par al85 dans le forum C
    Réponses: 6
    Dernier message: 11/05/2005, 08h42
  5. problème avec GET DIAGNOSTICS
    Par hpghost dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 07/07/2004, 11h59

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