PDA

Ver la Versión Completa : doble linea DataViewBand Rave


mjjj
11-07-2008, 20:21:32
Hola... aer si me pueden ayudar con un problemita que tengo.

Utilizo el Rave Report para imprimir informes desde una base de datos.
En el Rave tengo un DataViewBand, que muiestra varios campos de un tabla.

El problema es que puede ocurrir que el texto de uno de esos campos, sea mayor que el espacio que l tengo asignado en el DataViewBand.
En este campo /del DataViewBand) en la opción truncate la tengo puesta en TRUE, porque sino se me sobreescriben los textos de un campo en otro.

Presunta: Puedo hacer que cuando el texto sea mayor que el espacio que le asigne en Rave, el sobrante, lo copie justo en una fila despues.

Espero que se haya entendido.

Saludos... gracias

mjjj
14-07-2008, 15:06:22
me urgue mucho poder resolver esto, por mas que busca en la web no he podido pillar nada para solucionarlo.

Expongo nuevamente mi problema.
Utilizo Delphi 2006 y Firebird 2.0.
Desarrolle una aplicacion para imprimir facturas, en donde la información la guardo en 2 tablas --> el encabezado y el detalle de la factura.

El detalle del item lo tengo almacenado en el campo descripcion de la tabla detfactura.
Este campo puede tener hasta un maximo de caracterres de 100.
El problema es que el espacio para imprimir en la factura para este campo no supera los 50 caracteres, por lo tanto esta informacion no me aparece completa.

La solucion que le veo es que al llegar al tope, simplemente lo siga escribiendo en la linea siguiente..

Se puede hacer esto??

egostar
14-07-2008, 17:55:03
Hola

Yo usaría un DataMemo en lugar de un DataText y agregaría un Evento (OnBeforePrint) al DataMemo para determinar si el valor del campo contiene mas de 50 caracteres y saber si agrego o no una linea mas.


{ Event for DataMemo1.OnBeforePrint }

function DataMemo1_OnBeforePrint(Self: TRaveDataMemo);

begin
if length(DataView1DETALLEFACTURA.AsString) > 50 then
DataMemo1.Height := 0.3;
elseif length(DataView1DETALLEFACTURA.AsString) <= 50 then
DataMemo1.Height := 0.15;
else DataMemo1.Height := 0.3;
end;
end OnBeforePrint;


Salud OS

mjjj
14-07-2008, 18:41:31
No me funciona, me tira un error de compilacion.. este es el codigo que utilizo


if length(DataView10descripcion.AsString) > 50 then
DataMemo2.Height := 0,3;
elseif length(DataView10descripcion.AsString) <= 50 then
DataMemo2.Height := 0,15;
else DataMemo2.Height := 0,3;
end;


No entiendo mucho este codigo en Rave... ayuda porfa

Gracias

egostar
14-07-2008, 18:43:45
No me funciona, me tira un error de compilacion.. este es el codigo que utilizo


if length(DataView10descripcion.AsString) > 50 then
DataMemo2.Height := 0,3;
elseif length(DataView10descripcion.AsString) <= 50 then
DataMemo2.Height := 0,15;
else DataMemo2.Height := 0,3;
end;


No entiendo mucho este codigo en Rave... ayuda porfa

Gracias

Y que error te muestra , compilas el evento ?

Salud OS

mjjj
14-07-2008, 19:43:57
Al escribir el codigo en el Event Editor del Rave, tiene una opcion de compilar, al hacer click me tira el siguiente error.


General compiler error - Access violation at address 01BFDCB8 in module 'RvEngine65.bpl'. Read of address 00000008

Que podra ser??

egostar
14-07-2008, 19:53:30
Al escribir el codigo en el Event Editor del Rave, tiene una opcion de compilar, al hacer click me tira el siguiente error.


General compiler error - Access violation at address 01BFDCB8 in module 'RvEngine65.bpl'. Read of address 00000008

Que podra ser??

mmmm, Tal vez el separador decimal, cambialo por el punto

Salud OS

mjjj
14-07-2008, 20:13:13
cambie el separador decimal a un punto (.) y me tira este otro error.

0.15 is not a valid floating point value.

Ahora bien si le pngo el valor 1 (o algun numero entero) funciona de maravilla.

egostar
14-07-2008, 20:17:52
cambie el separador decimal a un punto (.) y me tira este otro error.

0.15 is not a valid floating point value.

Ahora bien si le pngo el valor 1 (o algun numero entero) funciona de maravilla.

Ah vaya, pues algo tiene que ver los decimales, en mi caso funciona bien con decimales :confused:

podrias usar 2 y 4 :)

Salud OS