FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Retardo en configuración del registro
Al grano dijo el gallo.
Miren, mi programa debe mostrar la fecha en un formato determinado, para ello al momento de arrancar envio un código al registro para que todo el sistema se adapte a el. Imaginemos que por defecto se encuentra en formato dd.mm.aa (31.1.8) y yo lo deseo en dd/MM/aaa (31/01/2008) Entonces modifico el registro:
Todo OK, todo el sistema a cambiado el formato, eso es apreciable mirando el listado de archivos en el explorador. A continuación leo la fecha actual y la cargo en un Label
Pero el Label me arroja 31.1.8 recordar que este código arranca justo después del que modifica el registro. Si arranco el programa por segunda vez ya no hay problemas, pero esa no es la idea. Consultas, soluciones, estoy online |
#2
|
||||
|
||||
La cosa se debe presentar porque para poder modificar el valor en el registro debes haber iniciado el aplicativo, y este ya tomo el valor que tenia antes de que hicieras el cambio, para esto te propongo la siguiente solución:
Si es necesario que cambies el formato para todo el Windows, pues hazlo como lo estas haciendo pero indicale a tu aplicativo que vas a manejar ese formato... ¿Como se hace?, asi... Delphi tiene unas variables globales para este tipo de cosas, en este caso afectaremos la variable DateSeparator...
En la ayuda explican muy bien el funcionamiento de este tipo de variables globales y listo. Espero te sirva .
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!" http://www.purodelphi.com/ http://www.nosolodelphi.com/ |
#3
|
||||
|
||||
pero me mostraría 31/1/8 y no 31/01/2008, o no
Aun así el cambio se aplica inmediatamente en Windows, eso lo veo teniendo abierto el explorador de windows en donde aparece la fecha de los archivos, pero no afecta a mi aplicación cuando quiero coger la fecha actual. Bueno, creo que tendre que pensar en otro metodo:
Última edición por MAXIUM fecha: 01-02-2008 a las 00:02:35. |
#4
|
||||
|
||||
No creo, pero de ser asi o no podrias jugar con la variable ShortDateFormat.
De hecho si decides no modificar toda la configuración de Windows para que tu programa funcione, solo basta con que le asignes el valor adecuado a la variable ShortDateFormat en el "arranque" de tu aplicativo y el resto de la aplicación trabajara con ese formato, independiente del que tenga configurado el usuario para el resto de sus aplicativos en el panel de control, asi solo tendras que hacer esto:
Y olvidarte del registro de windows para esto.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!" http://www.purodelphi.com/ http://www.nosolodelphi.com/ Última edición por jhonny fecha: 01-02-2008 a las 00:03:37. |
#5
|
||||
|
||||
El "protocolo" para aplicar cambios a la configuración regional, según recuerdo, es después de haber hecho los camibos, enviar a las aplicaciones un mensaje WM_WIN_INI_CHANGE, o algo similar, ahora no tengo delphi a mano para probarlo.
Como te ha dicho antes jhonny, si solo queres aplicar el cambio por tu aplicativo, es mejor que cambies la configuración de este. Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
TVideoCapture retardo en el sonido. | NPIdea | Varios | 0 | 08-03-2007 15:04:11 |
Retardo al visualizar una pagina web. | ALBERTO.LAZARO | Varios | 8 | 28-11-2006 23:56:41 |
Mucho retardo de Locate leyendo DB2 de un AS400 | Javier_A | Conexión con bases de datos | 6 | 05-04-2005 13:37:35 |
Retardo en cadena de texto | mutant09 | C++ Builder | 2 | 30-04-2004 17:30:35 |
Como hago un retardo? | seken | Varios | 7 | 23-02-2004 00:08:00 |
|