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

Solo numeros codigo basic (gambas)

Estas en el tema de Solo numeros codigo basic (gambas) en el foro de Visual Basic clásico en Foros del Web. 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: ...
  #1 (permalink)  
Antiguo 08/08/2008, 05:33
Avatar de zaida  
Fecha de Ingreso: noviembre-2006
Ubicación: Madrid (España)
Mensajes: 266
Antigüedad: 17 años, 5 meses
Puntos: 0
Solo numeros codigo basic (gambas)

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:
PUBLIC SUB TextBox_KeyPress()
  SELECT CASE Key.Code

  CASE 48 TO 57
     CASE Key.BackSpace
     CASE Key.Delete
     CASE Key.Tab
          STOP EVENT
   END SELECT

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

Saludos y muchas gracias
__________________
-- Cuando sientas miedo y no tengas un hombro dónde apoyarte, no te hundas en la soledad, pues si lo haces fracasarás --
  #2 (permalink)  
Antiguo 08/08/2008, 07:18
Avatar de moradazo  
Fecha de Ingreso: julio-2008
Ubicación: [email protected]
Mensajes: 355
Antigüedad: 15 años, 10 meses
Puntos: 2
De acuerdo Respuesta: Solo numeros codigo basic (gambas)

Este codigo es de Visual Basic 2005 tal vez lo puedas interpretar en la version que trabajas:

Código:
Private Sub textbox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles CBchar.KeyPress
        e.Handled = ValidaNum(CBchar, e.KeyChar) 'Aqui valida lo que trae de la funcion.
End Sug
        
Public Function ValidaNum(ByVal txtControl As TextBox, ByVal caracter As Char) As Boolean
        If (Char.IsNumber(caracter, 0) = True) Or (Char.IsControl(caracter) = True) Then
'Primer solo agrega digitos y despues del Or para que puedas borrar con el backspace
            Return False
        Else
            Return True
        End If
    End Function
Espero te sirva, saludos
  #3 (permalink)  
Antiguo 08/08/2008, 11:23
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: Solo numeros codigo basic (gambas)

Cita:
Iniciado por zaida Ver Mensaje
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:
PUBLIC SUB TextBox_KeyPress()
  SELECT CASE Key.Code

  CASE 48 TO 57
     CASE Key.BackSpace
     CASE Key.Delete
     CASE Key.Tab
          STOP EVENT
   END SELECT

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

Saludos y muchas gracias
Hola zaida,

en Gambas la instrucción CASE xx To XX, creo que no funciona, pero en vez de un Select puedes poner una condición If:

Código:
IF key.Code >= 48 AND key.Code <= 57 THEN 
    ELSE IF key.Code = key.BackSpace THEN 
    ELSE IF key.Code = key.Delete THEN 
    ELSE 
      STOP EVENT 
  ENDIF

Saludos
  #4 (permalink)  
Antiguo 13/08/2008, 08:29
 
Fecha de Ingreso: diciembre-2005
Mensajes: 8
Antigüedad: 18 años, 4 meses
Puntos: 0
Respuesta: Solo numeros codigo basic (gambas)

El codigo debe ser asi.


Código:
PUBLIC SUB tbxPantalla_KeyPress()

    SELECT CASE Key.Code
        CASE 48 TO 57 'Codigo ASCII de los números
            CASE key.BackSpace 'Retroceso
            CASE key.delete 'Borrar
            CASE key.tab    'Tabulador
        CASE ELSE 
            STOP EVENT 
    END SELECT 
END
Seguro te funciona...
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 03:48.