Validaciones TextBox

Iniciado por MC.cover, 28 Octubre 2016, 23:19 PM

0 Miembros y 1 Visitante están viendo este tema.

MC.cover

Hola buenas lamento molestarlos miren tengo un pequeñísimo problema el cual es tengo un textbox el cual debe dejar escribir solo números y un punto para números decimales la cosa esta en que como tengo el código hasta el momento

no puedo ingresar:
                          - .423783 (lo cual esta bien)
pero si puedo ingresar:
                                 - 4...45 (lo cual esta mal)

yo lo que quiero es que no pueda ingresar mas de un punto en el textbox les dejo el codigo a continuación.

Código (vb) [Seleccionar]
Function ValidDigits(ByVal Digito As String, ByVal Texto As String) As Boolean
        Dim entero As Integer = CInt(Asc(Digito))
        Dim valorePermitidos As String = "1234567890."

        If entero = 8 Then
            ValidDigits = False
        Else

            If InStr(valorePermitidos, Digito) = 0 Or InStr(".", Digito) = 11 Then
                ValidDigits = True
                Beep()
            ElseIf IsNumeric(Texto) Then
                ValidDigits = False
            Else
                ValidDigits = True
                Beep()
            End If

        End If

        Return ValidDigits

    End Function


Desde ya muchas gracias :)

RodrigoCastro

#1
Me da la impresión que lo que quieres lograr es algo tan simple como lo siguiente:

1 Agregar un TextBox al formulario que VB crea por defecto con un nuevo proyecto EXE.
2 Copiar el codigo siguiente en la sección Declaraciones del formulario.


Option Explicit

Private Sub Text1_KeyPress(KeyAscii As Integer)
Static Vez As Integer
  If KeyAscii = 46 Then
     If Not Vez = 0 Then
        KeyAscii = 0
     End If
     Vez = Vez + 1
  ElseIf Not (KeyAscii >= vbKey0 And KeyAscii <= vbKey9) _
  And KeyAscii <> vbKeyBack And KeyAscii <> 45 Then
     'Se descarta cualquier pulsación escepto las teclas permitidas
     KeyAscii = 0
  End If
End Sub


Ejecutar el proyecto.

MC.cover