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
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
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)
Carlos Vargas
Desde Managua, Nicaragua (CA)