Simple Funcion Solo Numeros En Un Textbox


Ir a la página 1, 2  Siguiente

Objetivo: Simple Funcion Solo Numeros En Un Textbox
aqui expongo una simple funcion pero muy util para dejar que solo se introduzcan números dentro de un textbox o lo puedes aplicar a otro control.

PRIVATE FUNCTION Solo_Numeros(KeyTecla AS Integer)

IF KeyTecla >= 48 AND KeyTecla <= 57 THEN
ELSE
STOP EVENT
END IF

END


y la puedes llamar de esta forma
PUBLIC SUB TextBox1_KeyPress()
Solo_Numeros(Key.Code)
END


si quieres saber el Key de una tecla especifica lo puedes hacer de la siguiente forma
PUBLIC SUB TextBox1_KeyPress()
Message.Info(Key.Code)
END

entonces cada vez que presiones una tecla dentro del textbox aparecera un Message con el numero Key (Key.Code)

saludos

Objetivo: Re: Simple Funcion Solo Numeros En Un Textbox
Hola

Esta es mi versión desde el manejador del evento KeyPress del mismo control, que además permite borrar hacia atrás o hacia delante y pulsar TAB para cambiar al siguiente control:

PUBLIC SUB txtFreq_KeyPress()
SELECT CASE Key.Code
CASE 48 TO 57
CASE 46
CASE Key.BackSpace
CASE Key.Delete
CASE Key.Tab
CASE ELSE
STOP EVENT
END SELECT
END


Pero igualmente se puede convertir a una función para usarlo a tu manera.

Saludos

Perfil MP  
Objetivo: Re: Simple Funcion Solo Numeros En Un Textbox
Hola
Esa rutina tiene el problema de usar constantes numéricas que pueden dar problemas. gambas aconseja no utilizarlas.
http://gambasdoc.org/help/comp/gb.qt/key/code

Reescribo esa rutina para evitar ese problema

PUBLIC SUB txtFreq_KeyPress()
SELECT CASE Key.Code
CASE key["0"] TO key["9"]
CASE key[" "]
CASE Key.BackSpace
CASE Key.Delete
CASE Key.Tab
CASE ELSE
STOP EVENT
END SELECT
END


aunque tambilén valdría mediante las funciones de interpretación de caracteres
PUBLIC SUB txtFreq_KeyPress()
SELECT CASE Key.Code
CASE isdigit(key.text)
CASE isblank(key.text)
CASE Key.BackSpace
CASE Key.Delete
CASE Key.Tab
CASE ELSE
STOP EVENT
END SELECT
END


Interpretación de caracteres

última edición por soplo el Viernes, 02 Octobre 2009, 18:47; editado 1 vez
Perfil MP  
Objetivo: Re: Simple Funcion Solo Numeros En Un Textbox
wena wena... me gusto...

Objetivo: Re: Simple Funcion Solo Numeros En Un Textbox
Pues de verdad que no lo entiendo.
Yo en VB usaba IsNumeric() para eso. No se porque no utilizáis IsNumber() en el caso de gambas

PUBLIC SUB TextBox1_KeyPress()
IF IsNumber(Val(Key.Text)) = FALSE THEN
STOP EVENT
END IF
END

edito-
por correciones, ok

última edición por CHIKILICUATRE el Lunes, 25 Enero 2010, 00:40; editado 1 vez
Perfil MP  
Objetivo: Re: Simple Funcion Solo Numeros En Un Textbox
There is a VALUEBOX who realise this job.
but there is a bug. If you ajust Read propertie to FALSE, it is possible to write in it.

Perfil MP  
Objetivo: Re: Simple Funcion Solo Numeros En Un Textbox
Why do you think that is a bug? If Read = True, then the ValueBox is only read, else (Read = False) the ValueBox is Read/Write. That's logical for me.

Objetivo: Re: Simple Funcion Solo Numeros En Un Textbox
valuebox is only a new class inherits textbox with some templates. Making a new class which take from textbox wilth your own templates and methods is very easy so I don't like valuebox. Dates ave valid en english format only in valuebox.

I prefer my own class that does everything as I like. Its very easy and not a waste you time

Perfil MP  
Objetivo: Re: Simple Funcion Solo Numeros En Un Textbox
Yo creo que la mejor función es usar el control ValueBox que solo acepta números mientras que el TextBox acepta letras, Caracteres especiales y números "Alfanumérico"

última edición por GambasLinux el Domingo, 28 Febrero 2010, 13:45; editado 1 vez
Perfil MP  
Objetivo: Re: Simple Funcion Solo Numeros En Un Textbox
Depende de lo que quieras. El valuebox es un poco "buggy", defectuoso según para qué lo uses. Por ejemplo con valores Float, si el numero entero es 0 nunca lo muestra delante del delimitador decimal:

0,21332 lo mostraría como ,21332

Prefiero en este caso un control a mi medida...

Saludos

Perfil MP  
Ir a la página 1, 2  Siguiente

Página 1 de 2


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.3927s (PHP: -78% SQL: 178%)
Consultas SQL: 48 - Debug off - GZIP Activado