Ankündigung

Einklappen
Keine Ankündigung bisher.

Macro varible erweitern

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Macro varible erweitern

    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?

    #2
    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?

    Kommentar


      #3
      programm:
      Variable1 = 0
      Variable2 = 1
      Variable3 = 2

      :makro
      Makro(Variable,irgendwas)


      :makrodatei
      :begin Makro(Var,was)
      A=Var1
      B=Var2
      C=Var3
      :end


      ich möchte sozusagen den variablen Namen übergeben. damit mach ich das aufrufen kürzer als
      Makro(Variable1,Variable2,Variable3,irgendwas)

      Kommentar


        #4
        diese Woche haben hier viele Urlaub - melden und nächste Woche
        offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
        Enertex Produkte kaufen

        Kommentar


          #5
          Super danke.

          Kommentar


            #6
            Zitat von PharaDOS Beitrag anzeigen
            Super danke.
            Irgendwie versteh ich dann deine Makros nicht so recht.
            offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
            Enertex Produkte kaufen

            Kommentar


              #7
              Das super danke bezog sich auf das melden.

              Ich möchte also nicht den variablen inhalt übergeben sondern den variablen namen. So das ich den variablen namen modifizieren kann.

              Kommentar


                #8
                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
                Jetzt dann im Code nur
                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


                  #9
                  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


                    #10
                    Zitat von PharaDOS Beitrag anzeigen
                    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.
                    .
                    Ohne Kommasetzung und Groß-Kleinschreibung ist das sehr anstrengend zu lesen.
                    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

                    Lädt...
                    X