Hallo wie kann ich in einem macro die übergebene variable also variablen namen modifizieren? Macro(hallo) :begin Macro(Variable) Write (Hallo1) Write (Hallo2) Usw... Kann ich z.b Write (variable1) Write (variable2) Schreiben?
Ankündigung
Einklappen
Keine Ankündigung bisher.
Macro varible erweitern
Einklappen
X
-
Beschreib' es doch mal ein wenig "algorithmischer"!
Vielleicht hilft Dir ja schon der Gedanke, dass alle Makroparameter also "macro(parameter1, parameter2)" einfache Textersetzungen sind.
Du "rufst" das Makro z.B. so auf: macro(variable1, GA1) und irgendwo wird im Makro die Zeile
parameter1 = parameter2;
definiert, dann wird durch die Ersetzung aus dieser Zeile ein
variable1 = GA1;
Das Makro ist kein Unterprogramm, sondern wird vom Parser mit den Textersetzungen hart codiert, also wenn Du das Makro 20 mal aufrufst, wird zwanzig mal der Code mit den entsprechenden Textersetzungen der Parameternamen bereitgehalten...
Aber vielleicht war das jetzt an Deinem Problem vorbei?
-
diese Woche haben hier viele Urlaub - melden und nächste Wocheoffizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
Enertex Produkte kaufen
Kommentar
-
Zitat von PharaDOS Beitrag anzeigenSuper danke.offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
Enertex Produkte kaufen
Kommentar
-
Du kannst immer den Namen der Variablen übergeben
Code:Init = 10 // Initialisiert die Variable Var1 auf 10: InitMakro(1,Init)
Code::begin InitMakro(Nr,Init) Var^Nr=Init :end
Das kann man auch für sich rekursiv gestalten (was vielleicht die ursprüngliche Frage war (?))
Code::begin InitMakro(Nr,Init) Var^Nr=Init :end :begin InitMakros(Init) InitMakro(1,Init) InitMakro(2,Init) InitMakro(3,Init) :end
Code:// Initialisiert die Variable Var1 bis Var3 auf 10: InitMakros(10)
offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
Enertex Produkte kaufen
Kommentar
-
hmm ein teil war genau was ich wollte das mit dem ^ aber ich wollte halt niht den variablen inhalt über geben sondern den variablen namen.
Ausserdem was mir aufgefallen ist, bei der aktuellen windows Version kann man kein doppelklick auf die Variable machen um sie zu markieren. bei der OSX version hört die Markierung dann bei , oder () auf. bei windows nur bei einem Leerzeichen.
Kommentar
-
Zitat von PharaDOS Beitrag anzeigenhmm ein teil war genau was ich wollte das mit dem ^ aber ich wollte halt niht den variablen inhalt über geben sondern den variablen namen.
.
Mit der Nummer beziehe ich mich auf den Namen, wie Du ihn oben angegeben hast. Im Prinzip ist jeder andere Namenszusatz oder auch die Ganze Variable möglich.
offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
Enertex Produkte kaufen
Kommentar
Kommentar