PDA

Ver la Versión Completa : comenzar a imprimir desde la pagina numero X


rruffino
10-02-2006, 19:46:28
Hola amigos, esta vez el problema es que tengo que imprimir un par de hojas en quickreport pero partiendo de un numero de pagina determinado. Utilizo y qrsysdata para llevar el numero de pagina, pero el problema es que no se como hacer para decirle al reporte que empiece la numeración desde el numero, por ejemplo, 32 y asi el qrsysdata se encrgaria de llevar la cuenta de las paginas sucesivas.
Desde ya muchas gracias y saludos!!:cool:

marcoszorrilla
10-02-2006, 23:28:28
Aquí tienes un ejemplo:

procedure TfrFichas.SpPrintClick(Sender: TObject);
begin
DmXXX.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
DmXXX.Fich.EnableControls;
end;
frLstFichas.Close;
end;



Un Saludo.

rruffino
12-07-2006, 23:38:31
Marcos, no creo entemder tu respuesta. A ver si me explico mejor: yo tengo un reporte de 3 paginas, quiero imprimirlas a las 3 pero que la numeracion arranque por ejemplo desde el numero 10, es decir que imprimiria las 3 paginas con los numeros 10, 11 y 12 respectivamente. Este es el comportamiento que quiero lograr y no puedo.
Desde ya muchas gracias.

marcoszorrilla
13-07-2006, 07:29:29
Pues entonces lo que tienes que hacer es una trampa sumarle 9 al número de página que te da QuickReport.

Un Saludo.

rruffino
14-07-2006, 20:04:56
Marcoz, gracias por responder, entiendo lo que me dices, pero no siempre voy a sumarle 10, eso lo podría resolver, pero como hago para sumarle la cantidad esa que mencionas????
Gracias, Román.-

maeyanes
14-07-2006, 20:13:57
Marcos te está dando la respuesta, el chiste es sumarle el número de página con el que quieras iniciar menos uno. Si quieres que inicie en 10, le sumas 9, si quieres que inicie en 15, le sumas 14...

Esto en código sería algo así:


NoPage := NoPage + (NoPageInicial - 1)



Saludos...

rruffino
14-07-2006, 20:27:44
Hola amigo, eso de sumar lo entiendo bien, pero en mi reporte (hecho en quickreport) tengo un QRSYSDATA que me toma el numero de pagina, como implememto el codigo que me pasaste??? No lo hallo por ningun lado.
Gracias

maeyanes
14-07-2006, 20:30:33
En este caso creo que tendrías que usar un QRLabel al cual le asignes tú el número de página que quieras mostrar.


Saludos...

rruffino
14-07-2006, 20:34:40
en este caso puede darse que el reporte tenga mas de una hoja, como hago para ir sumando de a uno a medida que se vayan agregando hojas?
Disculpa las molestias y Gracias

maeyanes
14-07-2006, 20:40:47
En el evento BeforePrint u OnGetText (la verdad no uso QReport así que estoy adivinando aquí) del QRLabel, haces la suma indicada, entonces, si el número de página actual del reporte es 1 y quieres que inicie con 10, la suma te devolverá 10, al avanzar el número de página, te dará 11, y así sucesivamente...


No hay problema, para eso estamos... :D