Compartir a través de


ALINES( ) (Función)

Copia cada línea de una expresión de cadena de caracteres o un campo memo en una fila correspondiente de una matriz.

ALINES(ArrayName, cExpression [, lTrim] [cParseChar, ,… ,cParseChar])

Valores devueltos

Numeric

Parámetros

  • ArrayName
    Especifica el nombre de la matriz en que se copian las líneas de la expresión de caracteres o campo memo. Si la matriz que especifica no existe, Visual FoxPro la creará automáticamente. Si la matriz existe y no es suficientemente grande para contener todas las líneas del campo memo, Visual FoxPro aumenta automáticamente el tamaño de la matriz. Si la matriz es mayor de lo necesario, Visual FoxPro reducirá su tamaño.
  • cExpression
    Especifica la expresión de caracteres o campo memo que contiene las líneas copiadas en la matriz. Si cExpression es la cadena vacía o el valor nulo, se crea una matriz con una sola línea y dicha línea contiene la cadena vacía. Puede utilizar expresiones de doble byte.
  • lTrim
    Especifica que se eliminan los espacios en blanco anteriores y posteriores de las líneas copiadas en la matriz. Si lTrim es verdadero (.T.), se eliminan los espacios en blanco anteriores y posteriores de las líneas. Si lTrim es falso (.F.) o se omite, no se eliminan los espacios en blanco anteriores y posteriores.
  • cParseChar
    Especifica uno o más caracteres que delimitan los elementos de cExpression que devuelve la función ALINES( ). El número máximo de cParseChars es 23.

Observaciones

ALINES( ) devuelve el número de filas de la matriz (o, lo que es lo mismo, el número de líneas en la expresión de caracteres o campo memo). La primera línea de la expresión de caracteres o campo memo se copia en la primera fila de la matriz, la segunda línea en la segunda fila y así sucesivamente.

Todas las expresiones de caracteres distinguen entre mayúsculas y minúsculas.

Un carácter de avance de línea (CHR(10)) o retorno de carro (CHR(13)) indica el final de una línea. También puede indicarse mediante una combinación cualquiera de estos dos caracteres (CHR(10) + CHR(13) o CHR(13) + CHR(10)). El comportamiento predeterminado para ALINES( ) consiste en pasar por alto CHR(13) y CHR(10) cuando se especifica uno o más valores para cParseChar, a menos que se especifiquen también los caracteres de final de línea.

ALINES( ) proporciona una manera fácil de analizar líneas de una expresión de caracteres o campo memo. Aunque MLINES( ) también puede utilizarse para analizar una expresión de caracteres o campo memo, ALINES( ) es más rápido y requiere menos programación. Además, el valor de SET MEMOWIDTH no afecta a ALINES( ).

Debe tener memoria suficiente para copiar las líneas de un campo memo grande a una matriz. Visual FoxPro genera un mensaje de error si no hay memoria suficiente.

Si desea ejecutar un análisis que no distinga entre mayúsculas o minúsculas, puede seguir uno de los siguientes ejemplos.

? ALINES(aMyArray,UPPER(employee.notes), "R.") 
? ALINES(aMyArray,employee.notes, "R.", "r.")

Ejemplo

El programa siguiente abre la tabla Employee de la base de datos TestData. Se utiliza ALINES( ) para copiar las líneas del campo memo Notas a una matriz llamada aMyArray y, a continuación, se muestra su contenido.

En este ejemplo, ALINES( ) devuelve 1 porque la descripción del empleado se escribió en el campo memo sin presionar ENTRAR después de cada frase.

CLOSE DATABASES
CLEAR
SET TALK OFF
OPEN DATABASE (HOME(2) + 'data\testdata')
USE employee  && Open Employee table

? ALINES(aMyarray,employee.notes,CHR(13))  && Displays 1
? ALINES(aMyarray,employee.notes,".")  && Displays 7
? ALINES(aMyarray,employee.notes,",")  && Displays 4
? ALINES(aMyarray,employee.notes," ")  && Displays 75
? ALINES(aMyarray,employee.notes,".", ",")  && Displays 10
? ALINES(aMyArray, employee.notes)  && Displays 1
? aMyArray(1)

Vea también

MEMLINES( ) | _MLINE (Variable del sistema) | SCATTER (Comando) | MLINE( ) (Función) | SET MEMOWIDTH (Comando) | ATCLINE( ) (Función) | ATLINE( ) (Función) | COPY MEMO (Comando) | MODIFY MEMO (Comando)