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 06-07-2005
danytorres danytorres is offline
Miembro
 
Registrado: may 2003
Ubicación: Venezuela. Edo Carabobo
Posts: 361
Poder: 22
danytorres Va por buen camino
Question Como incremento un numero en la impresion?

Buenos dias amigos, tengo un pequeño problema estoy trabajando con delphi 7 y Rave, estoy imprimiendo unos boletos que son iguales, yo le paso los string a traves de parametros en rave, lo unico que cambia es un correlativo en cada boleto al pasarle los string le indico la cantidad de copias y e imprime, el problema esta como como incremento el correlativo para cada boleto cuando este imprimiendo???
__________________
____________________________
Un saludo a todos...
Responder Con Cita
  #2  
Antiguo 06-07-2005
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 23
BlueSteel Va por buen camino
Hola...

Yo tenia un problema similar, pero en QReport... y lo que hice fue en el evento AfterPrint...(del detail) sumarle 1 en forma manual al contador...

No se si en Rave se pueda hacer, tampoco se si se puede usar la expresión COUNT... que trae QReport

espero que te sirva...
__________________
BlueSteel

Última edición por BlueSteel fecha: 06-07-2005 a las 16:04:36.
Responder Con Cita
  #3  
Antiguo 06-07-2005
danytorres danytorres is offline
Miembro
 
Registrado: may 2003
Ubicación: Venezuela. Edo Carabobo
Posts: 361
Poder: 22
danytorres Va por buen camino
gracias por responder en Qrepot con la exprecion count, pero no encuetro la forma de hacerlo en Rave.
__________________
____________________________
Un saludo a todos...
Responder Con Cita
  #4  
Antiguo 06-07-2005
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 23
BlueSteel Va por buen camino
la función COUNT.. automáticamente te suma 1... pero yo no use eso...

lo que puse fue una componente de tipo TQRLabel... y antes de hacer Informe.Preview o Informe.Print.... le asignaba el valor de inicio....

Ej. Informe.TQRLabel.Caption := '34'; (Ojo.. esto lo hago del formulario de llamada)

y dentro del inform en el Evento (puedo ser AfterPrint) le sumaba 1 de esta forma

TQRLabel.Caption := IntToStr(StrToInt(TQRLabel.Caption)+1);

Ahora tambien puedes hacerlo con variables.... y despues simplemente lo traspasas...

Por que te digo en el evento AfterPrint...por que se supone que es una banda detail,.. que se va a repetir en forma continua... por lo tanto, imprime e incrementa la variable...
__________________
BlueSteel
Responder Con Cita
  #5  
Antiguo 06-07-2005
Loviedo Loviedo is offline
Miembro
 
Registrado: dic 2004
Posts: 214
Poder: 0
Loviedo cantidad desconocida en este momento
De esta forma he conseguido cambiar la fuente, supongo que cambiar el texto del Datatext será similar.
Espero te ayude. Saludos.

Código Delphi [-]
{ Event for DataBand1.OnBeforePrint }function DataBand1_OnBeforePrint(Self: TRaveDataBand);begin if dataview1haber.asfloat < 0 then   datatext5.color := clred; else   datatext5.color := clblack; end if; if dataview1debe.asfloat < 0 then   datatext4.color := clred; else   datatext4.color := clblack; end if;end OnBeforePrint;
Responder Con Cita
  #6  
Antiguo 06-07-2005
Loviedo Loviedo is offline
Miembro
 
Registrado: dic 2004
Posts: 214
Poder: 0
Loviedo cantidad desconocida en este momento
Código Delphi [-]
{ Event for DataBand1.OnBeforePrint }
function DataBand1_OnBeforePrint(Self: TRaveDataBand);
begin
 if dataview1haber.asfloat < 0 then
   datatext5.color := clred;
 else
   datatext5.color := clblack;
 end if;
 if dataview1debe.asfloat < 0 then
   datatext4.color := clred;
 else
   datatext4.color := clblack;
 end if;
end OnBeforePrint;
Responder Con Cita
  #7  
Antiguo 06-07-2005
Loviedo Loviedo is offline
Miembro
 
Registrado: dic 2004
Posts: 214
Poder: 0
Loviedo cantidad desconocida en este momento
Si lo que haces es repetir el procedimiento de impresión tantas veces como impresos necesarios, entonces puedes utilizar esto para reemplazar un text en Rave:
Código Delphi [-]
var
  Pagina: integer = 0;
 
implementation
 
uses RVClass, RVProj, RVCsStd;
 
{$R *.dfm}
 
procedure TFDM.Imprimedocumento1;
var
  MyPage: TRavePage;
  MyText1: TRaveText;
  NDRStream:  TMemoryStream;
begin
  inc(Pagina);
  NDRStream := TMemoryStream.Create;
  try
    RvProject1.Engine := RvRenderWriter1;
    RvProject1.open;
    With RvProject1.ProjMan do
      begin
        MyPage := FindRaveComponent('Ficha1.Page1',nil) as TRavePage;
        MyText1 := FindRaveComponent('Text1',MyPage) as TRaveText;
        MyText1.Text := 'Página '+inttostr(Pagina);
      end;
    RvProject1.SelectReport('Ficha1',true);
    RvProject1.SaveToStream(NDRStream);
    RvRenderWriter1.Stream:=NDRStream;
    RvProject1.Execute;
    RvRenderPrinter1.Render(NDRStream);
    RvProject1.close;
  finally
    NDRStream.Free;
  end;
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 23:24:57.


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