PDA

Ver la Versión Completa : Comparar dos fechas


efelix
14-10-2006, 15:20:54
:confused: Saludos a todos. Quisiera saber como comparar dos fechas. Tengo dos mask edit en un formulario, con una máscara de tipo fecha, donde capturo dos valores de fecha que le paso como parámetro a un procedimiento almacenado, necesito comparar ambas fechas de manera tal que la última fecha no sea menor que la primera y viceversa y que si esto sucede aparezca un mensaje de advertencia. Si hay otra de forma de hacerlo que no sea con los mask edit acepto la sugerencia o cualquier cosa que me ayude a resover este problema. Estoy comenzando a dar pasos en delphi y este foro es de gran ayuda para todos los que se inician en este mundo de la programación. También si existe algo acerca de las validadciones a nivel de formulario me gustaría que me dijeran donde puedo encontarlo.
Muchas gracias.

dec
14-10-2006, 15:30:32
Hola,

En la unidad "DateUtils" (no sé si estará presente en la versión de Delphi que utlizes) se encuentran no pocas funciones para trabajar con fechas, entre ellas, para compararlas, tal como necesitas.

Ahora bien, me parece que el control "TMaskEdit", su "valor", es de tipo "string" y, se me ocurre a bote pronto que tengas que convertir antes dichas cadenas al tipo "TDate", "TDateTime", según te convenga.

Para esto último cuentas con funciones como "StrToDate", "StrToDateTime", "StrToTime", etc. Por otro lado, si utilizaras un componente del tipo "TDateTimePicker" (creo que está en la pestaña "Additional" de la paleta de componentes de Delphi) se lo pondrías más sencillo al usuario, acaso.

Y no sólo al usuario se lo pondrías más sencillo (porque le dejarías escoger la fecha desde un calendario de forma sencilla) sino que tú te ahorrarías la conversión de "string" a "TDate", por ejemplo, puesto que este componente que te digo cuenta con propiedades como "Date", que contiene la fecha elegida por el usuario ya en formato "TDate".