Visual Basic - Cclos, ciclos.

Life is soft - evento anual de software empresarial
 
Vista:

Cclos, ciclos.

Publicado por JUAN K (6 intervenciones) el 22/03/2002 12:03:00
HOla, necesito hacer un programa que reciba en una caja de texto solo números entre el 0 y el 7. Después de recibir un número debe aceptar un enter, es decir 0 enter, 1 enter, etc. Abajo tengo un código donde falta anexarle que ecepte un enter después de recibir un número, de hecho el programa me marca un error en i = Val(cajatxt.Text). Gracias por tu ayuda.

Private Sub entranum_Change()
Dim num As Integer, i As Integer

If num >= 0 And num <= 7 Then
i = Val(cajatxt.Text)
Print ("que pasa")
Else
MsgBox "No valido"
End If
End Sub
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

prueba esto

Publicado por jose carlos (243 intervenciones) el 22/03/2002 22:45:24
en el suceso change

hay_error = 0
For X = 1 To Len(caja.txt)
a = Mid(caja.txt, X, 1)
If a < "0" Or a > "7" Then
hay_error = 1
End If
Next
exit sub
If hay_error = 1 Then
Beep
caja.txt = ""
caja.txt.SetFocus
End If
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

hay un error

Publicado por jose carlos (243 intervenciones) el 22/03/2002 22:47:16
quita la sentencia exit sub de donde la he colocado, no es necesario
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:Cclos, ciclos.

Publicado por sacha (23 intervenciones) el 23/03/2002 14:04:02
probá con esto:

Private Sub EntraNum_KeyPress(KeyAscii As Integer)
If KeyAscii < 48 Or KeyAscii > 55 Then
KeyAscii = 0
MsgBox "Ingrese solo números entre el 0 y el 7"
Else
'tu código para aceptar (enter)
End If
End Sub

'-- Con esto te asegurás que los números ingresados sean del 0 al 7.

'--- Para qué tu código "enter" al ingresar un número?. reemplazá donde dice 'tu código para aceptar (enter) por el código que querés se ejecute al aceptar....

Saludos, espero que te sirva...

Ah... Solo un pequeño consejo que me sirvió de mucho, cuando nombres tus controles, existe una convención de prefijos para los mismos, por ejemplo, los textbox se estila nombrar anteponiendo txt, en tu caso txtEntraNum (o txt_EntraNum). Con esto resultará más fácil leer tu código, sobre todo si estás en un proyecto donde varias personas tienen intervención sobre el código. Si querés, adoptalo. Ojo, los prefijos convencionales sirven solo a los efectos de lectura de código, y no hace diferencia en la ejecución de tu programa. Tambien están convencionados los nombres de variables según el tipo, etc...
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