Visual Basic Foro
Programación => Visual Basic 6 => Mensaje iniciado por: zxs23 en Septiembre 01, 2014, 01:08:52 am
-
Tengo este dilema.
Anteriormente mi textbox solo permitia enteros ahora permitira decimales pero para continuar ejecutando el codigo el valor del textbox no debe ser cero ni estar en blanco, mas o menos tengo esto pero cuando ingreso 0.0 ó 0.000 ó .00, etc, etc me ejecuta la funcion y tira error, como podria solucionarlo.
If Text1 = "" Or Text1 = "0" Or Text1 = "," Or Text1 = "." Then
exit sub
else
'ejecuta funcion
end if
-
Estimado zxs23
Prueba con el siguiente código, en donde primero evaluamos si el número es un verdadero número para ello uso la funcion IsTrueNumber en donde nos valdremos de error para la evaluación, no hago uso de la funcion de VB IsNumeric porque no evalúa adecuadamente las cantidades numéricas. Luego que se ha evaluado como un numero excluimos el Cero.
Private Sub Command1_Click()
ValidateText Text1.Text
End Sub
Public Sub ValidateText(ByVal Value As String)
If IsTrueNumber(Value) Then
If Value = "0" Then ' Excluimos el Cero
Debug.Print "Bay"
Else
Debug.Print "BINGO"
End If
Else
Debug.Print "Bay"
End If
End Sub
Public Function IsTrueNumber(ByRef Value As String) As Boolean
On Error GoTo ErrorNumber
Value = Value + 0
IsTrueNumber = True
Exit Function ErrorNumber:
'Nothing
End Function
Saludos, desde algún lugar de Lima-Perú
-
Gracias por el codigo albertomi, saludos