OWBasic

Gruppe COMPILER Start INTRO Alphabetischer Index

Bedingte Kompilierung

#IF <constant Boolean expression>
<code>
#ENDIF

Durch die Verwendung von Direktiven kann eine bedingte Kompilierung erzwungen werden; so kann z.B. abhängig vom PV-Modell verschiedener Code kompiliert werden.
Der Code zwischen #IF und #ENDIF wird nur kompiliert, wenn die Bedingung TRUE ergibt.

Mit Konstanten und Direktiven kann man z.B. eine Art Debug-Schalter implementieren, d.h., am Anfang eines Programms etwa die Konstante DEBUG deklarieren und mittels Direktiven-Abfrage, solange die Konstante definiert ist, Debug-Ausgaben machen.
Beispiel:

! directives
#if #pvmodel=1
pv$="PV-x50X"
#endif
#if #pvmodel=2
pv$="PV-S750(+)"
#endif
#if #pvmodel=3
pv$="PV-Sx50"
#endif
#if #pvmodel=4
pv$="PV-Sx60"
#endif
#if #pvmodel=5
pv$="PV-S1600"
#endif

CONST MAX=12
#if not vardef(MAX)
CONST MAX=13
#endif

#if not procfuncdef!(myproc)
proc myproc a,b
print a,b,a*b
endp
#endif

#if 5*7=35
print "ich kann kopfrechnen"
#endif

Gruppe COMPILER Start INTRO Alphabetischer Index