Sustituir RPreview por Reader

Sustituir RPreview por Reader

Postby Sebastián Almirón » Wed May 21, 2014 5:20 pm

Hola a todos,

En un proceso de mejorar todo lo relacionado con la impresión en mis programas, he modificado la function PrinEnd (De printer.prg), y le he añadido estas líneas a continuación del if oPrinter:lMeta del comienzo:

oPrinter:cfile := GetEnv("TMP")+'\TMP'+alltrim(str(nRandom()))+'.pdf'
do whil file(oPrinter:cfile)
oPrinter:cfile := GetEnv("TMP")+'\TMP'+alltrim(str(nRandom()))+'.pdf'
enddo

Me funciona muy bien, pero tengo que buscar la manera de indicarle al Reader la impresora en la que hay que imprimir el documento (la misma que tenga configurada mi programa para ese tipo de documento), y no que salga la predeterminada, ya que el usuario tiene varias a su disposición y casi siempre se equivoca al elegirla. ¿Alguna idea ?

Saludos
User avatar
Sebastián Almirón
 
Posts: 155
Joined: Mon Dec 12, 2005 9:56 am
Location: Moralzarzal - Spain

Re: Sustituir RPreview por Reader

Postby sysctrl2 » Wed May 21, 2014 5:46 pm

a que te refieres con READER ?
es ADOBE READER ?

SALUDOS.
Cesar Cortes Cruz
SysCtrl Software
Mexico

' Sin +- FWH es mejor "
User avatar
sysctrl2
 
Posts: 951
Joined: Mon Feb 05, 2007 7:15 pm

Re: Sustituir RPreview por Reader

Postby karinha » Wed May 21, 2014 6:18 pm

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7213
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Sustituir RPreview por Reader

Postby elvira » Wed May 21, 2014 6:25 pm

Sebas,

Entonces, ¿conviertes los emf a pdf y los muestras con el Adobe?.

Creo que entonces en el código de tprinter hay que hacer más cambios.

Aprovechando, por favor ¿has avanzado algo con el myreport?.

Muy agradecida :D :roll: :roll:
elvira
 
Posts: 515
Joined: Fri Jun 29, 2012 12:49 pm

Re: Sustituir RPreview por Reader

Postby lucasdebeltran » Thu May 22, 2014 10:36 am

Sebastián,

Antes de llamar al Acrobat guardas la impresora por defecto, la cambias a la que necesites y tras ello restauras la impresora por defecto original.

Por ejemplo:

Code: Select all  Expand view
   // Leo impresora por defecto
    cPrinter := GetProfString( "windows", "device" , "" )

    // cambio impresora elegida
    WriteProfString( "windows", "device", cNewPrinter )
    SysRefresh()
   
    //PrinterInit()

...

Llamada a WinExec para Acrobat Reader

    // restauro impresora original
    WriteProfString( "windows", "device", cPrinter  )
Muchas gracias. Many thanks.

Un saludo, Best regards,

Harbour 3.2.0dev, Borland C++ 5.82 y FWH 13.06 [producción]

Implementando MSVC 2010, FWH64 y ADO.

Abandonando uso xHarbour y SQLRDD.
User avatar
lucasdebeltran
 
Posts: 1303
Joined: Tue Jul 21, 2009 8:12 am

Re: Sustituir RPreview por Reader

Postby Sebastián Almirón » Thu May 22, 2014 3:29 pm

Gracias Lucas, va ser verdad de cuatro ojos ven más que dos. :D

A falta de chequearlo más a fondo, por si da algún problema, solo con añadir las cuatro líneas indicadas, se sustituye el Rpreview por el visor de PDF en todas las vistas previas de nuestro programa, en realidad la clase TPrinter ya está preparada para ello con solo indicarle que la propiedad cFile tiene la cadena pdf en algún lugar, lo que hacen estas líneas es forzar eso.

Elvira, las modificaciones a MyRpt estoy en ello, cuando tengo tiempo, espero tener una versión estable en breve.

Saludos
User avatar
Sebastián Almirón
 
Posts: 155
Joined: Mon Dec 12, 2005 9:56 am
Location: Moralzarzal - Spain


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 64 guests