![]() |
![]() |
| Paypal | 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 |
|
#3
|
|||
|
|||
|
Hola!!
No existe ninguna función definida por Borland que haga lo que tu necesitas salvo la que has probado, pero claro, esta se ciñe al formato de fecha/hora establecido por el sistema y te da una excepción. Yo creo que deberías almacenar la fecha con un formato TDateTime y cuando necesites mostrarla le das el formato "Jue, 19 - 2 - 2004" con FormatDateTime, pero nunca almacenes como texto una fecha o por lo menos con ese formato, una cosa es como guardas los datos y otra como los muestras. Pero por si es necesario u obligado que la fecha te llegue en ese formato a la hora de trabajar con ella, puedes optar por usar este código de C: double ExtraerFecha(char *stringFecha) { Word dia, mes, anyo; sscanf(stringFecha, "%*s %hu - %hu - %hu", 0, &dia, &mes, &anyo); return EncodeDate(anyo, mes, dia).Val; } El inconveniente es que la tienes que exportar a Delphi creando una DLL, un OBJ o un LIB. Otra opción es que implementes una rutina en Delphi que quite hasta el primer espacio, y luego vaya quedándose con lo que sean números y separándolo en variables, vamos, lo que hace 'sscanf' pero solo para tu caso, sin tener que pasarle cadena de formato. Otra opción es que le eches un vistazo a las variables globales “DateSeparator”, “LongDateFormat” y “ShortDateFormat”; escribe una de estas en el editor de Delphi en cualquier sitio y pulsa ‘F1’ verás que cantidad de información. Aunque lo mejor es que me hagas caso a lo que te he puesto al principio, guarda siempre el dato en TDateTime y muéstralo como te venga en gana. Suerte :-) |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|