In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Número de página TPrinter

Foro de Xailer profesional en español
Responder
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

Número de página TPrinter

Mensaje por Xevi »

Creo que no se ha incorporado la propiedad nPageNumber en la clase TPrinter.
Me es necesaria disponer de ella, por lo que se me ocurre derivar de TPrinter
CLASS TPrinter FROM XPrinter
Data nPageNumber Init 0
ENDCLASS
....
Pero no se como modificar los eventos esenciales de la clase!!!
¿Como puedo modificar el evento StartDoc(), para que cada vez que inicie un documento, poner esta Data a 0???
¿Cómo puedo modificar el evento NewPage(), para que incremente esta Data en +1???
Gracias.
Un Saludo,
Xevi.
--
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Número de página TPrinter

Mensaje por jfgimenez »

Xevi,
Creo que no se ha incorporado la propiedad nPageNumber en la clase TPrinter.
Sí­, es cierto. Lo haremos en cuanto podamos.
Me es necesaria disponer de ella, por lo que se me ocurre derivar de TPrinter
CLASS TPrinter FROM XPrinter
Data nPageNumber Init 0
ENDCLASS
...
Pero no se como modificar los eventos esenciales de la clase!!!
¿Como puedo modificar el evento StartDoc(), para que cada vez que inicie un documento, poner esta Data a 0???
¿Cómo puedo modificar el evento NewPage(), para que incremente esta Data en +1???
Puedes hacer algo así­:
METHOD StartDoc() INLINE ::nPageNumber := 0, Super:StartDoc()
METHOD NewPage() INLINE ::nPageNumer++, Super:NewPage()
--
Un saludo,
José F. Giménez
--
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

Número de página TPrinter

Mensaje por Xevi »

Jose,
PERFECTO!!!
CLASS TPrinter FROM XPrinter
Data nPageNumber Init 0
METHOD StartDoc() INLINE ::nPageNumber := 0, Super:StartDoc()
METHOD StartPage() INLINE ::nPageNumber++, Super:StartPage()
ENDCLASS
Por lo que voy entendiendo, podemos "añadir" código al sobreescribir un método, y al final lanzamos el mismo evento con Super... que hace referencia a si mismo...
Complicado, pero ya iremos aprendiendo!!!
Un Saludo,
Xevi.
"Jose F. Gimenez" <jfgimenez@wanadoo.es> escribió en el mensaje news:4368821b$[email=2@ozsrvnegro.ozlan.local...]2@ozsrvnegro.ozlan.local...[/email]
Xevi,
Creo que no se ha incorporado la propiedad nPageNumber en la clase TPrinter.
Sí­, es cierto. Lo haremos en cuanto podamos.
Me es necesaria disponer de ella, por lo que se me ocurre derivar de TPrinter
CLASS TPrinter FROM XPrinter
Data nPageNumber Init 0
ENDCLASS
...
Pero no se como modificar los eventos esenciales de la clase!!!
¿Como puedo modificar el evento StartDoc(), para que cada vez que inicie un documento, poner esta Data a 0???
¿Cómo puedo modificar el evento NewPage(), para que incremente esta Data en +1???
Puedes hacer algo así­:
METHOD StartDoc() INLINE ::nPageNumber := 0, Super:StartDoc()
METHOD NewPage() INLINE ::nPageNumer++, Super:NewPage()
--
Un saludo,
José F. Giménez
--
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Número de página TPrinter

Mensaje por jfgimenez »

Xevi,
Por lo que voy entendiendo, podemos "añadir" código al sobreescribir un método, y al final lanzamos el mismo evento con Super... que hace referencia a si mismo...
Esta es una de las ventajas de usar clases X y clases T como indiqué en el artí­culo de http://www.levante3000.com ;-)
Complicado, pero ya iremos aprendiendo!!!
Al principio puede que sí­, pero ya verás como es muy sencillo cuando comprendes como funciona la POO.
--
Un saludo,
José F. Giménez
--
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

Número de página TPrinter

Mensaje por Xevi »

Todaví­a estoy utilizando esta "drivación" de la clase TPrinter, y me funciona perfectamente.
Sólo que,... todaví­a no l ahabeis incluido en la Clase???
No he visto que la ayuda se haga ninguna mención a esta propiedad.
Si sólo se trata de incluir esas dos lí­neas en la Clase ¿no es así­???
Gracias.
Un Saludo,
Xevi.
"Xevi" <xevicomas@terra.es> escribió en el mensaje news:43688954$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
Jose,
PERFECTO!!!
CLASS TPrinter FROM XPrinter
Data nPageNumber Init 0
METHOD StartDoc() INLINE ::nPageNumber := 0, Super:StartDoc()
METHOD StartPage() INLINE ::nPageNumber++, Super:StartPage()
ENDCLASS
Por lo que voy entendiendo, podemos "añadir" código al sobreescribir un método, y al final lanzamos el mismo evento con Super... que hace referencia a si mismo...
Complicado, pero ya iremos aprendiendo!!!
Un Saludo,
Xevi.
"Jose F. Gimenez" <jfgimenez@wanadoo.es> escribió en el mensaje news:4368821b$[email=2@ozsrvnegro.ozlan.local...]2@ozsrvnegro.ozlan.local...[/email]
Xevi,
Creo que no se ha incorporado la propiedad nPageNumber en la clase TPrinter.
Sí­, es cierto. Lo haremos en cuanto podamos.
Me es necesaria disponer de ella, por lo que se me ocurre derivar de TPrinter
CLASS TPrinter FROM XPrinter
Data nPageNumber Init 0
ENDCLASS
...
Pero no se como modificar los eventos esenciales de la clase!!!
¿Como puedo modificar el evento StartDoc(), para que cada vez que inicie un documento, poner esta Data a 0???
¿Cómo puedo modificar el evento NewPage(), para que incremente esta Data en +1???
Puedes hacer algo así­:
METHOD StartDoc() INLINE ::nPageNumber := 0, Super:StartDoc()
METHOD NewPage() INLINE ::nPageNumer++, Super:NewPage()
--
Un saludo,
José F. Giménez
--
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9448
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Número de página TPrinter

Mensaje por ignacio »

Xevi,
Efectivamente se nos ha olvidado. Ahora mismo lo pongo.
Un saludo,
"Xevi" <xevicomas@terra.es> escribió en el mensaje news:[email=43ea35af@ozsrvnegro.ozlan.local...]43ea35af@ozsrvnegro.ozlan.local...[/email]
Todaví­a estoy utilizando esta "drivación" de la clase TPrinter, y me funciona perfectamente.
Sólo que,... todaví­a no l ahabeis incluido en la Clase???
No he visto que la ayuda se haga ninguna mención a esta propiedad.
Si sólo se trata de incluir esas dos lí­neas en la Clase ¿no es así­???
Gracias.
Un Saludo,
Xevi.
"Xevi" <xevicomas@terra.es> escribió en el mensaje news:43688954$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
Jose,
PERFECTO!!!
CLASS TPrinter FROM XPrinter
Data nPageNumber Init 0
METHOD StartDoc() INLINE ::nPageNumber := 0, Super:StartDoc()
METHOD StartPage() INLINE ::nPageNumber++, Super:StartPage()
ENDCLASS
Por lo que voy entendiendo, podemos "añadir" código al sobreescribir un método, y al final lanzamos el mismo evento con Super... que hace referencia a si mismo...
Complicado, pero ya iremos aprendiendo!!!
Un Saludo,
Xevi.
"Jose F. Gimenez" <jfgimenez@wanadoo.es> escribió en el mensaje news:4368821b$[email=2@ozsrvnegro.ozlan.local...]2@ozsrvnegro.ozlan.local...[/email]
Xevi,
Creo que no se ha incorporado la propiedad nPageNumber en la clase TPrinter.
Sí­, es cierto. Lo haremos en cuanto podamos.
Me es necesaria disponer de ella, por lo que se me ocurre derivar de TPrinter
CLASS TPrinter FROM XPrinter
Data nPageNumber Init 0
ENDCLASS
...
Pero no se como modificar los eventos esenciales de la clase!!!
¿Como puedo modificar el evento StartDoc(), para que cada vez que inicie un documento, poner esta Data a 0???
¿Cómo puedo modificar el evento NewPage(), para que incremente esta Data en +1???
Puedes hacer algo así­:
METHOD StartDoc() INLINE ::nPageNumber := 0, Super:StartDoc()
METHOD NewPage() INLINE ::nPageNumer++, Super:NewPage()
--
Un saludo,
José F. Giménez
--
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Responder