Nuevamente con este tema, ya que no puedo encontrar el Problema de porque no me justifica la Impresi贸n...
Esta es la Funcion que Uso.....
* cTxt 聽= Texto a Imprimir
* oPrn
* nRow 聽= Linea
* nCol 聽= Columna
* nWid 聽= Tope de Columa a la Derecha
* oFont = Letra
* nSkp 聽= Tama帽o de Salto de Linea
* nClr 聽=
FUNCTION Imp_MemoW(cTxt,oPrn,nRow,nCol,nWid,oFont,nSkp,nClr)
local cLin 聽 聽 聽 聽,;
聽 聽 聽 lCont:=.T. 聽,;
聽 聽 聽 nP:=0 聽 聽 聽 ,;
聽 聽 聽 lNext 聽 聽 聽 ,;
聽 聽 聽 cC 聽 聽 聽 聽 聽,;
聽 聽 聽 nW
DEFAULT nSkp:=0.4, nClr:=0
cTxt := Alltrim(cTxt)
nW 聽 := nWid-0.2
nRow-=nSkp
oPrn:Cmtr2Pix(0,@nWid)
WHILE lCont 聽 聽 聽 聽 聽 聽 聽// un desmadre para separar
聽 cLin 聽:= cC := "" 聽 聽 聽// y justificar los memos!!
聽 lNext := .T.
聽 WHILE oPrn:GetTextWidth(cLin,oFont)<nWid ;
聽 聽 聽 聽.AND. nP<=Len(cTxt) .AND. lNext
聽 聽 nP++
聽 聽 cC:=Substr(cTxt,nP,1)
聽 聽 IF Asc(cC)<>13
聽 聽 聽 cLin+=cC
聽 聽 ELSE
聽 聽 聽 聽nP++
聽 聽 聽 聽lNext:=.F.
聽 聽 ENDIF
聽 ENDDO
聽 IF Asc(cC)<>13 .AND. Asc(cC)<>0
聽 聽 cC:=Substr(cTxt,nP+1,1)
聽 聽 IF " "$cLin .AND. cC<>" "
聽 聽 聽 WHILE cC<>" " .AND. Len(cLin)>0
聽 聽 聽 聽 cLin:=Substr(cLin,1,Len(cLin)-1)
聽 聽 聽 聽 cC:=Right(cLin,1)
聽 聽 聽 聽 nP--
聽 聽 聽 ENDDO
聽 聽 ELSE
聽 聽 聽 cLin:=Substr(cLin,1,Len(cLin)-2)+"-"
聽 聽 聽 cC:=Right(cLin,1)
聽 聽 聽 nP-=2
聽 聽 ENDIF
聽 聽 oPrn:CmSay(nRow+=nSkp,nCol,Alltrim(cLin),oFont,nW,nClr,,3)
聽 ELSE
聽 聽 oPrn:CmSay(nRow+=nSkp,nCol,Alltrim(cLin),oFont,,nClr)
聽 ENDIF
聽 IF nP>=Len(cTxt)
聽 聽 lCont:=.F.
聽 ENDIF
ENDDO
RETURN (nRow)y la llamo as铆
聽 聽 聽 聽 line := 聽Imp_MemoW((ECOINTE)->V_TEXT ,;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 oPrn ,;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 line ,;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 If((ECOINMO)->IMP_IMDE==0 , 5.5 , 2+Espacio) ,;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 19 ,;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 oFont2 ,;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 0.5)(ECOINTE)->V_TEXT es la variable o campo MEMO.
Desde Ya muchas gracias...
Saludos
David
Argentina