FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Problema con Seleccion Impresora
Posts: 505
Joined: Sat Apr 22, 2006 09:09 AM
Problema con Seleccion Impresora
Posted: Tue Sep 22, 2015 09:08 AM
Hola a todos:

Desde hace tiempo uso el poder seleccionar la impresora desde la aplicación y en una opción de impresión he puesto :

Code (fw): Select all Collapse
 
PRINT oPrn TO xImpLis2
oPrn:SetSize( vtapx*100, vtapy*100 )
if vorien = 1
  oPrn:SetPortrait()
else
  oPrn:SetLandscape()
endif


La primera línea selecciona la impresora con "to xImpLis2", la segunda redimensiona el tamaño de la impresión, el resto la orientación de la página y mi sorpresa es que al hacer esto la impresión la envía a la impresora por defecto del sistema y no a la impresora seleccionada.

Existe alguna solución para poder enviar a la impresora que se desee con oPrn:"Seleccion"(xLisImp2) o alguna otra solución.

Un saludo

Carlos
Colt Hop ED, S.L.
Carlos Blas Fernández Domínguez
Tlfo: 645847093
E-Mail: carlos@colthop.es

Nunca se termina de aprender, por eso necesito siempre ayuda.
Posts: 346
Joined: Mon Oct 05, 2009 03:35 PM
Re: Problema con Seleccion Impresora
Posted: Tue Sep 22, 2015 11:36 AM
Amigo:

yo lo utilizo asi:

Code (fw): Select all Collapse
#define  cPrinter     "BIXOLON SRP-350plus"     <<----- aqui es el mismo nombre definido en windows  ojo igual igual
...
...
PRINTER oPrn NAME "Guia de Recepcion" TO cPrinter


espero que sirva.

Saludos
SkyPe: armando.lagunas@hotmail.com

Mail: armando.lagunas@gmail.com
Posts: 505
Joined: Sat Apr 22, 2006 09:09 AM
Re: Problema con Seleccion Impresora
Posted: Tue Sep 22, 2015 01:03 PM

Hola Armando:

Lo he probado y sigue imprimiendo con la impresora por defecto. Muchas gracias por tu aporte.

No encuentro solución pero me gustaría saber si puede existir.

un saludo

Carlos

Colt Hop ED, S.L.
Carlos Blas Fernández Domínguez
Tlfo: 645847093
E-Mail: carlos@colthop.es

Nunca se termina de aprender, por eso necesito siempre ayuda.
Posts: 728
Joined: Fri Oct 07, 2005 07:38 AM
Re: Problema con Seleccion Impresora
Posted: Tue Sep 22, 2015 04:57 PM

Carlos, ¿en qué sistema operativo lo estás probando? Recuerdo que tuve el mismo problema en Windows Server 2008 (no solucionado).
En cambio si se selecciona la impresora desde la función PrinterSetup() de FW funciona perfectamente :oops: :oops:

Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
Posts: 505
Joined: Sat Apr 22, 2006 09:09 AM
Re: Problema con Seleccion Impresora
Posted: Tue Sep 22, 2015 06:11 PM

Hola Ángel:

El Sistema Operativo es Windows 7, Windows 8 y Windows 10. Y yo no uso PrinterSetup(). Presento una ventana con todas las impresoras y selecciono la impresora en el "PRINT oPrn TO xImpLis2 ".

El problema no es como selecciona la impresora al principio sino que cuando le digo si quiero imprimir en Horizontal o Vertical y el tamaño de la impresión pierde la impresora que le digo y pone la del sistema operativo por defecto, y no se como se puede arreglar o si no lo tiene por el motivo que sea y es un error de las librerías que no se puede corregir.

Un saludo

Carlos

Colt Hop ED, S.L.
Carlos Blas Fernández Domínguez
Tlfo: 645847093
E-Mail: carlos@colthop.es

Nunca se termina de aprender, por eso necesito siempre ayuda.
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Problema con Seleccion Impresora
Posted: Tue Sep 22, 2015 06:36 PM
Cambie PRINTER.PRG para veer se és esto que necesitas:

Code (fw): Select all Collapse
METHOD New( cDocument, lUser, lPreview, cModel, lModal, lSelection, cFile ) CLASS TPrinter

   local aOffset
   local cPrinter

   DEFAULT cDocument  := "FiveWin Report" ,;
       lUser := .f., lPreview := .f., lModal := .f., lSelection := .f.

   if lUser

      ::hDC := GetPrintDC( GetActiveWindow(), lSelection, PrnGetPagNums() )

      if ::hDC != 0
         cModel = ::GetModel() + "," + ::GetDriver() + "," + ::GetPort()
      endif

   elseif cModel == nil  // Modified: 16/01/2014

      ::hDC  := GetPrintDefault( GetActiveWindow() )

      cModel = ::GetModel() + "," + ::GetDriver() + "," + ::GetPort()

      SetPrintDefault( cModel ) // NEW !!!  // 16/01/2014  Joao

   else

      cPrinter := GetProfString( "windows", "device" , "" )

      WriteProfString( "windows", "device", cModel )

      SysRefresh()

      PrinterInit()

      ::hDC := GetPrintDefault( GetActiveWindow() )

      SysRefresh()

      WriteProfString( "windows", "device", cPrinter  )

      SetPrintDefault( cPrinter ) // NEW !!!  Antonio Linares

   endif

   if ::hDC != 0
      aOffset    = PrnOffset( ::hDC )
      ::nXOffset = aOffset[ 1 ]
      ::nYOffset = aOffset[ 2 ]
      ::nOrient  = ::GetOrientation()
   elseif ComDlgXErr() != 0
      MsgStop( "There are no printers installed!"  + CRLF + ;
               "Please exit this application and install a printer." )
      ::nXOffset = 0
      ::nYOffset = 0
   else
      ::nXOffset = 0
      ::nYOffset = 0
      ::nOrient  = DMORIENT_PORTRAIT
   endif

   ::cDocument = cDocument
   ::cModel    = cModel
   ::nPage     = 0
   ::nPad      = 0
   ::lMeta     = .f.
   ::lPreview  = lPreview
   ::lStarted  = .F.
   ::lModified = .F.
   ::lPrvModal = lModal

   if ! Empty( cFile ) .and. Lower( Right( cFile, 3 ) ) == "pdf"
      ::cFile   = cFile
      ::lMeta     = .t.
   elseif ::lPreview
      ::lMeta     = .t.
   endif

   if ! ::lMeta
      ::hDcOut = ::hDC
   else
      ::aMeta  = {}
      ::cDir   = GetEnv( "TEMP" )

      if Empty( ::cDir )
         ::cDir = GetEnv( "TMP" )
      endif

      if Right( ::cDir, 1 ) == "\"
         ::cDir = SubStr( ::cDir, 1, Len( ::cDir ) - 1 )
      endif

      if ! Empty( ::cDir )
         if ! lIsDir( ::cDir )
            ::cDir = GetWinDir()
         endif
      else
         ::cDir := GetWinDir()
      endif
   endif

return Self


João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 505
Joined: Sat Apr 22, 2006 09:09 AM
Re: Problema con Seleccion Impresora
Posted: Tue Sep 22, 2015 07:10 PM

Hola Joao:

Parece que con esta corrección ya funciona bien. Seguiré con las pruebas y muchas gracias por tu interés.

Un saludo.

Carlos

Colt Hop ED, S.L.
Carlos Blas Fernández Domínguez
Tlfo: 645847093
E-Mail: carlos@colthop.es

Nunca se termina de aprender, por eso necesito siempre ayuda.
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Problema con Seleccion Impresora
Posted: Tue Sep 22, 2015 07:46 PM

Hola soy siempre feliz de ayudar a los mejores del mundo. Me encanta FiveWin. Feliz de ser parte de esto. saludos

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341

Continue the discussion