Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   configurar pagina en tiempo de ejecucion (https://www.clubdelphi.com/foros/showthread.php?t=41626)

Phacko 21-03-2007 02:19:42

configurar pagina en tiempo de ejecucion
 
Que tal, como los trata la vida??????

De nuevo por acá, tengo un pequeño problema con reportes, ya he diseñado el reporte de un punto de venta, por el momento lo estoy trabajando para preview, todo trabaja bien, datos, expresiones,..., pero el inconveniente es que como se trata de nota de venta hecha en impresora para royo de papel, no se tiene un tamaño definido de hojaen cuanto a longitud respecta. Trate de dimencionar la longitud antes de mandar llamar la vista previa de la siguiente forma:
Código Delphi [-]
FReporte.QuickRep1.Page.Length:=(370+NumRegs*20);
FReporte.QuickRep1.Prepare;
FReporte.QuickRep1.Preview;
Donde NumRegs es el numero de registros a imprimir y 370 es la medida del resto de bandas, aun con esto al hacer el preview, la página se presenta con el tamaño que tiene por default ( en este caso 279 mm), esto lo hice desde la form de donde mando llamar al reporte y en la misma forma donde he puesto el reporte y da lo mismo. Esto en Delphi y su correspondiente QReport.
Si alguien me puede orientar se lo voy a agradecer.
Gracias a todos, un saludo.

Buena noche por allá, buena tarde por acá.

egostar 21-03-2007 02:49:08

Veo dos problemas.

1. Siempre te dará 279 mm porque tienes asignado el tamaño de pagina como Letter, cambia Page.PaperSize a Custom, eso te permitirá modificar el valor del Page.Length.

2. No estoy muy seguro pero así como lo estas haciendo no creo que te de el valor correcto en el Page.Length, yo haría algo como esto

Código Delphi [-]
 
  Y := Canvas.TextHeight('Yy');
  ShowMessage(FloattoStr(Y));
  QuickRep1.Page.Length := Y * Numero_de_Registros;
  ShowMessage(FloattoStr(QuickRep1.Page.Length));

Trata con eso y nos dices como resultó.

Salud OS.

Phacko 21-03-2007 04:07:21

Siguen bastos....
 
Gracias por tu pronta respuesta, hice lo que me sugeriste, pero sigue lo mismo.He visto la preview desde la opción del QReport y la da correctamente con las medidas que le habia asignado anteriormente, pero al momento de ejecutar el programa da la longitud muy desproporcionada aunque tenga la medida de longitud muy corta.

Si tienes alguna idea te la voy a agradecer.

Sigo buscando que es lo que pueda suceder.

Gracias.

egostar 21-03-2007 17:32:50

Deberias de poder configurar la impresora con el mismo tamaño de página, esto pudiera ser con Printer.PageHeight usando la unidad Printers, creo que eso resuelve el problema.

Salud OS.

Phacko 22-03-2007 20:02:30

Por fin.... resuelto
 
Primero que nada, ja ja ja la gracia del juego de palabras. Gracias por tu ayuda Egostar y a los que tuvieron a bien leer este hilo, pues bien, ésta es para comunicar que el problema no era tal, la solución era lo "lógico" en vez de emplear el tamaño de la letra habia que utilizar el tamaño de la banda para multiplicarlo por el número de registros a imprimir.

Nuevamente gracias y que siga la fiesta.

Buenas noches por allá buen día por acá.


La franja horaria es GMT +2. Ahora son las 14:26:28.

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