Visual Basic - ayuda con ingreso de comas en campos numericos

Life is soft - evento anual de software empresarial
 
Vista:

ayuda con ingreso de comas en campos numericos

Publicado por viqui (26 intervenciones) el 20/11/2005 19:39:50
hola, necesitaria que alguien me ayuda a hacer o si tiene hecho que me mande una rutina para que en las cajas de texto donde solo se pueden ingresar numeros me valide que el primero no sea una coma y que no halla mas de una coma, alguien que me de una idea de como se hace

gracias...............
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ayuda con ingreso de comas en campos numericos

Publicado por Arnaldo (53 intervenciones) el 20/11/2005 20:23:26
Hola podrias hacer lo siguiente, en la rutina keypress solo dejas ingresar los caracteres que necesitas, en este caso nuemeros y punto decimal.
Ejemplo en un textbox

Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)
KeyAscii = SoloNumeros(KeyAscii)
End Sub

Public Function SoloNumeros(ByVal KeyAscii As Integer) As Integer
If KeyAscii = Asc(",") Then KeyAscii = Asc(".")
If InStr("0123456789.", Chr(KeyAscii)) = 0 Then
SoloNumeros = 0
Else
SoloNumeros = KeyAscii
End If
' teclas especiales permitidas
If KeyAscii = 8 Then SoloNumeros = KeyAscii
If KeyAscii = 13 Then SoloNumeros = KeyAscii
End Function

En cuanto a el primer caracter que no se coma y si hay mas de una, lo podes controlar en el evento change y lostfocus, se me ocurre,

bueno, suerte

Chau, chau.
Arnaldo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

gracias pero no me entendiste!

Publicado por viqui (26 intervenciones) el 20/11/2005 23:58:02
lo que quiero hacer es que no deje ingresar mas de una comas en la caja de texto, porque es para calcuar un precio
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ayuda con ingreso de comas en campos numericos

Publicado por Javier Sola (13 intervenciones) el 21/11/2005 15:50:03
Holas,

Recuperando el código del amigo Arnaldo puedes solucionar lo de las comas:

Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)
KeyAscii = SoloNumeros(KeyAscii, Text1)
End Sub

Public Function SoloNumeros(ByVal KeyAscii As Integer, Texto as String) As Integer
Dim i as integer, CuentaComas as integer
If KeyAscii = Asc(".") Then KeyAscii = Asc(",")

If InStr("0123456789,", Chr(KeyAscii)) = 0 Then
SoloNumeros = 0
Else
if len(texto)<>0 then
For i =1 to len(Texto)
If mid(Texto, i , 1)="," then
CuentaComas=CuentaComas+1
End if
next i
End if
If CuentaComas<>0 and KeyAscii = Asc(",") then
SoloNumeros=0
Else
SoloNumeros = KeyAscii
End if
End If
' teclas especiales permitidas
If KeyAscii = 8 Then SoloNumeros = KeyAscii
If KeyAscii = 13 Then SoloNumeros = KeyAscii
End Function

Prueba con eso a ver, no se si me he colado pero creo que te servirá.

Saludos,

Javier
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar