SoloCodigo

Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: zaida20 en Viernes 8 de Agosto de 2008, 14:26

Título: Solo numeros codigo basic (gambas)
Publicado por: zaida20 en Viernes 8 de Agosto de 2008, 14:26
Hola a todos:

Estoy utilizando gambas (código basic)

Quiero limitar la entrada de un texbox solo a numeros, estoy inetentando usar el siguiente codigo:


Código: Text
  1.  PUBLIC SUB TextBox_KeyPress()
  2.   SELECT CASE Key.Code
  3.  
  4.   CASE 48 TO 57
  5.      CASE Key.BackSpace
  6.      CASE Key.Delete
  7.      CASE Key.Tab
  8.           STOP EVENT
  9.    END SELECT
  10.  
  11. END
  12.  

Me da un error de sintaxis en ésta línea CASE 48 TO 57 y no consigo descubrir por qué. Espero que podais ayudarme  :hitcomp:

Saludos y muchas gracias  :hola:
Título: Re: Solo numeros codigo basic (gambas)
Publicado por: SysEdw en Viernes 8 de Agosto de 2008, 15:01
hola por que no pruebas con este codigo
Código: Text
  1. Private Sub Text1_KeyPress(KeyAscii As Integer)
  2.     If Chr(KeyAscii) < "0" Or Chr(KeyAscii) > "9" Then
  3.         KeyAscii = 0
  4.     End If
  5. End Sub
  6.  
Título: Re: Solo numeros codigo basic (gambas)
Publicado por: zaida20 en Miércoles 20 de Agosto de 2008, 14:00
Hola SysEdw, muchas gracias por contestar, he probado el código y me aparece lo siguiente cuando lanzo el form:

El programa se cerró inesperadamente enviando la señal #11

por que pasa? Muchas gracias y saludos  :hola:
Título: Re: Solo numeros codigo basic (gambas)
Publicado por: m0skit0 en Miércoles 20 de Agosto de 2008, 15:38
Prueba con éste a ver:

Código: Text
  1.  
  2. Private Sub Text1_KeyPress(KeyAscii As Integer)
  3.      If KeyAscii < 48 Or KeyAscii > 57 Then
  4.          KeyAscii = 0
  5.      End If
  6. End Sub
  7.  
  8.  

Está más optimizado que el anterior porque primero evitas el uso de la función Chr() (una función menos), y segundo el uso de cadenas de caracteres, que siempre son más lentas.