DDF-Parser White-Space

We proudly present: The release of DMXControl 3.3.3!


On September 29, 2026, we held our release show for DMXControl 3.3.3. During our usual “hour-long” session, we showed you all the new features in this version and what it now has to offer.
Read all about it in the corresponding news article: We proudly present: The release of DMXControl 3.3.3!


  • Als Neuling stelle ich mich wohl noch ein bisschen ungeschickt an. Der Parser "macht mich irre". Muß ich wirklich alles in eine Zeile schreiben?! Folgendes geht:

    !if|{channel_6} < 128|!set_control|Color_color|{channel_6}$!set_control|Color_speed|0$$

    Folgendes nicht:

    !if|{channel_6} < 128|
    !set_control|Color_color|{channel_6}$
    !set_control|Color_speed|0$
    $

    Fehlermeldung:
    ----------------------------------------------------------------------
    F E H L E R P R O T O K O L L
    ----------------------------------------------------------------------
    DMXControl V2.8.127 - Fehlermeldung
    ----------------------------------------------------------------------
    FEHLERBESCHREIBUNG
    Fehler-Nr: 5 (Ungültiger Prozeduraufruf oder ungültiges Argument)
    Modul: frmFormParser
    Prozedur: Parse
    Zeilen-Nr.: 0
    Datum/Uhrzeit: 09-13-2005 / 11:37:02
    ----------------------------------------------------------------------
    CALLSTACK
    ----------------------------------------------------------------------
    SYSTEMINFO:
    Plattform: Windows NT
    Version: 5.1
    Build: 2600 Service Pack 2
    ----------------------------------------------------------------------

    Das Kleinerzeichen ist natürlich entsprechend mit '& lt;' (ohne Anführungs- und Leerzeichen) kodiert; wird hier bloß interpretiert angezeigt.

    Es sind doch bloß ein paar Tabs und CR drin! Ist der Parser wirklich so empfindlich oder stelle ich mich nur blöd an?! Was darf man, was nicht?

  • OK, ich habe den Fehler (?) inzwischen selber gefunden. Der Parser mag im Code-Teil keine Tabulatoren, Leerzeichen werden aber akzeptiert!

    Aber: |eq| mag er (alle Leerzeichen beim Vergleich weglassen!!) aber nicht & eq; (ohne Leerzeichen geschrieben).

    Soll das alles so sein, oder liegt hier ein Fehler im Parser vor? Ist ganz schön hackelig, beim programmieren.... ;D

  • Die nächste Version wird auch Tabulatoren verdauen.

    Aber

    Quote

    Aber: |eq| mag er (alle Leerzeichen beim Vergleich weglassen!!) aber nicht & eq; (ohne Leerzeichen geschrieben).


    verstehe ich nicht. Für einen "gleich"-Vergleich hast du doch zwei Möglichkeiten:
    if|a|eq|2| oder
    !if|(a = b)|

    Ah, ich glaub mir geht ein Licht auf ;)
    Das Zeichen &eq; gibt es gar nicht. Die Codes < und > gehören nämlich auch nicht zum Script-Parser selbst. Da das Script in einem XML-File steht, müssen die Zeichen < (<) und > (>) entsprechend maskiert werden. Gleichzeichen müssen nicht maskiert werden, weswegen es kein &eq; gibt ;D
    Merke: Statt "(a < b)" bekommt der Parser "(a < b)" zu sehen, was dann wieder logisch ist. Bei "(a &eq; )" käme auch "(a &eq; b)" im Parser an, was natürlich nicht akzeptiert wird.

  • Ja, wenn es so betrachtet ist alles logisch. Aber: Im Handbuch zur DDF-Programmierung steht eindeutig, daß & eq; zulässig ist... ;)

  • Newly created posts will remain inaccessible for others until approved by a moderator. The last reply was more than 365 days ago, this thread is most likely obsolete. It is recommended to create a new thread instead.