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
 - 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
Irgendwie versteh ich dann deine Makros nicht so recht.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 (?))
Jetzt dann im Code nurCode::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
 - 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
Ohne Kommasetzung und Groß-Kleinschreibung ist das sehr anstrengend zu lesen.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