Ver Mensaje Individual
  #4  
Antiguo 07-02-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola noeljr.

La clase TPrinter posee la propiedad PageNumber de la que podes obtener el número de página que se está imprimiendo actualmente. El uso de esta, logicamente es incompatible con imprimir de la forma:
Código Delphi [-]
RichEdit1.Print('...')

Se me ocurren dos posibles opciones y ambas se me figuran complicadas, ya que requieren calcular previamente la cantidad de líneas que conforman una hoja para ir agregando el número de página. Y como bién comentas en tu segundo mensaje, existiendo diferentes tamaños de caracteres (y gráficos para empeorar la cosa) el cálculo previo de la cantidad de lineas por hoja no es tarea sencilla en absoluto.

Habiendo superado el obstáculo de obtener la cantidad de lineas por hoja, la primera opción es insertar los números de página correspondientes en el RichEdit antes de imprimir mediante el método Insert de la propiedad Lines.

La segunda es imprimir el TRichEdit línea a línea e insertar el número de página al inicio de la misma o al final, antes del salto de página (TPrinter.NewPage).

Sinceramente creo que usar un generador de reportes te simplificaría la vida...

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita