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.

Interceptar TPrinter

Foro de Xailer profesional en español
Responder
zeasoftware
Mensajes: 1831
Registrado: Mar Oct 11, 2005 9:53 am

Interceptar TPrinter

Mensaje por zeasoftware »

Se puede interceptar la clase TPrinter?, lo requiero para que haga un
proceso por default, segun la aplicacion en la que lo voy a usar.
Gracias.
--
Ramón Zea
ramonzea@yahoo.com
http://www.paginasprodigy.com/zeasoft/
jose.luis
Mensajes: 1633
Registrado: Vie Oct 14, 2005 10:56 pm

Interceptar TPrinter

Mensaje por jose.luis »

Ramón,
> Se puede interceptar la clase TPrinter?, lo requiero para que haga un
> proceso por default, segun la aplicacion en la que lo voy a usar.
>
¿Qué proceso por defecto quieres hacer?
Saludos,
José Luis Capel
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Interceptar TPrinter

Mensaje por jfgimenez »

Ramón,
> Se puede interceptar la clase TPrinter?, lo requiero para que haga un
> proceso por default, segun la aplicacion en la que lo voy a usar.
Siempre puedes hacer:
CLASS TPrinter FROM XPrinter
...
ENDCLASS
y meter dentro de la clase lo que quieras, como en otros casos de uso de
clases X y T
--
Un saludo,
José F. Giménez
http://www.xailer.com
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
zeasoftware
Mensajes: 1831
Registrado: Mar Oct 11, 2005 9:53 am

Interceptar TPrinter

Mensaje por zeasoftware »

Aplicar una imagen de fondo, para hacer un programa en forma de
demostracion.
La clase es Printer, me equivoque,
Saludos.
--
Ramón Zea
ramonzea@yahoo.com
http://www.paginasprodigy.com/zeasoft/
zeasoftware
Mensajes: 1831
Registrado: Mar Oct 11, 2005 9:53 am

Interceptar TPrinter

Mensaje por zeasoftware »

Como puedo hacer para ingresar a la clase TPrinter un evento OnStartDoc() ?
He intentado
Class TPrinter From XPrinter
Event OnStartDoc( oSender )
EndClass
Pero como hago que sea ejecutado al llamar :StartDoc() ?
Gracias.
--
Ramón Zea
ramonzea@yahoo.com
http://www.paginasprodigy.com/zeasoft/
--
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Interceptar TPrinter

Mensaje por jfgimenez »

Ramón,
> La classe PRINTER es una TPrinter inializada por Xailer con direccion a la
> impresora predeterminada de windows?
Mas exactamente: Printer es un objeto de la clase TPrinter, que Xailer se
encarga de instanciar al comienzo de la aplicación y que permanece duranto
todo el tiempo de ejecución de la misma. Y efectívamente, la impresora
seleccionada es la que tenga seleccionada windows por defecto.
> Como puedo hacer que la impresion de redirecciones a una impresora de Red
> sin que tenga que usar el dialogo de impresoras o poner dicha impresora
> como predeterminada?
Revisa la propiedad TPrinter:nPrinterIndex en la documentación
> Seria mucho pedir un ejemplo usando TPrinter en vez de Printer y del caso
> anterior?
Supongamos que las impresoras instaladas son las siguientes:
- Epson en LPT1:
- LaserJet en servidor1
- Deskjet en servidor2
Pues para que imprima por defecto en la laserjet, sólo tienes que poner:
Printer:nPrinterIndex := 2
--
Un saludo,
José F. Giménez
http://www.xailer.com
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Interceptar TPrinter

Mensaje por jfgimenez »

Ramón,
> Como puedo hacer para ingresar a la clase TPrinter un evento OnStartDoc()
> ?
>
> He intentado
>
> Class TPrinter From XPrinter
>
> Event OnStartDoc( oSender )
>
> EndClass
>
> Pero como hago que sea ejecutado al llamar :StartDoc() ?
Sería algo así:
CLASS TPrinter FROM XPrinter
EVENT OnStartDoc( oSender )
METHOD StartDoc( cJobTitle, oWndOwner )
ENDCLASS
METHOD StartDoc( cJobTitle, oWndOwner ) CLASS TPrinter
IF Super:StartDoc( cJobTitle, oWndOwner )
::OnStartDoc()
RETURN .T.
ENDIF
RETURN .F.
--
Un saludo,
José F. Giménez
http://www.xailer.com
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
zeasoftware
Mensajes: 1831
Registrado: Mar Oct 11, 2005 9:53 am

Interceptar TPrinter

Mensaje por zeasoftware »

Dudas:
La classe PRINTER es una TPrinter inializada por Xailer con direccion a la
impresora predeterminada de windows?
Como puedo hacer que la impresion de redirecciones a una impresora de Red
sin que tenga que usar el dialogo de impresoras o poner dicha impresora como
predeterminada?
Seria mucho pedir un ejemplo usando TPrinter en vez de Printer y del caso
anterior?
Saludos.
--
Ramón Zea
ramonzea@yahoo.com
http://www.paginasprodigy.com/zeasoft/
zeasoftware
Mensajes: 1831
Registrado: Mar Oct 11, 2005 9:53 am

Interceptar TPrinter

Mensaje por zeasoftware »

Lo que indicas ya lo he leido y el cambio de la impresora con nPrinterIndex
ya lo tengo implementado.
Lo que quiro es poder msandar le impresion a determinada impresora, pasando
ya sea el nombre de dicha impresora grabada en una variable que aloja el
valor de un .ini.
ej:
..INI
ImpFact= epson lx 300 //que esta en la lista de la pc local y no esta por
default
y aqui viene mi duda:
como quedaria el codigo para decirle a TPrinter o Printer que imprima en el
valor de ImpFact?
ya estudie los ejemplos que dan con xailer.
gracias
--
Ramón Zea
ramonzea@yahoo.com
http://www.paginasprodigy.com/zeasoft/
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Interceptar TPrinter

Mensaje por jfgimenez »

Ramón,
> Lo que indicas ya lo he leido y el cambio de la impresora con
> nPrinterIndex ya lo tengo implementado.
>
> Lo que quiro es poder msandar le impresion a determinada impresora,
> pasando ya sea el nombre de dicha impresora grabada en una variable que
> aloja el valor de un .ini.
> ej:
> .INI
> ImpFact= epson lx 300 //que esta en la lista de la pc local y no esta por
> default
>
> y aqui viene mi duda:
> como quedaria el codigo para decirle a TPrinter o Printer que imprima en
> el valor de ImpFact?
n := AScan( Printer:aPrinterNames, {| p | p == cPrinter } )
IF n > 0
Printer:nPrinterIndex := n
ENDIF
--
Un saludo,
José F. Giménez
http://www.xailer.com
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
Responder