Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Ayuda para manejador de errores

Estas en el tema de Ayuda para manejador de errores en el foro de Visual Basic clásico en Foros del Web. Saludos compañeros de verdad me ha sido util toda la ayuda q he recibido de uds gracias pero en esto de programacion y vb6.0 estoy ...
  #1 (permalink)  
Antiguo 17/07/2010, 08:44
 
Fecha de Ingreso: junio-2010
Ubicación: maracaibo
Mensajes: 40
Antigüedad: 13 años, 10 meses
Puntos: 0
Mensaje Ayuda para manejador de errores

Saludos compañeros de verdad me ha sido util toda la ayuda q he recibido de uds gracias pero en esto de programacion y vb6.0 estoy aprendiendo y aqui tengo otra incognita

como puedo crear un manejador de errores.. Lo que quiero es lo siguiente

tengo un textbox en el que solamente quiero q se introduscan montos en bolivares (moneda venezuela)

si el usuario en el textbox ingrasa una letra que salga un msj de error diciendo q no puede ingresar caracteres alfabeticos.-.

De antemano como siempre les doy las gracias a todos los q me ayuden
  #2 (permalink)  
Antiguo 17/07/2010, 12:47
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: Ayuda para manejador de errores

No es control de errores. Es filtrar la entrada del teclado.
Siendo un textbox lo más fácil es usar el evento keypress.

Código vb:
Ver original
  1. Private Sub Text1_KeyPress(KeyAscii As Integer)
  2.   If UCase$(Chr(KeyAscii)) <> LCase$(Chr(KeyAscii)) Then
  3.     KeyAscii = 0
  4.     MsgBox "No se admiten letras"
  5.   End If
  6. End Sub

Este código filtra las letras, pero permite otros caracteres.

Puedes simplificar decidiendo tú los únicos caracteres que quieres permitir.
Sería algo así:

Código vb:
Ver original
  1. Private Sub Text1_KeyPress(KeyAscii As Integer)
  2.   If InStr(1, "0123456789-+*/", Chr(KeyAscii)) = 0 Then
  3.     KeyAscii = 0
  4.     MsgBox "Carácter no permitido"
  5.   End If
  6. End Sub
Saludos
__________________
No hay preguntas tontas, solo gente estup..., ¡No!, ¿como era? No hay gente que pregunte a tontos... ¡Nooo!... ¡Vaya cabeza!
  #3 (permalink)  
Antiguo 19/07/2010, 12:20
 
Fecha de Ingreso: junio-2010
Ubicación: maracaibo
Mensajes: 40
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Ayuda para manejador de errores

GRACIAS PKJ ME RESULTO BASTANTE PERO AHORA OK EN EL PRIMER CODIGO Ç

Private Sub Text1_KeyPress(KeyAscii As Integer)
If UCase$(Chr(KeyAscii)) <> LCase$(Chr(KeyAscii)) Then
KeyAscii = 0
MsgBox "No se admiten letras"
End If
End Sub

NO ME DEJA INGRESAR LETRAS PERO SI ESTOS CARACTERES (/*-@##) COMO HAGO PARA QUE SOLO ACEPTE (0123456789.)EN EL SEGUNDO CODIGO

Private Sub Text1_KeyPress(KeyAscii As Integer)
If InStr(1, "0123456789-+*/", Chr(KeyAscii)) = 0 Then
KeyAscii = 0
MsgBox "Carácter no permitido"
End If
End Sub
ENE STE LO HACE BN PERO CUANDO NO ME DEJA BORRAR EL TEXTBOX , TECLEO BORRAR Y LO TOMA COM SI FUERA UNA LETRA
  #4 (permalink)  
Antiguo 19/07/2010, 13:15
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: Ayuda para manejador de errores

Solo tienes que agregar las teclas que si quieres admitir. Si no son caracteres puedes usar las constantes del VB.

If InStr(1, "0123456789.", Chr(KeyAscii)) = 0 And KeyAscii <> vbKeyBack Then
KeyAscii = 0
MsgBox "Carácter no permitido"
End If
__________________
No hay preguntas tontas, solo gente estup..., ¡No!, ¿como era? No hay gente que pregunte a tontos... ¡Nooo!... ¡Vaya cabeza!
  #5 (permalink)  
Antiguo 20/07/2010, 12:39
 
Fecha de Ingreso: junio-2010
Ubicación: maracaibo
Mensajes: 40
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Ayuda para manejador de errores

pkj de nuevo muchas gracias por tu ayuda

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:58.