Problème keyascii dans keypress

Résolu
cs_andres06 Messages postés 20 Date d'inscription mardi 6 février 2007 Statut Membre Dernière intervention 12 juin 2007 - 26 mai 2007 à 05:50
cs_andres06 Messages postés 20 Date d'inscription mardi 6 février 2007 Statut Membre Dernière intervention 12 juin 2007 - 27 mai 2007 à 04:01
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

ptit_tof57 Messages postés 79 Date d'inscription lundi 28 août 2006 Statut Membre Dernière intervention 4 avril 2009 1
26 mai 2007 à 07:26
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
3
ptit_tof57 Messages postés 79 Date d'inscription lundi 28 août 2006 Statut Membre Dernière intervention 4 avril 2009 1
26 mai 2007 à 07:21
salut essaye ce code pour voir s'il répond à ce que tu souhaites :

TextBox2.Text.Replace(",", ".")
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
26 mai 2007 à 07:51
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
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
26 mai 2007 à 10:26
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 #
0

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

Posez votre question
cs_andres06 Messages postés 20 Date d'inscription mardi 6 février 2007 Statut Membre Dernière intervention 12 juin 2007
27 mai 2007 à 04:01
merci bcp pour vos réponses...............
j ai résolu le prob
0