SET TEXTMERGE-Befehl
Aktiviert bzw. deaktiviert die Auswertung von Feldern, Variablen, Arrayelementen, Funktionen oder Ausdrücken, die in TEXTMERGE-Trennzeichen stehen, und ermöglicht Ihnen die Angabe der TEXTMERGE-Ausgabe.
SET TEXTMERGE [ON | OFF] [TO [FileName] MEMVAR VarName [ADDITIVE]]
[WINDOW WindowName] [SHOW | NOSHOW]
Parameter
ON
Gibt an, dass alle Felder, Variablen, Arrayelemente, Funktionen oder Ausdrücke, die in TEXTMERGE-Trennzeichen stehen, ausgewertet und ausgegeben werden, wenn sie hinter \ oder \\ oder zwischen TEXT und ENDTEXT gestellt werden.Das folgende kurze Programmbeispiel zeigt, wie der Inhalt der Variablen
gcTodayDate
und die Funktionen DATE( ) und TIME( ) ausgewertet werden, wenn SET TEXTMERGE auf ON gesetzt ist. Sowohl die VariablegcTodayDate
als auch die Funktionen DATE( ) und TIME( ) werden ausgewertet, da sie in TEXTMERGE-Trennzeichen stehen und SET TEXTMERGE auf ON gesetzt ist.CLEAR SET TALK OFF STORE 'Today is: ' TO gcTodayDate SET TEXTMERGE ON \<<gcTodayDate>> \\<<DATE( )>> \The time is: \\ <<TIME( )>>
Dies ist die Ausgabe des obigen Programms, ausgeführt am 1. Januar:
Today is: 01/01/98 The time is: 10:55:19
OFF
(Standardeinstellung) Gibt an, dass alle Felder, Variablen, Arrayelemente, Funktionen oder Ausdrücke, die in TEXTMERGE-Trennzeichen stehen, zusammen mit diesen buchstabengetreu ausgegeben werden. Beachten Sie den Unterschied in der Ausgabe, wenn SET TEXTMERGE im obigen Beispiel auf OFF gesetzt wird:CLEAR SET TALK OFF STORE 'Today is: ' TO gcTodayDate SET TEXTMERGE OFF \<<gcTodayDate>> \\<<DATE( )>> \The time is: \\ <<TIME( )>>
Dies ist die Ausgabe des Programms:
<<gcTodayDate>><<DATE( )>> The time is: <<TIME( )>>
TO [FileName]
Gibt an, dass die Ausgabe von \, \\ und TEXT ... ENDTEXT zusätzlich zum Visual FoxPro-Hauptfenster (der Standardeinstellung) in eine Textdatei umgeleitet wird. Sie können die Ausgabe auch durch Angabe des Arguments FileName in eine bestimmte Textdatei leiten. Ist keine Datei mit dem angegebenen Namen vorhanden, wird eine neue Datei erstellt. Wenn bereits eine Datei mit diesem Namen vorhanden und SET SAFETY auf ON gesetzt ist, werden Sie gefragt, ob die Datei überschrieben werden soll.Die Textdatei wird als Low-Level-Datei geöffnet, und ihr Dateihandle wird in der Systemvariablen _TEXT gespeichert. Durch Eingeben von SET TEXTMERGE TO ohne Angabe weiterer Argumente kann die Datei geschlossen werden. Wenn das Dateihandle einer anderen Datei zuvor in _TEXT gespeichert war, wird diese Datei geschlossen.
MEMVAR VarName
Gibt eine Variable an, die Daten aus der Ausgabe von TEXTMERGE enthalten soll.SET TEXTMERGE ist eine globale Einstellung, die sich über mehrere Prozeduren oder Methoden erstrecken kann. Deshalb ist es möglich, dass MEMVAR VarName den Gültigkeitsbereich verlässt. Der Befehl ist auch dann funktionsfähig, wenn die Variable den Gültigkeitsbereich verlassen hat, jedoch wird dann kein Inhalt zurückgegeben. Durch Deklarieren der Variablen als PUBLIC oder PRIVATE können Sie den Gültigkeitsbereich von MEMVAR VarName steuern.
Diese Klausel kann auch rekursives Verhalten erstellen, das Sie mit dem SET TEXTMERGE TO-Befehl steuern können, wie im folgenden Beispiel gezeigt:
USE LABELS STORE "" to myVar, myVar2 SET TEXT ON NOSHOW SET TEXTMERGE TO MEMVAR myVar && TEXTMERGE begins on the next line \Hey Now \<<date()>> SCAN \ <<name>> ENDSCAN * Uncomment the following line to eliminate the recursive error with myVar and myVar2 * SET TEXTMERGE TO TEXT TO myVar2 <b> how about some html. </b> wow this is cool <<date()>> ENDTEXT SET TEXTMERGE OFF USE CLEAR ? myVar && But has also stored the TEXTMERGE contents to variables ? myVar2
ADDITIVE
Gibt an, dass die Ausgabe von \, \\ und TEXT ... ENDTEXT an eine bestehende Datei oder Speichervariable angefügt werden soll.Weitere Informationen zum Leiten der TEXTMERGE-Ausgabe in eine Datei finden Sie unter _TEXT.
WINDOW WindowName
Gibt an, dass die Ausgabe von \, \\ und TEXT ... ENDTEXT statt an das Visual FoxPro-Hauptfenster (der Standardeinstellung) an ein benutzerdefiniertes Fenster geleitet werden soll. WindowName gibt dabei den Namen des Fensters an, an das die Ausgabe geleitet werden soll. Bevor Sie die Ausgabe an das Fenster leiten können, müssen Sie es mit DEFINE WINDOW erstellen. Das Fenster braucht jedoch nicht aktiv oder sichtbar zu sein.SHOW | NOSHOW
(Standardeinstellung) SHOW zeigt die TEXTMERGE-Ausgabe an.NOSHOW unterdrückt die Anzeige der TEXTMERGE-Ausgabe.
Standardmäßig wird die mit \, \\ und TEXT ... ENDTEXT generierte Ausgabe an das Visual FoxPro-Hauptfenster oder an ein aktives benutzerdefiniertes Fenster gesendet.
Hinweise
Die Befehle \, \\ und TEXT ... ENDTEXT werden dazu verwendet, Text mit dem Inhalt von Tabellen, Variablen, Arrayelementen und den Ergebnissen von Funktionen und Ausdrücken zusammenzuführen. Wenn ein Feld, eine Variable, ein Arrayelement, eine Funktion oder ein Ausdruck von TEXTMERGE-Trennzeichen (standardmäßig << und >>) umgeben ist, können diese Elemente ausgewertet und mit Text zusammengeführt werden. Mit dieser TEXTMERGE-Fähigkeit können Sie Briefe und Programme sowie Vorlagen erzeugen, die Programme erstellen.
SET TEXTMERGE legt fest, wie Felder, Variablen, Arrayelemente, Funktionen oder Ausdrücke, die in TEXTMERGE-Trennzeichen stehen, ausgewertet werden. Darüber hinaus können Sie mit diesem Befehl die TEXTMERGE-Ausgabe an das Visual FoxPro-Hauptfenster, ein benutzerdefiniertes Fenster oder in eine Datei leiten.
Mit Hilfe von Memofeldern können Sie den zusammenzuführenden Text schachteln. Wenn ein Memofeld Feldnamen, Variablen, Arrayelemente, Funktionen oder Ausdrücke enthält, die in aktuellen TEXTMERGE-Trennzeichen stehen, werden diese ausgewertet und mit dem Inhalt des Memofeldes ausgegeben. Dabei muss auch der Memofeldname in TEXTMERGE-Trennzeichen eingeschlossen werden.
Siehe auch
\ | \\ | _PRETEXT | SET TEXTMERGE DELIMITERS | TEXTMERGE( )-Funktion | _TEXT | TEXT ... ENDTEXT