Seite 1 von 1
[!] Wozu braucht man Macro?
Verfasst: 08.02.2006 02:05
von Jake
Wenn ich das richtig sehe, kann man doch jedes Macro mit einer Prozedur ersetzten oder?
Also was ist an dem neuen Macro Befehl besser oder anders?
Verfasst: 08.02.2006 02:35
von ts-soft
Ein Macro ersetzt die entsprechenden Codezeilen, so das in der Exe keine zusätzlichen Proceduren entstehen, und keine Geschwindigkeitsverluste
Verfasst: 08.02.2006 02:36
von Konne
Ist peek usw jetzt so n macro?
Verfasst: 08.02.2006 02:37
von ts-soft
peek ist ein Funktion
Verfasst: 08.02.2006 02:59
von Jake
Schneller ist immer gut.
Jetzt habe ich versucht das Beispiel aus der ReadMe.html zu verstehen.
Code: Alles auswählen
Macro Assert(Expression)
If (Expression)
Debug "#True : " + "Expression"
Else
Debug "#False : " + "Expression"
EndIf
EndMacro
Der Aufruf fehlt in der Readme.
Also was auch immer ich dort eingebe, bekomme ich die Fehlermeldung Syntax Error.
Also was muß da rein?
Verfasst: 08.02.2006 03:07
von ts-soft
Bei mir fehlt da nichts
Code: Alles auswählen
Macro Assert(Expression)
If (Expression)
Debug "#True : " + "Expression"
Else
Debug "#False : " + "Expression"
EndIf
EndMacro
x = 5
Assert(x = 5)
Assert(x < 2)
Assert(x = 10)
Assert(x > 2)
Verfasst: 08.02.2006 03:41
von Jake
Oh, da hab ich wohl die Hälfte übersehen.
Verfasst: 08.02.2006 18:17
von remi_meier
Obwohl erst diese Erweiterung die Nützlichkeit von Makros zeigt:
Code: Alles auswählen
Macro DQ
"
EndMacro
Macro ToString(e)
DQ e DQ
EndMacro
Macro Assert(Expression)
If (Expression)
Debug "#True : " + ToString(Expression) + " in line " + Str(#PB_Compiler_Line)
Else
Debug "#False : " + ToString(Expression) + " in line " + Str(#PB_Compiler_Line)
EndIf
EndMacro
x = 5
Assert(x = 5)
Assert(x < 2)
Assert(x = 10)
Assert(x > 2)
greetz
Remi
Verfasst: 08.02.2006 23:40
von ts-soft
@remi_meier
schönes Beispiel
