Fraguibo escribió:
Hola Jesus, perdona si te molesto de nuevo, pero el caso es que no puedo sacar por la impresora más que una sola linea, de las varias que componen el campo "Memo".
Aqui te adjunto el codigo para que le heches un vistazo, haber que es lo que estoy haciendo mal:
Static Procedure PrintMemo(cText,nole,tale,tile,aRect)
Local nLongitudLinea:=112, nTamanoTabulador:=3
Local nLineas, nLineaActual,cLinea
aRect:=Printer:Millimeter2Printer(aRect)
Printer:Font:Name:=nole
Printer:Font:Size:=tale
Printer:Font:Bold:=tile
nLineas:= MLcount(cText, nLongitudLinea, nTamanoTabulador, .T.)
cLinea:= MEMOLINE(cText, nLongitudLinea, nLineaActual,;
nTamanoTabulador, .T.)
for nLineaActual:=1 TO nLineas
ExtTextOut(Printer:Handle,aRect[1],aRect[2],ETO_CLIPPED, ;
aRect,cLinea,Len(cLinea),0)
Next
Printer:Font:Bold:=.f.
Return
Un saludo y gracias por gastar tu tiempo conmigo.
Fraguibo
Hola.
Algo así, funciona...
nLineasMemo := MLCount( cMemo, 90 )
nOffSet := 0
FOR nX := 1 TO nLineasMemo
Printer:DrawText( LTrim( MemoLine( cMemo, MEMO_WIDTH, nX ) ),;
{ 17, nLinea + (( nX - nOffSet ) * 4 ), 193, nLinea + (( nX - nOffSet ) * 4 ) + 6 }, TA_LEFT )
NEXT nX