Ankündigung

Einklappen

Serverwartung 21.2.



Am 21.2. im Laufe des späten Abends wird eine Serverwartung durchgeführt. Das Forum ist dadurch für gut zwei Stunden nicht erreichbar.
Es wird eine Wartungsseite geschaltet.

Mehr anzeigen
Weniger anzeigen

Makro - Unixtimestamp übergeben

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

    Makro - Unixtimestamp übergeben

    gibt es eigentlich Restriktionen, einen u64 Timestamp mit UNIXzeit in einen Makro zu übergeben?
    Ich versuche, den als u64 mitzugeben und bekomme dann immer einen Fehler.
    Makroaufruf:
    Code:
    :begin UTC2AKTUALDAY(UNIXTIMESTAMP)
    :info $aktuelles Datum zu DATUM-TAG im Rückgabeformat u08$\\
    $UTC-TIME (v,u64)$\\
    :var AKTUALDAY@
    AKTUALDAY@ = UNIXTIMESTAMP
    :return AKTUALDAY@
    :end​
    ​Der Aufruf:
    UTC2AKTUALDAY(utctime())
    der Fehler:
    >UTC2AKTUALDAY(utctime())< in der Datei "C:\Users\Hoegg\Desktop\EibStudioWorkspace\Hoe gg_H offeldstr_3_2_tmp\tmpApp.txt"
    Makro genieriert ungültigen Code > AKTUALDAY@ = utctime()< in >Mak:utc2aktualday==><​

    Any Ideas?
    never fummel a running system...

    #2
    Du musst eine Variable anlegen und diese übergeben. Gilt auch für alle anderen Funktionen.

    Kommentar


      #3
      Da stellt sich mir direkt die Frage warum das so ist.
      Können lokale Variablen in Makros nicht direkt mit den Rückgabewerten von Funktionen befüllt werden?

      Kommentar


        #4
        Zitat von cds Beitrag anzeigen
        warum
        Weil der eibparser nur Variablennamen als Argumente in Makroaufrufen erlaubt, die () des Funktionsaufrufs aber keine gültige Zeichen in einem Variablennamen sind.

        Kommentar


          #5
          foobar0815 OT: aber bitte prüfen ob es nicht möglich ist wenigstens das „%“ zuzulassen, da es sich dabei ja nur um eine Datenformat-Angabe handelt, wie „u08“ auch…

          Kommentar


            #6
            Zitat von foobar0815 Beitrag anzeigen
            Weil der eibparser nur Variablennamen als Argumente in Makroaufrufen erlaubt, die () des Funktionsaufrufs aber keine gültige Zeichen in einem Variablennamen sind.
            Anmerkung: eigentlich handelt es sich hier ja um eine Textersetzung, es werden also nicht Variablennamen übergeben, sondern Textliterale, nur der EibPc-Parser prüft auf gültige Zeichen im Text, und verhindert Texte mit Sonderzeichen „%()…“

            Man könnte doch tatsächlich diese Sonderzeichen zulassen?

            Kommentar

            Lädt...
            X