Macrospielereien unter [4.01] und kleiner

Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
Hellhound66
Beiträge: 476
Registriert: 23.03.2005 23:19

Macrospielereien unter [4.01] und kleiner

Beitrag von Hellhound66 »

Wenn ihr noch PB 4.00 oder 4.01 nutzt, könnt ihr Macros noch besser nutzen:

Zum Beispiel könnt ihr mit Hilfe eines Macros ein Macro erstellen.

Code: Alles auswählen

Macro DQuote
    "
EndMacro

Macro Define_Macro(__TEST)
    Macro __TEST#
        ;__TEST#
        Debug "Hallo "+DQuote#__TEST#DQuote
EndMacro


Define_Macro(GAME)
EndMacro

GAME

Oder ihr könnt with im Macro benutzen. Das ist vor allem für die OOPler unter euch recht nützlich:

Code: Alles auswählen

Macro StartThis(__TYPE)
    Define.c#__TYPE# *ThisVar = *This
    With *ThisVar
EndMacro

Macro StopThis()
    EndWith
EndMacro
So könnte man eine Methode dann so aussehen lassen, wenn IcNAME das Interface und cNAME die Struktur der Klasse sind:

Code: Alles auswählen

Procedure cNAME_Done(*this.IcNAME)
  StartThis(NAME)
  *this\CheckResources()  ; So kann man dann auf die Methoden zugreifen.
  \Name = "Gelöscht" ; So kann man auf die Attribute der Klasse zugreifen.
  StopThis()
EndPorcedure.
Da mein Projekt darauf aufbaute, werde ich wohl bei 4.01 bleiben. Mir gefallen die Möglichkeiten, die ich da habe besser.
Optimismus ist ein Mangel an Information.
Benutzeravatar
#NULL
Beiträge: 2238
Registriert: 20.04.2006 09:50

Beitrag von #NULL »

Code: Alles auswählen

Macro DQuote
    "
EndMacro 
..sowas hab ich immer gesucht :mrgreen:
fürs automatische debuggen mit bezeichner a la Debug Str("var")+Str(var)

Code: Alles auswählen

Macro M_quote
  "
EndMacro

Macro d(_exp)
  Debug M_quote _exp : M_quote + Str(_exp)
EndMacro

var=45
var2=100
d( var )
d( var+var2 )
d( DesktopMouseX() )
my pb stuff..
Bild..jedenfalls war das mal so.
Antworten