PDA

Ver la Versión Completa : Como insertar fecha en un proyecto


Adonis
17-09-2007, 05:41:52
Hola, mi duda es como hacer para insertar la fecha y hora en un proyecto y que estas se actualicen automaticamente, conozco que por el componente DateTimePicker se puede lograr, o al menos eso presumo, solo que no se los procedimientos para lograr que se actualicen y acojan la fecha actual siempre que ejecute la aplicacion.

Gracias.

dec
17-09-2007, 05:53:04
Hola,

El componente que mencionas podría servir para mostrar la fecha y hora, empero, se utiliza más bien para permitir al usuario que eliga una fecha y hora determinadas. Lo que quieres hacer puedes conseguirlo con un sencillo "TLabel", por ejemplo.

Puedes mostrar la fecha y hora actuales en un "TLabel", simplemente, valiéndote de funciones como "Now()", "Date()" y/o "Time()", implementadas en la unidad "SysUtils.pas". Pero con dichas funciones obtendrías datos del tipo "TDateTime", "TDate" y "TTime", respectivamente.

Como la intención es mostrar la fecha y hora en un "TLabel" es un dato de tipo "string" lo que nos hace falta. Y aquí es donde ya se abren varias posibilidades, puesto que cuentas con varias funciones, desde las más "sencillas" "DateTimeToString()", "DataToString()", "TimeToString()", hasta algunas más "avanzadas" como "DateTimeToString()" o "FormatDateTime()", con la posibilidad dar diferentes formatos a sus salidas.

Puedes revisar la ayuda de las funciones susomentadas (sobre todo de estas últimas, por las posibilidades de formato que te ofrecen), pero, el asunto podría quedar más o menos así de sencillo:


Label1.Caption := DateTimeToStr(Now);


Ahora bien, si quieres que la hora "avanze" como si de una especie de reloj se tratara, puedes usar un componente "TTimer" con un intervalo de 1000 milisegundos (1 segundo), y utilizar su evento "OnTimer" para, simplemente, actualizar la etiqueta ("TLabel") tal como se hace arriba, pero cada segundo, de modo que al cabo se vería una especie de reloj.

¿Un ejemplo de uso de la función "FormatDateTime()"? Sea, pero, no dejes de revisar la ayuda igualmente:


Label1.Caption := FormatDateTime('dd/mm/yy hh:mm:ss am/pm', Now());

Adonis
18-09-2007, 03:52:02
Gracias, pues si que era sencillo, gracias, ya esta hecho y funciona bien
saludos y hasta la proxima