PDA

Ver la Versión Completa : Numero de paginas


rruffino
25-04-2006, 14:28:28
Hola gente, tengo problemas y no se como hacerlo es que a dicho reporte quiero comenzar imprimiendolo con un número de pagina aleatorio, es decir, si el reporte tiene 10 hojas y quiero arrancar imprimiendo desde el numero 5, los numeros de pagina serian, 5, 6, 7..... etc. Estoy usando Delphi 7 y quick report.
Desde ya muchas gracias y espero ansioso su respuesta.
Román;)

marcoszorrilla
25-04-2006, 14:44:52
Aquí tienes un ejemplo:

procedure TfrFichas.SpPrintClick(Sender: TObject);
begin
DmDip.Fich.DisableControls;
try
Application.CreateForm(TfrLstFichas, frLstFichas);
frlstfichas.ListaFichas.Prepare;
nPages:=frlstfichas.Listafichas.qrprinter.PageCount;

//Lanzar diálogo de páginas.
Application.CreateForm(TfrDlgPaginas, frDlgPaginas);
frDlgPaginas.ShowModal;

frlstfichas.ListaFichas.printersettings.firstpage:=frDlgPaginas.SpFirst.value;
frlstfichas.ListaFichas.printersettings. lastpage:=frDlgPaginas.SpLast.Value;
frlstfichas.listafichas.Print;

finally
DmDip.Fich.EnableControls;
end;
frLstFichas.Close;
end;
Un Saludo.

rruffino
25-04-2006, 15:32:00
Hola marcos, gracias por responder. He probado algo parecido, me podrias indicar mas o menos como es ese codigo porque no lo entiendo muy bien y seguramente lo estoy aplicando mal.Gracias nuevamente
Saludos, Román.-;)

marcoszorrilla
25-04-2006, 15:53:59
procedure TfrFichas.SpPrintClick(Sender: TObject);
begin
DmDip.Fich.DisableControls;
try
{Apertura del formulario que contiene QuickRep en este
caso se llama frlstFichas}
Application.CreateForm(TfrLstFichas, frLstFichas);
{Prepara el informe, porque es la única manera de
saber cuantas páginas va a tener en total}
frlstfichas.ListaFichas.Prepare;
{Guardo el número de páginas en una variable}
nPages:=frlstfichas.Listafichas.qrprinter.PageCount;

//Lanzar diálogo de páginas.
{Aquí abro un formulario en el que se elige desde
donde a donde se va a imprimir, lógicamente la
primera página a elegir sería la 1 y la última nPages
que contiene el número de la última página.}

Application.CreateForm(TfrDlgPaginas, frDlgPaginas);
frDlgPaginas.ShowModal;
{Una vez volvemos del diálogo de páginas, es decir le
hemos indicado de donde a donde queremos imprimir, cargamos
los valores en QuickReport y le mandamos imprimir}
frlstfichas.ListaFichas.printersettings.firstpage:=frDlgPaginas.SpFirst.value;
frlstfichas.ListaFichas.printersettings. lastpage:=frDlgPaginas.SpLast.Value;
frlstfichas.listafichas.Print;

finally
DmDip.Fich.EnableControls;
end;
{Terminada la impresión cerramos el formulario contenedor
de QuickRep}
frLstFichas.Close;
end;

Un Saludo.