Unos Detalles Con Los Controles Textbox Y Valuebox


Objetivo: Unos Detalles Con Los Controles Textbox Y Valuebox
Hola muy buenas noches compañeros, como están, espero que bien con sus proyectos y en sus grandes sistemas desarrollados, quiero comentarles que tengo un control textbox para guardar números, siempre me ha gustado usar las textbox por su capacidad de centrar o mover lo que se introduzca en las mismas, estoy usando este control para guardar números telefónicos de los cuales estos tienen 11 números, por consiguiente en las mismas textbox le puse condiciones para que solo en estas se puedan meter solo números y no letras que es este código visto aquí en el foro!

Public Sub TextBox2_Change()
CInt(TextBox2.Text) 'Convierte el numero en entero
Catch
TextBox2.Text = Mid$(TextBox2.Text, 1, -1) 'Si no es un numero borra el caracter
Stop Event
End

Esta sentencia funciona bien para no dejar meter caracteres o letras, pero al agregar mas de 10 números no me lo permite! , ni siquiera usando la propiedad Maxlength=11, claro si le quito el código pues de lógica deja meter lo que sea! pero esa no es la idea, que podrá ser?

Otra cosa, no me gusta usar la valuebox porque noto que el numero introducido se pone es en la parte derecha del control, lo cual no tiene propiedad para Alignment y para colmo intento meter un numero en la misma como 0414 y me permite introducir es 414 el "0" no lo deja, ustedes dirán que esto es una estupidez, pero es algo que quizá se me escapa de mi saber, gracias de antemano.

Quizá haya algo que no sepa y este perdido, gracias por sus ayuda saludos.

última edición por jousseph el Sabado, 22 Junio 2013, 04:26; editado 1 vez
Objetivo: Re: Unos Detalles Con Los Controles Textbox Y Valuebox
Hola jousseph.

Mira este post:

http://foro.gambas-es.org/viewtopic.php?f=5&t=3174

En el veras como hacerlo. Hay dos maneras y además también puedes añadir que solo admita ciertas teclas.

Saludos

Objetivo: Re: Unos Detalles Con Los Controles Textbox Y Valuebox
Citar:

Public Sub TextBox2_Change()
CInt(TextBox2.Text) 'Convierte el numero en entero
Catch
TextBox2.Text = Mid$(TextBox2.Text, 1, -1) 'Si no es un numero borra el caracter
Stop Event
End

Esta sentencia funciona bien para no dejar meter caracteres o letras, pero al agregar mas de 10 números no me lo permite! , ni siquiera usando la propiedad Maxlength=11, claro si le quito el código pues de lógica deja meter lo que sea! pero esa no es la idea, que podrá ser?



Creo que tu paras la inserción en el evento Change (después de que la tecla ya se ha insertado) por eso si el ultimo caracter es erroneo te deja insartar Maxlengtn -1, debes interceptar la tecla en el evento KeyPress así impedirás la inserción de la tecla.
Yo utilizo el siguiente código de tres lineas en el evento keyPress

Public Sub TextBox1_KeyPress()

If Asc(Key.Text) < 32 Or Key.Code = key.Delete Then Return ' poder pulsar teclas de control

Try CInt(Key.Text) ' si es del 0 al 9 no da error insertamos el numero
If Error Then Stop Event ' no se ha pulsado un numero cancelamos el evento

End

Perfil MP  
Objetivo: Re: Unos Detalles Con Los Controles Textbox Y Valuebox
Citar:
Hola jousseph.

Mira este post:

http://foro.gambas-es.org/viewtopic.php?f=5&t=3174

En el veras como hacerlo. Hay dos maneras y además también puedes añadir que solo admita ciertas teclas.

Saludos


Gracias señor shell, estuvo buenísimo.


Citar:
Creo que tu paras la inserción en el evento Change (después de que la tecla ya se ha insertado) por eso si el ultimo caracter es erroneo te deja insartar Maxlengtn -1, debes interceptar la tecla en el evento KeyPress así impedirás la inserción de la tecla.
Yo utilizo el siguiente código de tres lineas en el evento keyPress

Código: [Ocultar] [Seleccionar]
Public Sub TextBox1_KeyPress()

If Asc(Key.Text) < 32 Or Key.Code = key.Delete Then Return ' poder pulsar teclas de control

Try CInt(Key.Text) ' si es del 0 al 9 no da error insertamos el numero
If Error Then Stop Event ' no se ha pulsado un numero cancelamos el evento

End


Gracias compañero angelnu excelente, esta me sirvió también, muchas gracias a los dos.

Saludos.

Objetivo: Re: Unos Detalles Con Los Controles Textbox Y Valuebox
Si es para insertar un numero desde teclado:

Public sub cajadetexto_keypress(key.code as integer)
If instr("0123456789", key.text)=0 then stop event
End

Saludos

Perfil MP  
Objetivo: Re: Unos Detalles Con Los Controles Textbox Y Valuebox
jousseph escribió: [Ver mensaje]

Otra cosa, no me gusta usar la valuebox porque noto que el numero introducido se pone es en la parte derecha del control, lo cual no tiene propiedad para Alignment


...un simple estratagema te permite de hacerlo: whistling

http://www.gambas-it.org/wiki/index..._in_un_ValueBox

Perfil MP  

Página 1 de 1


  
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.1s (PHP: -25% SQL: 125%)
Consultas SQL: 24 - Debug off - GZIP Activado