Visual Basic - Entrada de fecha en TextBox

Life is soft - evento anual de software empresarial
 
Vista:

Entrada de fecha en TextBox

Publicado por Manuel (60 intervenciones) el 13/08/2003 03:13:31
Estoy tratando de crear una funcion capaz de hacer que cuando yo ingrese una fecha o tecle numeros en un TexBox se capaz de identificar que ya ingrese los primeros 2 carateres y coloque automaticamente el / (slah) o el caracter que sea y cuando ingrese los otros 2 caracteres correspondientes al mes coloque el segundo / (slah) y asi sucesibamente y que cuando borre hacia atras borre como si se tratara de un simple texto y si borro todo, Borre Todo!!!, no quiero usar el MaskEdit.
Bueno lo de validar la fecha ya es parte de otro cosa pero me interesa que el ingreso se como lo planteo.
De antemano muuuuuchas gracias, e tratado de miles formas y no puedo sacar el codigo agradeceria mucho la ayuda.
Manuel
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Entrada de fecha en TextBox

Publicado por Kiko (5 intervenciones) el 13/08/2003 04:30:49
PUedes usar la propiedad Change en la propiedad de tu Texto Box para contar con un for cuantos caracteres has puesto le agregues un slash m´´as lo que has escrito y si borras pues se borrará todo porque tu lo igualaste
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Entrada de fecha en TextBox

Publicado por Pedro Luis (878 intervenciones) el 13/08/2003 11:54:14
Normalmente dejo que el usuario introduzca lo que quiera en un campo fecha, después lo valido y le doy el formato que más me guste, generalmente "d-mmm-yyyy",
De todas formas ahí va lo que quieres

Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)
If KeyCode <> 46 And KeyCode <> 8 Then
Select Case Len(Text1)
Case 2, 5
Text1 = Text1 + "/"
SendKeys "{end}"
End Select
End If
End Sub

46 y 8 son los códigos de suprimir y borrar a la izquierda
En el Down no funciona y en Keypress no lo he probado
Abur
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Mask Edit (maskEdBox)

Publicado por Jose (14 intervenciones) el 13/08/2003 13:01:10
Mirate este componente "Microsoft Masked Edit Control 6.0", es de gran ayuda para lo que tu quieres. Te permite introducir una mascara de entrada.Tu mascara podria ser esta "##/##/##" en el que las barras "/" son caracteres fijos del campo y los "#" los digitos a introducir por el usuario.
Si quieres alguna aclaración no dudes en preguntar.


Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Entrada de fecha en TextBox

Publicado por Juan (284 intervenciones) el 13/08/2003 15:14:49
Una solución rápida y fácil sin usar el MaskEdit sería poner 3 textBox,
uno para el día, otro para el mes y otro para el año. Puedes limitar el
nº de caracteres a introducir con la propiedad maxLength y después para
que "funcionen en equipo" puedes hacer lo siguiente:

Private Sub txtAnyo_KeyPress(KeyAscii As Integer)
If (KeyAscii = 8) And Len(txtAnyo.Text) = 0 Then txtMes.SetFocus
End Sub

Private Sub txtDia_Change()
If Len(txtDia.Text) = txtDia.MaxLength Then txtMes.SetFocus
End Sub

Private Sub txtMes_Change()
If Len(txtMes.Text) = txtMes.MaxLength Then txtAnyo.SetFocus
End Sub

Private Sub txtMes_KeyPress(KeyAscii As Integer)
If (KeyAscii = 8) And Len(txtMes.Text) = 0 Then txtDia.SetFocus
End Sub

Claro que esto permite la escritura de cualquier letra, si tienes problemas
para filtrar los caracteres introducidos me lo preguntas en otro mensaje
y trataré de ayudarte.

P.D.: se me olvidaba, cuando necesites la fecha completa la puedes
concatenar así:
fecha = txtDia.text & "/" & txtMes.text & "/" & txtAnyo.text.

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Entrada de fecha en TextBox

Publicado por Juan (284 intervenciones) el 13/08/2003 15:21:37
Acabo de pensar que mucho más fácil que 3 textBox sería hacerlo con
3 comboBox. No te explico más porque creo que esta solución no merece
más comentarios.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar