FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Impresoras HP vuelven la fecha de delphi a dd/MM/YY
Que tal Compañeros.
Quería comentarler lo que he observado hace un tiempo. En un programa que tengo desarrollado utilizo todas las fechas dentro de delphi en formaro yy/MM/dd (año/mes/dia). Y he observado que al encender impresoras HP multifunciones o laser si el programa está abierto automáticamente me invierte todos los campos de fecha a la forma dia/mes/año. ¿a alguien le ha pasado lo mismo? Saludos y Exitos |
#2
|
|||
|
|||
La verdad a mi no me ha pasado nada similar, aqui en el trabajo el 95% de las impresoras son hp, desde chiquitas hasta multifuncionales grandes pasando por las laser y no hemos tenido ese problema...
|
#3
|
|||
|
|||
Pero el problema es cuando trabajas en el programa con la fecha en fotmaro año/mes/dia
Yo lo cambio utilizando longdateformat := 'YY/MM/dd' Y manualmente en componentes como el DateTimePicker asignandole el formato que quiero para la fecha. Pero si llego a tener el programa abirto y se prende alguna impresora HP multifucion o laser, la fecha vuelve a Dia/mes/año |
#4
|
|||
|
|||
otro detalle
Me acabo de parcatar que en tiempo de diseño, con el IDE de delphi abierto, al encender o apagar la impresora HP multifuncion (1210 y 1410) o laser (1018 y 1020) se ve un refresco en la pantalla del IDE.
¿a nadie le pasa lo mismo? |
#5
|
||||
|
||||
No sé si tenga algo que ver, pero da la impresión de que la impresora está cambiando el formato de fecha a nivel de sistema. Cuando una aplicación hace esto (que, por cierto, no debería hacer) suele avisar al sistema mandando un mensaje WM_SETTINGCHANGE a todas las ventanas (lo cual podría justificar el parpadeo que notas). Esto podrías comprobarlo añadiendo un manejador para este evento en tu formulario principal:
Si es el caso, entonces podrías remediarlo reestableciendo tu formato cuando recibas este mensaje. // Saludos Última edición por roman fecha: 27-06-2008 a las 20:53:58. |
#6
|
|||
|
|||
Muchas Gracias Roman
Ese manejador efectivamente me detecta un cambio la encender o apagar la impresora. Te pregunto porque no encontre mas al respecto de WMSettingChange. ¿que tipos de cambios detecta este procedimiento?. Pregunto para estar seguro de si puedo usarlo para solucionar mi problema. Desde ya Muchas Gracias! |
#7
|
||||
|
||||
La información acerca de este mensaje la puedes encontrar en la ayuda de Windows SDK que se incluye con Delphi. Busca por WM_SETTINGCHANGE.
El mensaje puede mandarse por muchas razones. Puede mandarlo el propio sistema cuando se altera algún parámetro usando la función SystemParametersInfo, o bien una aplicación cuando altera algún parámetro de formato como en este caso. La diferencia (entre si lo manda el sistema o una aplicación) se detecta examinando Message.WParam en el manejador del mensaje; si es distinto de cero, se supone que es porque el mensaje lo mandó el sistema. Sería interesante ver quién lo está mandando; podría ser el propio driver de la impresora aunque suena raro pues dices que sucede con varias impresoras y como te ha mencionado Luis, no es algo que suela suceder. Una posibilidad que se me ocurre es que el driver de la impresora no esté en el mismo lenguaje que el sistema, y quizá cuando enciendes la impresora, el sistema trata de ajustar reestableciendo los valores y ocasionando el cambio que observas. Habría que ver en tal caso, si puedes reemplazar el driver por uno que coincida con el idioma del sistema. De todas maneras, creo que no debería preocuparte qué otras razones generan el mensaje WM_SETTINGCHANGE; a fin de cuentas tú requieres un valor determinado para LongDateFormat, sin importar qué lo está alterando, así que bastaría que en el manejador le vuelvas a poner el valor deseado. // Saludos |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Consulta por fecha en MySQL y Delphi | rodrigodeoz | Conexión con bases de datos | 2 | 17-10-2007 16:47:39 |
Ayuda, Como calcular fecha de vencimiento mensual a partir de una fecha x en delphi | Renis | Impresión | 4 | 23-08-2007 23:45:14 |
Parece que vuelven a estar revolucionados en Lepe ! | gluglu | La Taberna | 9 | 21-04-2007 08:46:39 |
Fecha nula en Delphi 7 | Ing_Fajardo | Varios | 3 | 28-06-2006 15:22:39 |
formularios se vuelven invisibles | wonder boy | API de Windows | 1 | 12-09-2005 18:04:56 |
|