FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Validar fecha componente TLSDateEdit
Hola amigos del foro estoy desarrollando un sistema con lazarus y necesito validar que el usuario no deje con una fecha invalidad el TLSDateEdit. Es la primera vez que estoy trabajando con este componente y no se como puedo realizar esta validación. Espero me puedan ayudar de antemano muchas gracias.
Última edición por El_Chava fecha: 09-02-2015 a las 03:42:55. Razón: no se adjunto la imagen |
#2
|
||||
|
||||
En Delphi se suele hacer intentando convertirla dentro de un try..except para ver si la conversión es válida.
Supongo que se puede hacer igual.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
||||
|
||||
#4
|
|||
|
|||
Gracias Neftali y GustavoCruz por su pronta respuesta.Les comento que tratando de resolver el problema decide usar el componente que trae por defecto lazarus que es el TDateEdit. Este el código que uso para poder validar que el usuario ha introducido una fecha correcta.
Código:
var MyDateTimeVar: TDateTime; begin try MyDateTimeVar:= StrToDate(fechaentrega.Text); except on EConvertError do begin Application.MessageBox('La fecha de entrega no es valida, favor de verificar','Error',mb_iconstop); end; end; end; |
#5
|
||||
|
||||
¿Se supone que has puesto el código en el onexit del componente?
¿Por qué creas un componente en tiempo de ejecución, si ya existe en diseño? |
#6
|
|||
|
|||
Hola casimiro el codigo lo puse en el boton de guardar. y no creo el componente en ejecución. Puse el siguiente codigo en el evento onshow de la forma donde tengo el TEditDate.
Código:
ShowMessage(FormatDateTime('DD/MM/YYYY',fechaentrega.Date)); |
#7
|
|||
|
|||
Al fin logre dar con la respuesta del problema al darme cuenta de lo siguiente: lo que hice fue primeramente ver que valor me esta dando el TDateEdit si ponia los valores de esta manera '2_/2_/____' y en el evento onexit puse el siguiente codigo "dia:=formatDateTime('dd',fechaentrega.Date);mes:=formatDateTime('mm',fechaentrega.Date);anio:=forma tDateTime('yyyy',fechaentrega.Date); " asi me di cuenta que las variables guardaban dia = 30 mes = 12 anio=1899 investigando resulta ser que es la manera en que tDateEdit lo toma como una fecha NULA 30/12/1899 asi que lo que hice fue poner el siguiente codigo:
Asi de esta manera logré que me valide si tengo una fecha valida. Gracias por su ayuda y sugerencias. Última edición por Casimiro Notevi fecha: 11-02-2015 a las 21:04:30. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Validar fecha | judit25 | Conexión con bases de datos | 4 | 09-05-2006 17:48:33 |
Validar Fecha | Gustavo Gowdak | OOP | 7 | 03-05-2006 19:24:37 |
validar en fecha, dia y mes | alcides | Varios | 2 | 08-02-2005 16:29:33 |
Validar Fecha StrToDate | franciscobucio | Varios | 5 | 22-10-2004 22:34:14 |
validar fecha | morfeo21 | Varios | 1 | 15-10-2004 11:25:45 |
|