Freigeben über


TEXT ... ENDTEXT-Befehl

Gibt Textzeilen, Ergebnisse von Ausdrücken und Funktionen sowie den Inhalt von Variablen aus.

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

Parameter

  • TextLines
    Gibt den Text an, der an das aktuelle Ausgabegerät geschickt wird. TextLines kann aus Text, Speichervariablen, Arrayelementen, Ausdrücken, Funktionen oder einer beliebigen Kombination dieser Elemente bestehen.

    Mit TextLines angegebene Ausdrücke, Funktionen, Variablen und Arrayelemente werden nur dann ausgewertet, wenn SET TEXTMERGE auf ON gesetzt ist, und müssen in die von SET TEXTMERGE DELIMITERS angegebenen Trennzeichen eingeschlossen werden. Ist SET TEXTMERGE auf OFF gesetzt, werden die Ausdrücke, Funktionen, Speichervariablen und Arrayelemente zusammen mit ihren Trennzeichen als Literale ausgegeben.

    Beispielsweise wird das aktuelle Datum ausgegeben, wenn SET TEXTMERGE auf ON gesetzt ist und eine Textzeile <<DATE( )>> enthält. Ist SET TEXTMERGE auf OFF gesetzt, wird <<DATE( )>> buchstabengetreu ausgegeben.

    Wenn Sie Kommentare zwischen TEXT und ENDTEXT oder nach \ oder \\ platzieren, werden die Kommentare ebenfalls ausgegeben.

  • TO VarName
    Dieser Speichervariablenname wird verwendet, um den Inhalt der TEXT…ENDTEXT-Anweisung zu übergeben. Diese Variable ist möglicherweise bereits vorhanden. Wenn die Variable noch nicht deklariert wurde, wird sie automatisch als Variable vom Typ Private deklariert. Die neue Einstellung für TO ist unabhängig von SET TEXTMERGE funktionsfähig. Wenn SET TEXTMERGE auf eine Datei eingestellt ist und die TO-Anweisung mit eingeschlossen ist, dann gibt es eine Ausgabe sowohl für die Datei als auch für die Variable.

  • ADDITIVE
    Mit diesem Schlüsselwort wird festgelegt, ob der Inhalt der TO-Variablen überschrieben oder vorhandenen Inhalten hinzugefügt wird. Anmerkung: Wenn es sich bei dem Inhalt der TO-Variablen nicht um eine Zeichenfolge handelt, dann wird er immer von Visual FoxPro überschrieben.

  • TEXTMERGE
    Das Schlüsselwort TEXTMERGE ermöglicht die Auswertung von Inhalt, der zwischen Trennzeichen steht, ohne dass SET TEXTMERGE ON ausgeführt zu werden braucht.

  • NOSHOW
    Das Schlüsselwort NOSHOW deaktiviert die Bildschirmanzeige für TEXTMERGE.

Hinweise

Dieser strukturierte Programmierbefehl sendet Textzeilen, die zwischen TEXT und ENDTEXT platziert wurden, an das Visual FoxPro-Hauptfenster, ein benutzerdefiniertes Fenster, einen Drucker, eine Textdatei oder eine Low-Level-Datei.

TEXT sendet die Textzeilen zum aktuellen Ausgabegerät. Dieser Vorgang wird fortgesetzt, bis die Anweisung ENDTEXT gefunden wird oder das Programm beendet ist.

Standardmäßig wird die mit TEXT ... ENDTEXT erzeugte Ausgabe an das Visual FoxPro-Hauptfenster oder an das aktive Fenster geschickt. SET CONSOLE OFF sorgt dafür, dass die Ausgabe in das Visual FoxPro-Hauptfenster oder das aktive Fenster unterdrückt wird. Verwenden Sie SET PRINTER, wenn die Ausgabe auf einem Drucker oder als Textdatei erfolgen soll.

Die Ausgabe von TEXT ... ENDTEXT kann auch in eine Low-Level-Datei geschickt werden, die mit FCREATE( ) oder FOPEN( ) erzeugt oder geöffnet wurde. Wird ein von FCREATE( ) oder FOPEN( ) zurückgegebenes Dateihandle in der _TEXT-Systemvariable gespeichert, so wird die Ausgabe in die entsprechende Low-Level-Datei geleitet.

Beispiel

Das folgende Beispiel zeigt, wie Sie SET TEXTMERGE, SET TEXTMERGE DELIMITERS, TEXT ... ENDTEXT und die _TEXT-Systemvariable verwenden können

Eine Low-Level-Datei mit dem Namen Names.txt wird erzeugt, und ihr Dateiname wird in der _TEXT-Systemvariable gespeichert. Das Programm wird beendet, wenn Names.txt nicht erzeugt werden kann. Die Tabelle customer wird geöffnet, und die Namen der ersten 10 Kontakte werden an Names.txt ausgegeben. Text und Ergebnisse von Funktionen werden in eine Textdatei ausgegeben.

Die Textdatei mit den Namen wird dann mit MODIFY FILE geöffnet.

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

Siehe auch

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