![]() |
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 |
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