Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ermöglicht die bedingte Aufnahme von Quellcode beim Kompilieren.
#IF nExpression1 | lExpression1Commands
[#ELIF nExpression2 | #ELIF lExpression2Commands...
#ELIF nExpressionN | #ELIF lExpressionNCommands]
[#ELSE
Commands]
#ENDIF
Parameter
#IF nExpression1 | lExpression1Commands
nExpression1 legt den numerischen Ausdruck fest, der ausgewertet werden soll.- Wenn der Ausdruck ungleich 0 ist, werden die Befehle direkt nach #IF in den kompilierten Code aufgenommen. Die #IF ... #ENDIF-Struktur wird verlassen, und die erste Programmzeile nach ENDIF wird kompiliert.
- Wenn der Ausdruck gleich 0 ist, werden die Befehle direkt nach #IF nicht in den kompilierten Code aufgenommen. Alle folgenden #ELIF-Direktiven werden ausgewertet.
lExpression1 Gibt den logischen Ausdruck an, der ausgewertet wird.
Wenn der Ausdruck Wahr (.T.) ist, werden die Befehle direkt nach #IF in den kompilierten Code aufgenommen. Die #IF ... #ENDIF-Struktur wird verlassen, und die erste Programmzeile nach ENDIF wird kompiliert.
Wenn der Ausdruck Falsch (.F.) ist, werden die Befehle direkt nach #IF nicht in den kompilierten Code aufgenommen. Alle folgenden #ELIF-Direktiven werden ausgewertet.
Anmerkung Geben Sie für nExpression1 oder lExpression1 keine Systemvariablen an. Systemvariablen werden erst beim Ausführen des Codes ausgewertet.
#ELIF nExpression2 | #ELIF lExpression2Commands
...#ELIF nExpressionN | #ELIF lExpressionNCommands
Wenn nExpression1 0 oder lExpression1 Falsch (.F.) ist, werden die #ELIF-Direktiven ausgewertet. Der erste #ELIF-Ausdruck nExpression2 oder gegebenenfalls lExpression2 wird ausgewertet. Wenn nExpression2 ungleich 0 oder lExpression2 Wahr (.T.) ist, werden die Befehle nach #ELIF in den kompilierten Code aufgenommen. Die #IF ... #ENDIF-Struktur wird verlassen, und die erste Programmzeile nach ENDIF wird kompiliert.Wenn nExpression2 gleich 0 oder lExpression2 Falsch (.F.) ist, werden die Befehle nach #ELIF nicht in den kompilierten Code aufgenommen. Die nächste #ELIF-Direktive wird ausgewertet.
#ELSE Commands
Wenn keine #ELIF-Direktiven aufgenommen werden oder wenn die Auswertung der aufgenommenen Direktiven 0 oder Falsch (.F.) ergibt, hängt es vom Vorhandensein von #ELSE ab, ob weitere Befehle in den kompilierten Code aufgenommen werden.- Wenn #ELSE vorhanden ist, werden die Befehle nach #ELSE in den kompilierten Code aufgenommen.
- Wenn #ELSE nicht vorhanden ist, wird keiner der Befehle zwischen #IF und #ENDIF in den kompilierten Code aufgenommen. Die #IF ... #ENDIF-Struktur wird verlassen, und das Kompilieren wird mit der ersten Programmzeile nach #ENDIF fortgesetzt.
#ENDIF
Kennzeichnet das Ende der #IF-Anweisung.
Hinweise
#IF ... #ENDIF-Strukturen können zur besseren Lesbarkeit des Quellcodes beitragen, die Größe des kompilierten Programms verringern und in manchen Fällen das Leistungsverhalten verbessern.
Beim Kompilieren der #IF ... #ENDIF-Struktur werden in der Struktur aufeinander folgende logische oder numerische Ausdrücke ausgewertet. Das Auswertungsergebnis bestimmt, welche Gruppe von Visual FoxPro-Befehlen gegebenenfalls in den kompilierten Code aufgenommen wird.
Beispiel
Im folgenden Beispiel bestimmt die #IF ... #ENDIF-Struktur, mit welcher Version von Visual FoxPro das Programm kompiliert wird und zeigt dann die entsprechende Meldung an.
#IF 'WINDOWS' $ UPPER(VERSION( ))
? 'This was compiled under Visual FoxPro for Windows'
#ELIF 'MAC' $ UPPER(VERSION( ))
? 'This was compiled under Visual FoxPro for Macintosh'
#ELIF 'UNIX' $ UPPER(VERSION( ))
? 'This was compiled under FoxPro for UNIX'
#ELSE
? 'This was compiled under FoxPro for MS-DOS'
#ENDIF
Siehe auch
COMPILE-Befehl | #DEFINE ... #UNDEF-Präprozessordirektive | #IFDEF | #IFNDEF ... #ENDIF-Präprozessordirektive