Cómo comprobar y obtener las partes de una fecha

¿Que función me permite comprobar que el dato que se introduce en un campo fecha es válido?. ¿Que función me da el año, mes, dia de una fecha?

Mediante el procedimiento DecodeDate() puedes obtener los componentes de una fecha cualquiera. Al llamarlo pásale como primer parámetro la fecha que quieres descomponer, y después tres variables en las cuales se devolverá el año, mes y día. Si quieres saber el día de la semana usa la función DayOfWeek().
Para comprobar la validez de una fecha puedes usar una función complementaria, llamada EncodeDate(), pasando como parámetros el año, mes y día. Si son válidos se devolverá un TDateTime, en caso contrario se generará una excepción