Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Numero de paginas (https://www.clubdelphi.com/foros/showthread.php?t=30985)

rruffino 25-04-2006 14:28:28

Numero de paginas
 
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:

Código Delphi [-]
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

Una explicacion
 
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

Código Delphi [-]
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.


La franja horaria es GMT +2. Ahora son las 13:49:54.

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