PDA

Ver la Versión Completa : Poner fecha y hora en FileName de un SaveDialog


JarLem
27-11-2007, 18:46:14
Hola compañeros del foro !!

Estoy con un pequeño problema desde hace rato y preocupado porque ya he perdido mucho tiempo en esto.

Lo que quiero hacer es que al momento de abrir un SaveDialog me ponga en la propiedad FileName una cadena que yo envio junto con la fecha y la hora actual del sistema, esto con el fin de crear copias de seguridad de mi base de datos utilizando los componentes de Interbase Admin de Delphi 7.

He logrado que muestre la fecha actual utilizando Format y FormatDateTime, pero cuando digo que muestre la hora, ejecuto y no hace nada, le quito la funcion para obtener la hora y ya me muestra la fecha.

Tengo lo siguiente:

var
cad : String;
begin
cad := Format('Nombre_BD_%s',[FormatDateTime('dd-mm-yyyy',Date)]);
SaveDialog1.FileName := cad;
If SaveDialog1.Execute Then
Begin
...
end:

Esto muestra la fecha correctamente cuando ejecuto el SaveDialog.

¿Como pondrían ustedes la hora?

Agradezco mucho la atención y colaboración que me puedan brindar.

dec
27-11-2007, 19:00:25
Hola,

Desde luego no puedes nombrar un archivo "10:10", por lo dos puntos, que no están permitidos en el nombre de un archivo. Pero, en principio, no veo porqué no vas a poder poner algo como: 10-10, ó 10_10. Dices que quitas la "función de la hora" y todo va bien, pero, ¿puedes copiar por aquí el código que "va mal"? A ver si a partir de ahí...

Chris
27-11-2007, 19:08:58
Creo que a lo que se refiere el amigo jarlem es a ¿cúal sería la cadena de formato para incrustar la fecha, que si no me equivoco sería.
'dd-mm-yyyy hh-nn am/pm'

esa cadena el la que debería de incluir en tu código


PD: además el parametro DATE debes cambiarlo por NOW

egostar
27-11-2007, 19:36:45
Creo que a lo que se refiere el amigo jarlem es a ¿cúal sería la cadena de formato para incrustar la fecha, que si no me equivoco sería.
'dd-mm-yyyy hh-nn am/pm'

esa cadena el la que debería de incluir en tu código


PD: además el parametro DATE debes cambiarlo por NOW

Efectivamente, el problema es el DATE, cambialo por NOW com te dice D&W.

PD. Si usa 'am/pm' tendrá un error por el caracter '/', no es válido.

:D:D:D retiro lo dicho, soy un torpe....... no hay error :), por no probar antes de postear,

Salud OS

JarLem
27-11-2007, 20:18:17
Gracias a todos por las respuestas, efectivamente yo estaba haciendo algo que era incorrecto:

cad := Format('Nombre_BD_%s',[FormatDateTime('dd-mm-yyyy_hh:mm:ss', Date+Time)]);

El código anterior efectivamente no funciona para el nombre de un archivo como dice nuestro amigo dec.

Pero gracias a las sugerencias de D&W y [egostar], corregi y funcionó de la siguiente manera:

cad := Format('Nombr_BD_%s',[FormatDateTime('dd-mm-yyyy_hh-nn am/pm', Now)]);

Gracias por la ayuda, ojala a alguien tambien le sirva.
Saludos.