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 :

mémorisation des valeurs d'entrée


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 48
    Par défaut mémorisation des valeurs d'entrée
    Bonjour, voici mon programme(ci-dessous), tout d'abord l'utilisateur selectionne la branche n°1, rentre les caractéristiques correspondantes,puis clique sur le bouton branche suivante. Il faudrait alors revenir sur cette page pour renter les valeurs de la branche 2 en ayant gardé en mémoire les valeurs précédentes (branche 1). Ainsi, lorsqu'on clique sur le boutton Calcul, on obtiendra un résultat liant les deux branches qu'elles soient en série ou en parallèle. Mais mon probleme est bien celui de la mémorisation, je me débrouillerais seul l pour le reste.


    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
    91
    92
    93
    94
    95
    96
    Private Sub ButtonCalcul2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonCalcul2.Click
            If Verification() Then
                Me.LabelQmax.Text = "Q = " & CalculCaquot().ToString("0.0#") & " litres par seconde"
            Else
                Me.erreur2.Visible = True
            End If
        End Sub
     
        Function Verification() As Boolean
            Dim Bon As Boolean = True
            If Me.Labela2.Text Is Nothing Or Not IsNumeric(Me.Labela2.Text) Then
                MessageBox.Show("Entrez une valeur numérique pour a")
                Bon = False
            Else
                Select Case CType(Me.Labela2.Text, Double)
                    Case Is < 0
                        MessageBox.Show("Entrez une valeur positive pour a")
                        Bon = False
                End Select
            End If
            If Me.Labelb2.Text Is Nothing Or Not IsNumeric(Me.Labelb2.Text) Then
                MessageBox.Show("Entrez une valeur numérique pour b")
                Bon = False
            Else
                Select Case CType(Me.Labelb2.Text, Double)
                    Case Is < 0
                        MessageBox.Show("Entrez une valeur positive pour b")
                        Bon = False
     
                    Case Is > 1
                        MessageBox.Show("Entrez une valeur entre 0 et 1 pour b")
                        Bon = False
                End Select
            End If
            If Me.LabelS2.Text Is Nothing Or Not IsNumeric(Me.LabelS2.Text) Then
                MessageBox.Show("Entrez une valeur numérique pour S")
                Bon = False
            Else
                Select Case CType(Me.LabelS2.Text, Double)
                    Case Is < 0
                        MessageBox.Show("Entrez une valeur positive pour S")
                        Bon = False
                End Select
            End If
            If Me.LabelL.Text Is Nothing Or Not IsNumeric(Me.LabelL.Text) Then
                MessageBox.Show("Entrez une valeur numérique pour L")
                Bon = False
            Else
                Select Case CType(Me.LabelL.Text, Double)
                    Case Is < 0
                        MessageBox.Show("Entrez une valeur positive pour L")
                        Bon = False
                End Select
            End If
            If Me.LabelC.Text Is Nothing Or Not IsNumeric(Me.LabelC.Text) Then
                MessageBox.Show("Entrez une valeur numérique pour C")
                Bon = False
            Else
                Select Case CType(Me.LabelC.Text, Double)
                    Case Is < 0
                        MessageBox.Show("Entrez une valeur positive pour C")
                        Bon = False
                    Case Is > 1
                        MessageBox.Show("Entrez une valeur entre 0 et 1 pour C")
                        Bon = False
                End Select
            End If
            If Me.LabelI.Text Is Nothing Or Not IsNumeric(Me.LabelI.Text) Then
                MessageBox.Show("Entrez une valeur numérique pour I")
                Bon = False
            Else
                Select Case CType(Me.LabelI.Text, Double)
                    Case Is < 0
                        MessageBox.Show("Entrez une valeur positive pour I")
                        Bon = False
                End Select
            End If
            Return Bon
        End Function
     
        Function CalculCaquot() As Double
            Dim C As Double = Convert.ToDouble(Me.LabelC.Text)
            Dim S2 As Double = Convert.ToDouble(Me.LabelS2.Text)
            Dim I As Double = Convert.ToDouble(Me.LabelI.Text)
            Dim a2 As Double = Convert.ToDouble(Me.Labela2.Text)
            Dim b2 As Double = Convert.ToDouble(Me.Labelb2.Text)
            Dim L As Double = Convert.ToDouble(Me.LabelL.Text)
            Dim LabelQmax As Double
     
            LabelQmax = ((((a2 / 396) * (0.28 * (L / 100) ^ 0.84 * (S2 / 10000) ^ -0.42) ^ -b2) ^ (1 / (1 - 0.287 * b2))) * (C ^ (1 / (1 - 0.287 * b2))) * ((I / 100) ^ ((0.41 * b2) / (1 - 0.287 * b2))) * ((S2 / 10000) ^ ((0.95 - 0.507 * b2) / (1 - 0.287 * b2)))) * 1000
            Return LabelQmax
        End Function
     
     
     
    End Class



    Merci

  2. #2
    Membre Expert Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Par défaut
    Bonjour,

    petite question, pourquoi mémoriser les valeurs précédentes?
    la branche 1 et la branche 2 ne sont pas sur le même formulaire?

  3. #3
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut
    Vu qu'il y a une liste déroulante pour choisir la branche avec laquelle faire des calculs, j'imagine qu'il veut vouloir faire les calculs après avoir saisi x branches.

    Je commencerais par créer un objet "Branche", qui contient autant de propriétés qu'il y a de champs dans le formulaire.

    Lors du click sur suivant, instanciation d'un nouvel objet Branche avec les valeurs du formulaire, et stockage dans une List<Branche> au niveau d'un objet global (la Form par exemple) à l'aide d'un maliste.Add(new Branche(textbox1.text, textbox2.text, etc.))

    Ensuite, tu as :

    list[i] = branche numéro i

    Ainsi tu peux mémoriser autant de branches que tu veux.

    Tu implémentes ensuite un CalculAvec(Branche b) et/ou un CalculAvec(int i)
    => Qui permet de faire les calculs entre la branche courante et la branche passée en paramètre (ou dont l'index est passé en paramètre).

    Ou alors une méthode statique :
    Calcul(Branche b1, Branche b2) qui permet de faire les calculs entre les deux branches passées en paramètres.

    Méthode que tu appelles au moment du click sur le bouton Calcul.

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 48
    Par défaut probleme de comprehension
    re bonjour, j'ai bien lu votre réponse, mais étant donné que je suis encore débutant sur VB, je n'ai pas tout compris. Pourriez m'éclairer davantage? Merci.

Discussions similaires

  1. [AC-2007] VBA trouver des valeurs comprises entre valeurs min et max
    Par botaenviro dans le forum IHM
    Réponses: 2
    Dernier message: 14/11/2013, 04h47
  2. Réponses: 7
    Dernier message: 21/01/2011, 09h48
  3. [WD15] Mémorisation des valeurs
    Par wd_newbie dans le forum WinDev
    Réponses: 6
    Dernier message: 29/12/2010, 00h08
  4. Réponses: 1
    Dernier message: 02/07/2010, 15h25
  5. Réponses: 2
    Dernier message: 22/05/2006, 16h38

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