Probleme de construction de code ^^ vb.net

Résolu
T4rik Messages postés 18 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 10 juin 2009 - 15 févr. 2008 à 12:02
T4rik Messages postés 18 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 10 juin 2009 - 18 févr. 2008 à 23:04
Salut tout le monde


J'ai fait une calculatrice et je veux eviter la possibilité de repéter la virgule.

pour cela j'ai mes le code suivant :


 Dim virgule As Boolean

        If (lblresultat.Text "0" Or lblresultat.Text Nothing) Then

            lblresultat.Text = "0,"

            End If
            virgule = CBool(",")

            If virgule = False Then

                lblresultat.Text = lblresultat.Text + ","

        Else

            lblresultat.Text = lblresultat.Text + ","

        End If

je sais pas si le code est correcte ... mais S'il vous plait est ce que quelqun peut m'aidé


Et Merci D'avance

I'm totaly a begginer

7 réponses

NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
15 févr. 2008 à 15:53
Bonjour

Je pencherais pour un code de ce genre :

'Si une , et un . n'est pas présent
If not(LblResultat.Text.Contains(","c) or LblResultat.Text.Contains("."c)) then
    'Alors on ajoute le signe décimal
    LblResultat.Text+=cstr(1.1).SubString(1,1)
end if

Dans Word, j'Excel. (juste pour la citation)
VB (6, .NET1&2), C++, C#.Net1
Mon site
3
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
18 févr. 2008 à 09:12
Bonjour

Cstr convertit un objet en string (ici un nombre), comme i s'agit d'un nombre à virgule, la virgule apparaitra en 2ième position ("1.1" ou "1,1"), ensuite SubString permet de récupérer une partie de la String, le 2ième caractère seulement ("1,1" donne 2ièm" caractère (on part de 0 et non de 1) sur une longueur de 1 caractère.

Dans Word, j'Excel. (juste pour la citation)
VB (6, .NET1&2), C++, C#.Net1
Mon site
3
T4rik Messages postés 18 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 10 juin 2009
15 févr. 2008 à 12:06
dsl j'ai commis une faute ..
virgule = CBool(",")
            If virgule = False Then
                lblresultat.Text = lblresultat.Text + ","
        Else
        lblresultat.Text = lblresultat.Text + "," <= ici  lblresultat.Text = lblresultat.Text ^^
        End If
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
15 févr. 2008 à 12:27
Bonjour

Un regard rapide :
- Tu pars du postula que la "," sert de spéarateur décimal, ce qui n'est pas forcément le cas (cela peut être un "." par exemple)
- CBool(",") ? Qu'est-ce que tu veux faire avec ? Regardes peut être la fonction "InStr".

d'autre part, dans quel partie de ton code, tu as mis cette partie (fonction/sub, gestionnaire d'evenement) ?

Dans Word, j'Excel. (juste pour la citation)
VB (6, .NET1&2), C++, C#.Net1
Mon site
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
T4rik Messages postés 18 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 10 juin 2009
15 févr. 2008 à 13:33
dsl mais j'ai pas compris votre question 
(j'essaye d'apprendre la Programmation evenementiel)
ignorez le code que j'ai ecris ... est ce que vous pouvez me donner le code pour eviter la répitition du virgule ... et comment peux limliter la taile mon label d'affichage ( le nombre de chiffres a ecrire et a afficher )

Et merci bcp 

    Private Sub cmdvirgule_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdvirgule.Click
        Dim virgule As Boolean        If (lblresultat.Text "0" Or lblresultat.Text Nothing) Then
            lblresultat.Text = "0."
        End If
     ....
            lblresultat.Text = lblresultat.Text + "."
        End If
    End Sub

I'm totaly a begginer
0
T4rik Messages postés 18 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 10 juin 2009
15 févr. 2008 à 23:38
Merci bcp Mr.henry pour votre aide
excusez moi pr cette question mais c'est quoi le role de c qui est en bleu

'Si une , et un . n'est pas présent
If not(LblResultat.Text.Contains(","c) or LblResultat.Text.Contains("."c)) then
    'Alors on ajoute le signe décimal
 
et svp pouvez vous me traduire cette ligne en quelques phrases ^^ parceque je la pas bien compris

  LblResultat.Text+=cstr(1.1).SubString(1,1)
end if

I'm totaly a begginer
0
T4rik Messages postés 18 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 10 juin 2009
18 févr. 2008 à 23:04
Je vous remercie Mr.henry une dexieme fois ^^
0
Rejoignez-nous