MACRO (Meta)

FreeBASIC-Referenz » Alphabetische Befehlsreferenz » M » MACRO (Meta)

Syntax:

#MACRO Bezeichner ( [Parameterliste [...]] )
' Makro-Code
#ENDMACRO

Typ: Metabefehl
Kategorie: Metabefehle

#MACRO erstellt ebenso wie #DEFINE ein Makro, ermöglicht aber die Erstellung mehrzeiliger Makros.

Taucht nach der Definition eines Makros sein Bezeichner im Code auf, so wird der Bezeichner durch den Makro-Code ersetzt. Ebenso ersetzt FreeBASIC die Parameter der Parameterliste durch die beim Aufruf angegebenen Parameter. Das Auslassen von Parametern ist bei Makros nicht möglich.

Mit #IFDEF, #IFNDEF und DEFINED kann überprüft werden, ob ein Makro definiert wurde. Mit #UNDEF kann ein Makro gelöscht werden, z. B. um den Bezeichner als Variable zu benutzen oder um ihn mit einem neuen Makro zu belegen.

Beispiel 1:

#MACRO Add(a, b)
  a + b
#endmacro

PRINT Add("Hello", " World")
PRINT Add(1, 2)

Ausgabe:

Hello World
 3

Beispiel 2:

#macro Print2(a, b)
  Print a;
  Print " ";
  Print b;
  Print "!"
#endmacro

Print2("Hello", "World")


Ausgabe:

Hello World!

Unterschiede zu QB: neu in FreeBASIC

Unterschiede zu früheren Versionen von FreeBASIC:

Siehe auch:
#ENDMACRO, DEFINE (Meta), UNDEF (Metabefehl), IFDEF (Meta), IFNDEF (Meta), DEFINED, Präprozessoren, Präprozessor-Anweisungen