FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour oPrn:Setup() en FWH 16.12
Posts: 73
Joined: Wed Oct 12, 2005 06:58 PM
oPrn:Setup() en FWH 16.12
Posted: Mon Jan 16, 2017 10:49 AM

He compilado el c贸digo que ya ten铆a escrito de la versi贸n anterior de FWH con la nueva versi贸n 16.12 y aparte de GetCurDir() que lo he tenido que modificar los path y con esto se ha resuelto, tambi茅n me hace mal el oPrn:Setup() ya que me saca la ventana de selecci贸n de impresora, me deja seleccionar una diferente a la predeterminada pero no funciona dicha selecci贸n porque selecciones la que sea siempre imprime por la prederterminada.
Si alguien le ha pasado esto y conoce la soluci贸n le estar铆a muy agradecido por sus indicaciones.

Gracias

Saludos

julio@cepedaserinf.es
FiveWin 25.06 + Harbour 3.2.0dev (r2503251254), BCC 7 Windows 11
Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM
Re: oPrn:Setup() en FWH 16.12
Posted: Mon Jan 16, 2017 11:49 AM
Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM
Re: oPrn:Setup() en FWH 16.12
Posted: Mon Jan 16, 2017 11:55 AM
Code (fw): Select all Collapse
// Printing in portrait and in landscape

#include "fivewin.ch"

#define PAD_LEFT            0
#define PAD_RIGHT           1
#define PAD_CENTER          2

function Main()
   local oPrn, oFont, oPen
   Local nLinI, nColI, nLinF, nColF
 

   //PRINT oPrn NAME "Impresi贸n en Vertical.." PREVIEW

   PRINT oPrn NAME "Impresi贸n en Vertical.." PREVIEW MODAL

      DEFINE FONT oFont NAME "Arial" SIZE 0, -10 BOLD OF oPrn
      DEFINE PEN oPen WIDTH  2                        OF oPrn

      oPrn:Setup()
 
      oPrn:SetPage(9)  // A4
      oPrn:SetPortrait() //Vertical

      PAGE
         nLinI :=  0.90
         nColI :=  0.90
         nLinF := 28.6
         nColF := 20.0
         oPrn:Cmtr2Pix(@nLinI, @nColI)
         oPrn:cmtr2Pix(@nLinF, @nColF)
         oPrn:Box(nLinI, nColI, nLinF, nColF, oPen  )
         oPrn:cmSay( 1.0,  1.0, "Superior Izquierda", oFont,,CLR_BLACK,,PAD_LEFT  )
         oPrn:cmSay( 1.0, 10.5, "Superior Centro",    oFont,,CLR_BLACK,,PAD_CENTER )
         oPrn:cmSay( 1.0, 20.0, "Superior Derecha",   oFont,,CLR_BLACK,,PAD_RIGHT )
         oPrn:cmSay(28.0,  1.0, "Inferior Izquierda", oFont,,CLR_BLACK,,PAD_LEFT  )
         oPrn:cmSay(28.0, 10.5, "Inferior Centro",    oFont,,CLR_BLACK,,PAD_CENTER )
         oPrn:cmSay(28.0, 20.0, "Inferior Derecha",   oFont,,CLR_BLACK,,PAD_RIGHT )
      ENDPAGE
   ENDPRINT
 

   PRINT oPrn NAME "Impresion Horizontal..." PREVIEW
      DEFINE FONT oFont NAME "Arial" SIZE 0, -10 BOLD OF oPrn
      DEFINE PEN oPen WIDTH  2                        OF oPrn
      oPrn:SetPage(9)  //a4
      oPrn:SetLandscape() // HORIZONTAL
      PAGE
         nLinI :=  0.90
         nColI :=  0.90
         nLinF := 20.1
         nColF := 28.6
         oPrn:Cmtr2Pix(@nLinI, @nColI)
         oPrn:cmtr2Pix(@nLinF, @nColF)
         oPrn:Box(nLinI, nColI, nLinF, nColF, oPen  )
         oPrn:cmSay( 1.0,  1.0, "Superior Izquierda", oFont,,CLR_BLACK,,PAD_LEFT  )
         oPrn:cmSay( 1.0, 14.8, "Superior Centro",    oFont,,CLR_BLACK,,PAD_CENTER )
         oPrn:cmSay( 1.0, 28.0, "Superior Derecha",   oFont,,CLR_BLACK,,PAD_RIGHT )
         oPrn:cmSay(19.5,  1.0, "Inferior Izquierda", oFont,,CLR_BLACK,,PAD_LEFT  )
         oPrn:cmSay(19.5, 14.8, "Inferior Centro",    oFont,,CLR_BLACK,,PAD_CENTER )
         oPrn:cmSay(19.5, 28.0, "Inferior Derecha",   oFont,,CLR_BLACK,,PAD_RIGHT )
      ENDPAGE
   ENDPRINT
 
return nil


Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 73
Joined: Wed Oct 12, 2005 06:58 PM
Re: oPrn:Setup() en FWH 16.12
Posted: Mon Jan 16, 2017 06:45 PM

Muchas gracias por tu respuesta karinha. No tengo ning煤n problema para cambiar la orientaci贸n, horizontal o vertical.
El problema que tengo es que si compilo con la version de FWH 11.07 cuando se ejecuta oPrn:Setup() me presenta Windows la ventana de Seleccionar Impresora con las impresoras instaladas en el PC, selecciono una que no es la predeterminada y me imprime por la que yo selecciono.
Sin embargo compilo el mismo c贸digo con FWH versi贸n 16.12 cuando se ejecuta oPrn:Setup() me presenta Windows la ventana de Seleccionar Impresora con las impresoras instaladas en el PC, selecciono una que no es la predeterminada y me imprime por la predeterminada y no por la que yo he seleccionado.

Gracias.

Saludos

julio@cepedaserinf.es
FiveWin 25.06 + Harbour 3.2.0dev (r2503251254), BCC 7 Windows 11
Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM
Re: oPrn:Setup() en FWH 16.12
Posted: Mon Jan 16, 2017 07:10 PM
Creo, sea esto:

Code (fw): Select all Collapse
FUNCTION DefaultPrinter() 

聽 聽LOCAL nPrn, nRet

聽 聽// Abre a tela para a sele莽茫o da impressora
聽 聽/*
聽 聽GetPrintDC( GetActiveWindow() )

聽 聽// Coloca a impressora selecionada como Default do Windows
聽 聽SetDefaultPrinter( PRNGETNAME() )
聽 聽*/

聽 聽nRet := PrinterSetUp()

聽 聽nPrn := PrnGetName()

聽 聽IF( nRet # 0 )

聽 聽 聽 // NADA A FAZER MUDA O DEFULT DA IMPRESSORA EM TEMPO REAL.
聽 聽 聽 SetDefaultPrinter( PRNGETNAME() ) // MUDA O DEFAULT DA IMPRESSORA

聽 聽 聽 // Mensageria

聽 聽ELSE

聽 聽 聽 // mensageria

聽 聽 聽 RETURN( .F. )

聽 聽ENDIF

RETURN NIL


nueva function de PRINTER.PRG de FWHX16.12

Code (fw): Select all Collapse
function SetPrintDefault( cModel )

聽 聽local cDriver := StrToken( GetProfString( "Devices", cModel, "" ), 1, "," )
聽 聽local cPort 聽 := StrToken( GetProfString( "Devices", cModel, "" ), 2, "," )

聽 聽WriteProfString( "Windows", "Device", cModel + "," + cDriver + "," + cPort )

return nil


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

Continue the discussion