Hola
Como puedo saber el número de filas que puedo imprimir en una página ?
Un saludo y gracias
Clase Report ?
No es posible saberlo de antemano, el objeto REPORT va imprimiendo linea por linea, calculando al mismo tiempo el espacio que le queda para imprimir, tomando en cuenta el tamaño de la hoja en base a los datos que le devuelve el driver.
Por partes.
El objeto REPORT en realidad es un objeto PRINTER inteligente, que realiza los cálculos de tamaño y espacio de manera automatica.
Para que PRINTER pueda imprimir, valga la redundancia, necesita información del driver de la impresora sobre la cual va a imprimir, esta informacion es por ejemplo la resolucion, el tamaño de la hoja los margenes de la misma, etc.
En base a esa informacion, el objeto PRINTER sabe que area efectiva de impresion tiene.
REPORT es otra historia, porque basado en las metricas devueltas por Printer, REPORT imprime primero cabeceras, titulos y pies de pagina, luego calcula el espacio disponible para el cuerpo y procede a imprimir linea por linea contado la longitud que lleva impresa en base a la fuente sobre la cual está definido el reporte.
Te comento que no puedes saber cuantas lineas vas a poder imprimir, porque de ante mano cada impresora tiene resolucion distinta, con lo cual, quiza puedas imprimir tal cantidad de lineas en una impresora, pero en otra puedes imprimir mas o menos lineas, dependiendo de la resolucion.
Tampoco puedes saber cuantas lineas hay, porque algunas impresoras manejan "margenes" predefinidos dentro del driver, con lo cual, a menos que manualmente anules los drivers (con la funcion PrinterSetup() ) tampoco puedes saber que tamaño real de impresion va a tener tu hoja.
Por partes.
El objeto REPORT en realidad es un objeto PRINTER inteligente, que realiza los cálculos de tamaño y espacio de manera automatica.
Para que PRINTER pueda imprimir, valga la redundancia, necesita información del driver de la impresora sobre la cual va a imprimir, esta informacion es por ejemplo la resolucion, el tamaño de la hoja los margenes de la misma, etc.
En base a esa informacion, el objeto PRINTER sabe que area efectiva de impresion tiene.
REPORT es otra historia, porque basado en las metricas devueltas por Printer, REPORT imprime primero cabeceras, titulos y pies de pagina, luego calcula el espacio disponible para el cuerpo y procede a imprimir linea por linea contado la longitud que lleva impresa en base a la fuente sobre la cual está definido el reporte.
Te comento que no puedes saber cuantas lineas vas a poder imprimir, porque de ante mano cada impresora tiene resolucion distinta, con lo cual, quiza puedas imprimir tal cantidad de lineas en una impresora, pero en otra puedes imprimir mas o menos lineas, dependiendo de la resolucion.
Tampoco puedes saber cuantas lineas hay, porque algunas impresoras manejan "margenes" predefinidos dentro del driver, con lo cual, a menos que manualmente anules los drivers (con la funcion PrinterSetup() ) tampoco puedes saber que tamaño real de impresion va a tener tu hoja.
Saludos
R.F.
R.F.