MACRO (Meta)

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

Syntax:

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

Typ: Metabefehl
Kategorie: Präprozessor

#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