Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Formato de campo (https://www.clubdelphi.com/foros/showthread.php?t=66541)

jafera 25-02-2010 12:40:07

Formato de campo
 
Hola de nuevo a todos

A ver si alguien me echa un cable, en una tabla de Firebird 1.5, tengo un campo del tipo time, el cual se guarda en formato hh:mm:ss, pero yo quiero solo hh:mm.

En delphi le pongo en el editmask el tipo shorttime, luego entro la hora en el dbedit correspondiente, me muestra __:__ pero al hacer post se convierte en hh:mm:ss.

Tambien he probado un JVDBEditMask y me pasa lo mismo.

Alguien lo ha solucionado?

Gracias

Josep

guillotmarc 25-02-2010 15:36:59

Hola.

Utiliza la máscara HH:MM en la propiedad DisplayFormat del campo persistente correspondiente dentro del Dataset de Delphi.

Salut.

jafera 25-02-2010 18:38:05

Gracias en el formulario funciona bien.

Otra duda respecto a lo mismo, el valor siempre se guarda en la tabla como hh:mm:ss, si en un informe quiero usar el valor pero solo hh:mm, que debo poner?

Uso QRDesing

Josep

guillotmarc 26-02-2010 10:15:17

Hola Josep.

En la base de datos se guarda como tipo timestamp, el cual es un valor numérico con decimales, que llega a la precisión de décimas de milisegundo para especificar fechas.

Así pués, en la base de datos no se guarda en formato hh:mm o hh:mm:ss, se guarda algo com 1492.23448

Es cosa de tu aplicación el mostrarlos en el formato que desees (y normalmente todos los gestores de Firebird lo muestran como hh:mm:ss, por eso crees que en la base de datos se guarda en este formato).

En definitiva, si en un informe quieres mostrar solo hh:mm, tienes que darle ese formato a la columna del informe.

Saludos.

jafera 26-02-2010 15:50:59

Oks Marc.

Te cuento más cositas.

Si el campo lo coloco en una columna como tu me dices no hay problema, mascara hh:mm y de perlas, pero si el campo esta dentro de un rich edit, no consigo que me coja el formato.

He intentado desde el editor de campos de la tabla y si veo los datos en la misma, los veo como yo quiero 08:30, 10:00, etc., pero al plasmarlos en el informe me sigue saliendo 08:30:00.

Adjunto el rich edit en cuestión y en rojo lo que no consigo

Cita:

El Jurat s'ha constituït a les %%Rebut_Acta.HORA_CONS%% hores del dia %%Rebut_Acta.DATA%%, havent donat la sortida a les %%Rebut_Acta.HORA_SORT%% hores, prenent part %%STR(Rebut_Acta.NUM_CORREDORS)%% corredors dels %%STR(Rebut_Acta.NUM_CORREDORS)%% inscrits, i que després de completar el corregut de %%STR(Rebut_Acta.KM_CURSA)%% quilometres, prèviament previst en el Reglament aprovat per la Federació Catalana de Ciclisme, han resultat amb lesions els següents corredors:
Gracias de nuevo

guillotmarc 26-02-2010 16:46:00

Hola Josep.

Si la propiedad DisplayFormat no te establece correctamente el formato que quieres, prueba indicando tú mismo directamente el valor que quieres para el campo, poniéndolo en el evento OnGetText del campo persistente.

NOTA: Por cierto, si esto no lo soluciona, iría bien que nos dijeras que componentes de Reports utilizas.

Salutacions.

jafera 26-02-2010 17:59:03

Hola de nuevo, ya habia comentado que uso QRDesign.

En mi post anterior ya intentaba explicar un poco lo que hacía, igual no ha quedado claro.

Posiblemente la solución pase por establecer el campo fuera del componente Rich Edit ya que allí si le puedo dar formato.

Gracias

guillotmarc 26-02-2010 19:13:24

Hola Josep.

No me n'havia adonat, no n'havia fet massa cas perquè no sé que és el QRDesign, ara resulta evident que estaves indicant el dissenyador de QuickReports (no els he fet servir mai, sempre he utilitzat FastReports).

De tota manera la solució, si existeix, segueix essent la mateixa: jugar amb la propietat DisplayFormat, i si el component que utilitzes no té en compte aquesta propietat, aleshores l'últim recurs per a intentar donar format des de Delphi és l'event OnGetText, on tu hauràs d'especificar (aplicant el format que vulguis) el text exacte que vols que es recuperi quan intentes llegir aquest camp.

Si a pesar de tot això, el valor del camp es segueix mostrant ignorant el format del DisplayFormat i sense haver disparat l'event OnGetText, aleshores no pots fer res des del Delphi mateix, tens que utilitzar les eines, propietats i mecanismes que el teu component (en aquest cas QucikReports) t'ofereixi. Per això et demanava quin és.

Lamentablement no et puc ajudar gens amb QuickReports.

NOTA: Si treus el camp fora del RichEdit i el poses en un quadre independent, segur que serà més fàcil donar-li format, però d'aquesta manera és impossible aconseguir el mateix document que volies.

Casimiro Notevi 26-02-2010 19:54:31

Creo que deberías traducir lo escrito al castellano, ya que eso sólo lo podrán entender los que sepan catalán y esto es un foro donde acuden personas de muchos países.

guillotmarc 26-02-2010 20:37:14

Cita:

Empezado por Casimiro Notevi (Mensaje 355243)
Creo que deberías traducir lo escrito al castellano, ya que eso sólo lo podrán entender los que sepan catalán y esto es un foro donde acuden personas de muchos países.

Por supuesto:

Cita:

Hola Josep.

No me había dado cuenta, no había hecho demasiado caso porque no sé que es el *QRDesign, ahora resulta evidente que estabas indicando el diseñador de *QuickReports (no los he usado nunca, siempre he utilizado *FastReports).

De todas maneras la solución, si existe, sigue siendo la misma: jugar con la propiedad *DisplayFormat, y si el componente que utilizas no tiene en cuenta esta propiedad, entonces el último recurso para intentar dar formato desde *Delphi es el *event *OnGetText, donde tú habrás de especificar (aplicando el formato que quieras) el texto exacto que quieres que se recupere cuando intentas leer este campo.

Si a pesar de todo esto, el valor del campo se sigue mostrando ignorando el formato del *DisplayFormat y sin haber disparado el *event *OnGetText, entonces no puedes hacer nada desde el *Delphi mismo, tienes que utilizar las herramientas, propiedades y mecanismos que tu componente (en este caso *QucikReports) te ofrezca. Por esto te pedía qué es.

Lamentablemente no te puedo ayudar nada con *QuickReports.

NOTA: Si sacas el campo fuera del *RichEdit y lo pones en un cuadro independiente, seguro que será más fácil darle formato, pero de este modo es imposible conseguir el mismo documento que querías.
www.internostrum.com

Saludos.

Casimiro Notevi 26-02-2010 20:41:46

Muchas gracias y muy bueno el traductor :)

guillotmarc 26-02-2010 20:53:22

Cita:

Empezado por Casimiro Notevi (Mensaje 355256)
Muchas gracias y muy bueno el traductor :)

Si, está hecho en la Universidad de Alicante, y hay que felicitarles, han conseguido un resultado impresionante, saca traducciones casi perfectas, nada que ver con las traducciones típicas de Google Translate, etc. ...

Pero tiene un problema, y es que tienes que escribir perfectamente, sin faltas de ortografía y eso es muy difícil de hacer en catalán.

Tendremos que esperar un poco aún para los traductores perfectos, aquellos que no solo traduzcan lo que escribas, sino que además también traduzcan lo que realmente querías escribir.

Saludos.

Casimiro Notevi 26-02-2010 21:09:20

Cita:

Empezado por guillotmarc (Mensaje 355258)
[..]
Tendremos que esperar un poco aún para los traductores perfectos, aquellos que no solo traduzcan lo que escribas, sino que además también traduzcan lo que realmente querías escribir.
Saludos.

Sí, eso es lo complicado, miedo me da el traductor que dicen que ha hecho google que puede traducir oralmente, le hablas y él te traduce, espero que no lo usen los políticos y militares, nos pueden meter en un lío sin salida :D:D:D

guillotmarc 26-02-2010 21:31:59

Cita:

Empezado por Casimiro Notevi (Mensaje 355260)
Sí, eso es lo complicado, miedo me da el traductor que dicen que ha hecho google que puede traducir oralmente, le hablas y él te traduce, espero que no lo usen los políticos y militares, nos pueden meter en un lío sin salida :D:D:D

Que peligro los militares hablando por una traducción automática. Aunque admito que me gustaría verlo :D.

¿ Está el enemigo ?, ¡ que se ponga !.

http://www.youtube.com/watch?v=SiHSxi2eiNc

:D :D

Casimiro Notevi 26-02-2010 21:54:33

Buenísimo, un clásico que todos deberían ver :)

jafera 02-03-2010 11:34:27

Buena a todos.

No había visto las respuestas pues he estado el finde fuera y ayer el club estaba en huelga, jejeje...

El problema no se ha solucionado y lo he reportado a QReport y lo estan estudiando.

Cuando tenga más datos los comento

Hasta pronto

Josep


La franja horaria es GMT +2. Ahora son las 16:48:03.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi