Problema clase PrintDocument
Hola a todos necesito ayuda urgente, me estoy volviendo loca con este tema. Estoy utilizando la clase PrintDocument para imprimir un archivo q tengo en memoria en un MemoryStream, pero el ejemplo viene en visual basic mis preguntas son:
1. No entiendo cómo relaciona el PrintDocument con el StreamReader. 2. Esta linea de codigo AddHandler pd.PrintPage, AddressOf Me.pd_PrintPage cómo se traduce a delphi. 3. Cómo se asocia el parametro ev As PrintPageEventArgs del método pd_PrintPage Por favor, agradecería que alguien me pudiera ayudar. Muchas gracias por adelantado. El código completo lo adjunto a continuacion. CODIGO COMPLETO Código:
Public Class PrintingExample |
Hola,
Nunca he usado la clase PrintDocument, pero para aclarar tus dudas (aunque genere otras): - El AddressOf es la forma en la que VB maneja los delegados. En tu caso particular, al parecer la clase PrintDocument, al llamar el metodo Print(), dispara el evento PrintPage (pd.PrintPage). Lo que hace AddressOf es decir: cuando se dispare el evento PrintPage del objeto pd de tipo PrintDocument, yo quiero que tu me ejecutes el metodo pd_PrintPage que yo tengo definido en mi clase. Este metodo (pd_PrintPage) tiene que cumplir con el "signature" (tipo y numero de parametros) definido para ese evento, en tu caso, recibir un object y PrintPageEventArgs, en sender y ev, como parametros del metodo. Eso lo puedes ver con cualquier otro componente que arrastres al formulario, especialmente en c#, ya que vb oculta (lamentablemente) esto del programador, y lo maneja con un ... methodname() Handles control.Evento. Son cosas del lenguaje. Sobre lo segundo, la asociacion no se da entre el stream y el printdocument, sino en: Código:
line = streamToPrint.ReadLine() |
La franja horaria es GMT +2. Ahora son las 16:39:01. |
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