MEMOLINE( )
Extrae una línea de texto de la cadena de caracteres o campo memo
Sintaxis
MEMOLINE(,
[<nLongitudLínea>],
[<nNúmeroLínea>],
[<nTamañoTabulador>],
[<lSaltoLínea>]) –> cLínea
Argumentos
es el campo memo o cadena de caracteres del que se va a extraer una línea de texto.
<nLongitudLínea> especifica el número de caracteres de línea y puede estar comprendido entre 4 y 254. Si no se especifica, la longitud de línea por defecto es 79.
<nNúmeroLínea> es el número de línea que se va a extraer. Si no se especifica, el valor por defecto es uno.
<nTamañoTabulador> define el tamaño del tabulador. Si no se especifica, el valor por defecto es de cuatro espacios. Si <nTamañoTabulador> es mayor o igual que <nLongitudLínea>, el tamaño de tabulador se convierte automáticamente en <nLongitudLínea> – 1.
<lSaltoLínea> activa/desactiva el salto automático de línea. Si se especifica verdadero (.T.) se activa el salto de línea y si de especifica falso (.F.) se desactiva. El valor por defecto es verdadero
(.T.).
Devuelve
MEMOLINE() devuelve la línea de texto especificada por <nNúmeroLínea> en , como cadena de caracteres. Si la línea tiene menos caracteres que la longitud indicada, el valor de retorno se rellena con espacios en blanco. Si el número de línea es mayor que el número total de líneas de , MEMOLINE() devuelve una cadena nula (“”).
Si <lSaltoLínea> es verdadero (.T.) y la longitud de línea indicada interrumpe la línea en mitad de una palabra, dicha palabra no se incluye en el valor de retorno, sino que se muestra al principio de la siguiente línea extraída mediante MEMOLINE().
Si <lSaltoLínea> es falso (.F.), MEMOLINE() devuelve solamente el número de caracteres especificado por la longitud de línea. La siguiente línea extraída por MEMOLINE() comienza en el carácter que va a continuación del siguiente retorno de carro forzado, y los caracteres intermedios no se procesan.
Descripción
MEMOLINE() es una función que se utiliza con MLCOUNT() para extraer líneas de texto de cadenas de caracteres y campos memo, basándose en el número de caracteres por línea. Es la función más sencilla de DPXBASE para mostrar en pantalla campos memo y cadenas largas.
La forma de utilización más fácil consiste en determinar el número de líneas del campo memo o cadena de caracteres utilizando MLCOUNT() con el mismo número de caracteres por línea, tamaño de tabulador y selección de salto de línea que va a utilizar con MEMOLINE(). Este valor puede utilizarse como límite superior de FOR…NEXT para extraer las líneas del campo memo o cadena de caracteres mediante MEMOLINE() y procesarlas con cualquier combinación de funciones y mandatos de salida necesarios.
Ejemplos
¦ Este ejemplo muestra el método general para mostrar en pantalla campos memo y cadenas de caracteres largas utilizando una combinación de las funciones MLCOUNT() y MEMOLINE():
LOCAL nLongitudLinea := 40, nTamanoTabulador := 3,;
lSaltoLinea := .T.
LOCAL nLineas, nLineaActual
USE Cliente INDEX NombreCli NEW
//
nLineas := MLCOUNT(NotasCli, nLongitudLinea,;
nTamanoTabulador, lSaltoLinea)
//
SET PRINTER ON
FOR nLineaActual := 1 TO nLineas
? MEMOLINE(NotasCli, nLongitudLinea, nLineaActual;
nTamanoTabulador, lSaltoLinea)
NEXT
SET PRINTER OFF
Ficheros: La biblioteca asociada es EXTEND.LIB.