Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Imprimir en diferentes colores (https://www.clubdelphi.com/foros/showthread.php?t=48643)

luxus 30-09-2007 21:06:04

Imprimir en diferentes colores
 
Hola a todos,
Tengo una pequeña duda a ver si me podeis echar una mano.
Estoy creando una aplicación en el que se quiere ver el extracto de movimientos de una cuenta corriente.
Tengo el query implementado y en un DBGrid muestro la fecha,el concepto, el importe, el saldo y el tipo de movimiento (entrada/ingreso o salida/reintegro).

Mi duda viene cuando quiero imprimir dicho extracto de cuentas y dependiendo del tipo de movimiento se ha de imprimir en un color u otro. A continuación os muestro el codigo fuente:

FMovimientosCuentas.ADOQuery1.First;
while not(FMovimientosCuentas.ADOQuery1.Eof) do
begin
if (FMovimientosCuentas.ADOQuery1.FieldValues['movimiento']='ENTRADA') then
color:='clBlue'
else
color:='clRed';
movimiento:=FMovimientosCuentas.ADOQuery1.FieldValues['movimiento'];
linea:=FMovimientosCuentas.ADOQuery1.FieldValues['codigo'];
FImpresionExtractoCuentas.QRMemo1.Lines.Add(linea);
FImpresionExtractoCuentas.QRMemo1.Font.Color:=StringToColor(color);
linea:=FMovimientosCuentas.ADOQuery1.FieldValues['fecha'];
FImpresionExtractoCuentas.QRMemo2.Lines.Add(linea);
FImpresionExtractoCuentas.QRMemo2.Font.Color:=StringToColor(color);
linea:=FMovimientosCuentas.ADOQuery1.FieldValues['concepto'];
FImpresionExtractoCuentas.QRMemo3.Lines.Add(linea);
FImpresionExtractoCuentas.QRMemo3.Font.Color:=StringToColor(color);
linea:=FMovimientosCuentas.ADOQuery1.FieldValues['importe'];
FImpresionExtractoCuentas.QRMemo4.Lines.Add(linea);
FImpresionExtractoCuentas.QRMemo4.Font.Color:=StringToColor(color);
linea:=FMovimientosCuentas.ADOQuery1.FieldValues['saldo'];
FImpresionExtractoCuentas.QRMemo5.Lines.Add(linea);
FImpresionExtractoCuentas.QRMemo5.Font.Color:=StringToColor(color);
FMovimientosCuentas.ADOQuery1.Next;
end;

¿Me podeis decir donde tengo el fallo?
Gracias y un saludo

marcoszorrilla 30-09-2007 21:14:14

El problema que veo es que lo guardas en un Memo, y que yo conozca el Memo tiene un color pero para todo el texto no para cada línea.

Si por el contrario lo quisieras imprimir por ejemplo con QuickReport, entonces le correspondería a éste resolver el tema del color, entonces podrías en el evento OnPrint de los campos susceptibles de cambiar de color, evaluar su contenido y en virtud del mismo atribuirle un color u otro, este evento actúa por cada línea (Registro), por lo que puedes tener colores distintos para cada línea.

Un Saludo.


La franja horaria es GMT +2. Ahora son las 14:02:25.

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