Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-08-2005
gandalf_uy gandalf_uy is offline
Miembro
 
Registrado: ene 2005
Posts: 39
Poder: 0
gandalf_uy Va por buen camino
Formato en columnas

Necesito dar formato a una columna de un dbgrid. Si bien he leido algunos hilos al respecto, tengo Delphi 6 y he probado con la función DisplayFormat del TField y la misma no me compila.

Alguien sabe si es a causa de mi versión de Delphi ya que en Dephi 7 funcinoa correctamente?

Si es así, cómo se hace para darle formato a una columna en Delphi 6?

Chas gracias desde ya.
gandalf_uy

acá pongo un ejemplo de lo que no me compila
Query1.sql.Text := 'Select codigo, descripcion costo from articulo'; Query1.open; Query1.FieldbyName('costo').DisplayFormat := ',#0.00';
Responder Con Cita
  #2  
Antiguo 29-08-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Cita:
Empezado por gandalf_uy
Si bien he leido algunos hilos al respecto, tengo Delphi 6 y he probado con la función DisplayFormat del TField y la misma no me compila.
¿Qué significa que no te compila?.. ¿Te da un error?.. ¿Cuál?

Cita:
Empezado por gandalf_uy
Alguien sabe si es a causa de mi versión de Delphi
En Delphi 6 tiene que funcionar sin problemas.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 29-08-2005
gandalf_uy gandalf_uy is offline
Miembro
 
Registrado: ene 2005
Posts: 39
Poder: 0
gandalf_uy Va por buen camino
El error que me da es este:

[Error] Primer_Nivel.pas(440): Undeclared identifier: 'DisplayFormat'

Directamente no la encuentra como una propiedad del TField.

Plis jelp !!!
Responder Con Cita
  #4  
Antiguo 29-08-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
DisplayFormat es una propiedad de los TNumericField, TDateTimeField, TSQLTimeStampField y TAggregateField ( y sus heredados).... ¿Qué tipo de campo estas tratando de "formatear"?
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.

Última edición por delphi.com.ar fecha: 29-08-2005 a las 21:24:41.
Responder Con Cita
  #5  
Antiguo 29-08-2005
gandalf_uy gandalf_uy is offline
Miembro
 
Registrado: ene 2005
Posts: 39
Poder: 0
gandalf_uy Va por buen camino
El campo que estoy tratando de formatear es un campo del tipo Integer.

Pero si yo hago esto:

Query1.FieldByName( 'codigo').

supuestamente ahi es donde me trae la ventana de ayuda y me despliega propiedades y métodos. En ningun momento me trae DISPLAYFORMAT, si me trae DISPLAYTEXT, DISPLAYNAME, DISPLAYNAME pero no DISPLAYFORMAT. Igual asi lo escribo
Query1.FieldByName( 'codigo').DisplayFormat := '#.##';

y al compilarlo es que me salta el error que te mencioné.


Gracias delphi.com.ar por intentar ayudarme en la solución de este problema...
Responder Con Cita
  #6  
Antiguo 29-08-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Tendrías que "castearlo", y no tomarlo como un sumple TField:
Código Delphi [-]
if Campo is TIntegerField then
  TIntegerField(Campo).DisplayFormat := '......';

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #7  
Antiguo 29-08-2005
gandalf_uy gandalf_uy is offline
Miembro
 
Registrado: ene 2005
Posts: 39
Poder: 0
gandalf_uy Va por buen camino
Lo que no me queda claro en lo que me decis es si al utilizar la funcion FIELDBYNAME supuestamente DELPHI no debe saber de que tipo es el campo de un query hasta el momento de ejecucion. No se como decirle que ese campo es de tipo TNumericField que si he buscado y he encontrado la propiedad DISPLAYFORMAT para este tipo de objeto.

gracias again
Responder Con Cita
  #8  
Antiguo 29-08-2005
gandalf_uy gandalf_uy is offline
Miembro
 
Registrado: ene 2005
Posts: 39
Poder: 0
gandalf_uy Va por buen camino
Lo solucioné de la siguiente manera:

Código Delphi [-]
with query1.fieldbyname('codigo') as TNumericField do
      DisplayFormat := ',#0,00';

muchas gracias por la ayuda
Responder Con Cita
  #9  
Antiguo 27-03-2010
ReiCk_Z ReiCk_Z is offline
Registrado
 
Registrado: mar 2010
Posts: 6
Poder: 0
ReiCk_Z Va por buen camino
Otra solución

Esa es una manera de solucionar el problema, la otra es colocando DB en uses:
Ej: Uses DB;
De esta manera puedes usar las líneas de código.
with Query1 do
begin
close;
sql.Clear;
//Código de la consulta.
sql.Open;

(FieldByName('Fecha') as TDateTimeField).DisplayFormat:= 'dd/mm/yyyy';
(FieldByName('Precio') as TNumericField).Displayformat:= '$,0.00';
(FieldByName('Numero') as TNumericField).Displayformat := '#,0.0';
(FieldByName('Porcentaje') as TNumericField).Displayformat := '%,0';
end;
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 10:43:38.


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
Copyright 1996-2007 Club Delphi