FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Ayuda con extenciones de xharbour
Posts: 1789
Joined: Tue Oct 11, 2005 05:01 PM

Ayuda con extenciones de xharbour

Posted: Thu May 06, 2010 05:53 PM
Estimados, estoy usando las extenciones de xharbour, y me surgido una duda.
aca estoy sobreescribiendo un metodo de la clase printer, agregando un nuevo metodo, y agregando dos nuevas datas.
pero el asunto esta en lass datas, existe una forma de inicializar las datas con un valor por defecto y que no sea en un metodo, es que la unica forma que se me ocurre es sobreescribiendo el metodo new de la clase.

lo ideal seria :
EXTEND CLASS TPRINTER WITH DATA nOSR INIT 0
EXTEND CLASS TPRINTER WITH DATA nOSC INIT 0

Code (fw): Select all Collapse
   OVERRIDE METHOD CmSay     IN CLASS TPrinter WITH KCmSay
   EXTEND CLASS TPRINTER WITH DATA   nOSR
   EXTEND CLASS TPRINTER WITH DATA   nOSC
   EXTEND CLASS TPRINTER WITH METHOD SetOffset

/*-------------------------------------------------------------------------------------------------*/

STATIC FUNCTION SetOffSet( cFile )
   LOCAL SELF    := HB_QSelf()
   LOCAL cOffset := ""

   ::nOSR := 0
   ::nOSC := 0

   IF File( cFile )
      cOffSet := MemoRead( cFile )  // aca el archivo contiene la cadena "0.00|0.00" cuyo valor pudiera variar
      IF !empty( cOffSet )

         ::nOSR := Val( StrToken( cOffSet, 1 , "|" ) )
         ::nOSC := Val( StrToken( cOffSet, 2 , "|" ) )

      ENDIF
   ELSE
      MsgAlert( "No se pudo encontrar el archivo OffSet!" )
   ENDIF

RETURN NIL

/*-------------------------------------------------------------------------------------------------*/

STATIC FUNCTION KCmSay( nRow, nCol, cText, oFont, nWidth, nClrText, nBkMode, nPad, lO2A )
   LOCAL SELF := HB_QSelf()
   LOCAL nR   := nRow + ::nOSR
   LOCAL nC   := nCol + ::nOSC

   ::Cmtr2Pix( @nR , @nC )

   IF nWidth # Nil
      ::Cmtr2Pix( 0, @nWidth )
      nWidth += ::nYOffset
   ENDIF

   ::Say( nR, nC, cText, oFont, nWidth, nClrText, nBkMode, nPad, lO2A )

RETURN NIL

/*-------------------------------------------------------------------------------------------------*/
Salu2

Carlos Vargas

Desde Managua, Nicaragua (CA)

Continue the discussion