TEXT ... ENDTEXT (Comando)

Proporciona líneas de texto, el resultado de expresiones y funciones, y el contenido de variables.

TEXT [TO VarName [ADDITIVE] [TEXTMERGE] [NOSHOW]]
   TextLines
ENDTEXT

Parámetros

  • TextLines
    Especifica el texto enviado al dispositivo de salida activo. TextLines puede contener texto, variables de memoria, elementos de matriz, expresiones, funciones o cualquier combinación de todo esto.

    Las expresiones, funciones, variables de memoria y elementos de matriz especificados con TextLines se evaluarán solamente si SET TEXTMERGE está establecido en ON y deberán encerrarse entre los delimitadores especificados por SET TEXTMERGE DELIMITERS. Si TEXTMERGE está establecido en OFF, las expresiones, funciones, variables de memoria y elementos de matriz se mostrarán como literales junto con sus delimitadores.

    Por ejemplo, si SET TEXTMERGE está establecido en ON y una línea de texto contiene <<DATE( )>>, aparecerá la fecha de hoy. Si SET TEXTMERGE está establecido en OFF, aparecerá literalmente <<DATE( )>>.

    Si sitúa comentarios entre TEXT y ENDTEXT o después de \ o \\, aparecerán también los comentarios.

  • TO VarName
    Es el nombre de la variable de memoria que se utiliza para pasar el contenido de la instrucción de control TEXT…ENDTEXT. Es posible que esta variable ya exista. Si aún no se ha declarado la variable, se creará automáticamente como una variable de alcance Private. La nueva configuración TO funcionará independientemente de SET TEXTMERGE. Si se establece SET TEXTMERGE en un archivo y se incluye la instrucción TO, tanto el archivo como la variable recibirán los resultados.

  • ADDITIVE
    Esta palabra clave determina si se sobrescribe el contenido de la variable TO o se agrega al contenido existente. Nota: si el contenido de la variable TO no es una cadena, Visual FoxPro siempre lo sobrescribirá.

  • TEXTMERGE
    La palabra clave TEXTMERGE permite la evaluación del contenido existente entre los delimitadores, sin tener que ejecutar SET TEXTMERGE ON.

  • NOSHOW
    La palabra clave NOSHOW deshabilita la presentación en pantalla de la combinación de texto.

Observaciones

Este comando de programación estructurada envía las líneas de texto ubicadas entre TEXT y ENDTEXT a la ventana principal de Visual FoxPro, una ventana definida por el usuario, una impresora, un archivo de texto o un archivo de nivel inferior.

TEXT envía las líneas de texto al dispositivo de salida actual. Este proceso continuará hasta que se encuentre la instrucción ENDTEXT o finalice el programa.

De forma predeterminada, el resultado de TEXT ... ENDTEXT se envía a la ventana principal de Visual FoxPro o la ventana activa. Ejecute SET CONSOLE OFF para no enviar el resultado a la ventana principal de Visual FoxPro o a la ventana activa. Utilice SET PRINTER para enviar el resultado a una impresora o a un archivo de texto.

El resultado de TEXT ... ENDTEXT puede enviarse también a un archivo de nivel inferior creado o abierto con FCREATE( ) o FOPEN( ). Si se almacena en la variable del sistema _TEXT un controlador de archivo devuelto por FCREATE( ) o FOPEN( ), el resultado se dirigirá al archivo de nivel inferior correspondiente.

Ejemplo

El ejemplo siguiente muestra cómo puede utilizar SET TEXTMERGE, SET TEXTMERGE DELIMITERS, TEXT ... ENDTEXT y la variable del sistema _TEXT.

Se crea un archivo de nivel inferior llamado Names.txt y se almacena su controlador de archivo en la variable del sistema _TEXT. Si no puede crearse Names.txt, se sale del programa. Se abre la tabla customer y se dirigen a Names.txt los nombres de los primeros 10 contactos. El texto y el resultado de las funciones se dirigen al archivo de texto.

Posteriormente se abre con MODIFY FILE el archivo de texto que contiene los nombres.

CLEAR
CLOSE DATABASES
SET TALK OFF
SET TEXTMERGE ON     && Enable embedding of expressions and functions
STORE FCREATE('names.txt') TO _TEXT     && Create low-level file
IF _TEXT = -1  && Can't create low-level file then exit program
   WAIT WINDOW 'Cannot create an output file; press a key to exit'
   CANCEL
ENDIF

CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer  && Opens Customer table

TEXT
         CONTACT NAMES
   <<DATE( )>>    <<TIME( )>>
ENDTEXT
WAIT WINDOW 'Press a key to generate the first ten names'
SCAN NEXT 10
   TEXT
      <<contact>>
   ENDTEXT
ENDSCAN
CLOSE ALL  && Close the text file and the table
MODIFY FILE names.txt
ERASE names.txt

Vea también

FOPEN( ) | _PRETEXT | SET TEXTMERGE | SET TEXTMERGE DELIMITERS | _TEXT