Problème keyascii dans keypress

Résolu
Signaler
Messages postés
20
Date d'inscription
mardi 6 février 2007
Statut
Membre
Dernière intervention
12 juin 2007
-
Messages postés
20
Date d'inscription
mardi 6 février 2007
Statut
Membre
Dernière intervention
12 juin 2007
-
salut....j ai un probléme en vb 2005...Dans une zone d texte, j veux que quand j écris un virgule ,cette dernière doit être convertie en point.




j ai déjà fait ça en vb6 et voici le code

Private Sub Textbox2_KeyPress(KeyAscii As Integer)If KeyAscii 44 Or KeyAscii 46 Then
If InStr(Textbox2, ",") > 1 Then KeyAscii = 0: Exit Sub
KeyAscii = 44
End If




If KeyAscii <> 8 And KeyAscii <> 44 Then
If KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 0
End If
End Sub

J veux réécrire ce code en vb2005 ...J espere que vous puissiez m aider.....merci

5 réponses

Messages postés
79
Date d'inscription
lundi 28 août 2006
Statut
Membre
Dernière intervention
4 avril 2009
1
Pardon voici une procédure complete en VB2005 qui contient une textbox et un bouton.

Lorsque tu cliques sur le bouton, la chaine de caractère inscrite dans la textbox est modifié pour remplacé
toutes les virgules par des points comme tu le souhaité.

Private Sub test()
        Dim Str As String
        Str = TextBox2.Text.Replace(",", ".")
        TextBox2.Text = Str
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        test()
    End Sub
Messages postés
79
Date d'inscription
lundi 28 août 2006
Statut
Membre
Dernière intervention
4 avril 2009
1
salut essaye ce code pour voir s'il répond à ce que tu souhaites :

TextBox2.Text.Replace(",", ".")
Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
voir les parametres de ton evenement, plutot, e.KeyChar (au pif, voir ce qui t'es proposé... et la DOC)

si c'est pour faire du pseudo VB6, restez sous VB6, sinon, faites du .Net

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
La conversion de ton code VB6 en VB2005, devrait te donner quelque chose comme ceci :

Private Sub Textbox2_KeyPress(ByVal sender As Object, ByVal e
As System.Windows.Forms.KeyPressEventArgs) Handles
TextBox2.KeyPress
        If e.KeyChar = Convert.ToChar(44) Or
e.KeyChar = Convert.ToChar(46) Then
                If TextBox2.Text.IndexOf(","c) > 0 Then e.KeyChar = Convert.ToChar(0) : Exit
Sub
                e.KeyChar = Convert.ToChar(44)
        End If

        If e.KeyChar <> Convert.ToChar(8) And
e.KeyChar <> Convert.ToChar(44) Then
                If e.KeyChar < Convert.ToChar(48) Or
e.KeyChar > Convert.ToChar(57) Then
e.KeyChar = Convert.ToChar(0)
        End If
End Sub

---- Sevyc64  (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #
Messages postés
20
Date d'inscription
mardi 6 février 2007
Statut
Membre
Dernière intervention
12 juin 2007

merci bcp pour vos réponses...............
j ai résolu le prob