elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Como poner un textbox con formato de solo fecha y dNI
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Como poner un textbox con formato de solo fecha y dNI  (Leído 17,055 veces)
mlutt

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Como poner un textbox con formato de solo fecha y dNI
« en: 15 Noviembre 2005, 10:10 am »

Quiero que en un textbox, solo me deje poner fechas, como 15/11/05.
Y ya que estamos , preguntar si aki hay algun modo de ponerle mascara de entrada, por ejemplo para el dni, qeu solo me deje poner los numeros y una letra. (como se hace?))
gracias!!!


En línea

soplo
Ex-Staff
*
Desconectado Desconectado

Mensajes: 3.592

Debian rool'z


Ver Perfil
Re: Como poner un textbox con formato de solo fecha y dNI
« Respuesta #1 en: 15 Noviembre 2005, 12:07 pm »

Hola
Pondré como ejemplo algunas máscaras corrientes de entrada

Admitir solo números
Código:
sub text1_keypress(keyascii as integer)
if keyascii = 13 then 'caso enter
exit sub
endif
if keyascii=8 (caso backspace)
exit sub
endif

if not isnumeric(chr(keyascii)) then
 keyascii=0 'anular tecla
endif
end sub

caso aceptar solo mayúsculas
Código:
sub text1_keypress(keyascii as integer)
if keyascii = 13 then 'caso enter
exit sub
endif
if keyascii=8 (caso backspace)
exit sub
endif

keyascii=asc(ucase(chr(keyascii))) 'pasar a mayúscula
if keyascii<asc("A") or keyascii>asc("Z") then
 keyascii=0 'anular tecla
endif
end sub

admitir fechas (formato DD/MM/AA)
Código:
sub text1_keypress(keyascii as integer)
if keyascii = 13 then 'caso enter
exit sub
endif
if keyascii=8 (caso backspace)
exit sub
endif

if at(chr(keyascii),"/0123456789")=0  then 'si no está entre estos caracteres
 keyascii=0
endif
end sub
Este caso garantiza que no se escriban caracteres que no sean números o /, pero no garantiza que sea una fecha válida.
Para ello
Código:
sub text1_lostfocus()
if not isdate(text1) then
beep
text1.setfocus
endif
end sub

Admitir un dni (formato 99999999-L)
Código:
sub keypress(keyascii as integer)
if keyascii = 13 then 'caso enter
exit sub
endif
if keyascii=8 (caso backspace)
exit sub
endif

keyascii=asc(ucase(chr(keyascii))) 'pasar a mayúsculas
if at(chr(keyascii),"-0123456789")=0 then
 keyascii=0
endif
end sub
Así se controlan las teclas válidas. Para saber si es un dni válido hace falta el evento lostfocus
Código:
sub text1_lostfocus
if len(text1)<>10 then 'si la longitud es distinta de 10
beep
text1.setfocus
endif
if not isnumeric(left(text1,8)) then 'saber si las 8 primeras posiciones son numéricas
beep
text1.setfocus
endif
if mid(text1,9,1)<>"-" then 'saber si el guión está en su sitio
beep
text1.setfocus
endif
letra$=asc(right(text1,1)) 'en letra queda la letra final
if letra$<asc("A") or letra$>asc("Z") then
beep
text1.setfocus
endif
end sub

Un saludo


En línea

Callar es asentir ¡No te dejes llevar!
morkcop

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Como poner un textbox con formato de solo fecha y dNI
« Respuesta #2 en: 10 Julio 2012, 20:19 pm »

Esta solucion es solo cuando ya terminaste de escribir el dni 00000000 y luego presionas un boton
 y al boton le pones esto.

Private Sub Command1_Click()
Text1.Text = FormatNumber(Text1, 0)
End Sub

es muchisimo mas sencillo.

si lo pones en el evento change, no escribira el numero correcto.
En línea

morkcop

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Como poner un textbox con formato de solo fecha y dNI
« Respuesta #3 en: 10 Julio 2012, 20:25 pm »

A lo mejor queres que vaya tomando forma a un dni mientras lo vas escribiendo, entonces es esto:

Private Sub Text1_Change()
Text1 = FormatNumber(Text1, 0)
Text1.SelStart = Len(Text1.Text)
End Sub
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Formato fecha yyyy-mm-dd
.NET (C#, VB.NET, ASP)
NetJava 4 9,541 Último mensaje 29 Noviembre 2011, 10:04 am
por NetJava
Poner espacio entre textbox
Programación Visual Basic
BrokerJoker 4 8,988 Último mensaje 9 Enero 2012, 20:35 pm
por x64core
Formato a fecha
PHP
Pedro Castillo Terrones 4 2,620 Último mensaje 23 Enero 2012, 21:36 pm
por Pedro Castillo Terrones
Fecha formato largo y corto
Java
Elemerito 7 8,771 Último mensaje 18 Marzo 2013, 03:10 am
por Pablo Videla
Pasar formato texto a formato fecha
Programación General
Pédrin-2 7 5,213 Último mensaje 27 Septiembre 2013, 19:11 pm
por Pédrin-2
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines