Clipper/FiveWin - Problema al imprimir campo memo

 
Vista:

Problema al imprimir campo memo

Publicado por Karin (8 intervenciones) el 14/03/2007 19:15:29
Estoy imprimiendo una campo memo en impresora de matriz, lo que hago es lo siguiente: extraigo 60 digitos del campo memo lo imprimo a partir de la columna 40 en la linea que corresponda, todo eso lo hace muy bien, el problema empieza cuando en el contenido del campo memo existe un salto de linea forzado(enter) cuando toma esa linea al momento de imprimirla ya no respeta la columna 40 si no que la imprime en la columna 1 del reporte posteriormente con las siguientes lineas la vuelve a escribir correctamente en la columna 40. Use la funcion MEMOTRAN() pero solo me sustituye los saltos de linea (enter) por otro digito espeficico e imprime de manera continua el renglon, no es lo que deseo. Quisiera que me respetara los saltos de linea forzados que estan en el campo memo para que no pierda estetica el texto en la impresión, respetando el inicio de columna determinado. Gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problema al imprimir campo memo

Publicado por Antoni Masana (168 intervenciones) el 15/03/2007 07:26:55
Estudiate esta rutina y te solucionara el problema.

Esta rutina es para leer un fichero de texto (en mi caso in fichero INI) que se puede cambiar por un campo MEMO porque la unica diferencia el lugar donde se guarda.
Extraer linea a linea y cada una la tratas como necesites


</> ------------------------------------------------------------------ </>
* </> ---&--- </> Lee el fichero </> ---&--- </>
* </> ------------------------------------------------------------------ </>

FUNCTION Leer(c_Fich)
LOCAL nLongitudLinea := 90 ,;
nTamanoTabulador := 3 ,;
lSaltoLinea := .T.

LOCAL nLineas, nLineaActual, cTexto, c_Linea, c_Tipo, a_Datos

cTexto := MemoRead(c_Fich)

nLineas := MLCOUNT(cTexto, nLongitudLinea, nTamanoTabulador, lSaltoLinea)

FOR nLineaActual := 1 TO nLineas
c_Linea:=RTRIM(MEMOLINE(cTexto, nLongitudLinea, nLineaActual,;
nTamanoTabulador, lSaltoLinea))
? PADL(c_Linea, 80)
NEXT
RETURN nil
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar