0

switch-Anweisung

Hallo zusammen.

Habe mich jetzt durch das Handbuch gearbeitet und bekomme den Switch nicht umgesetzt (so dass ich weiter IF-Ketten nutze).

Seite 182:

switch <expression> do
case <value>: <result value>
case <value2>: <result value2> ... default: <default value> end

Seite 177

 

Frage: was bewirkt das “switch <expression> do”? Semantisch sieht es ehr wie eine steuernde Bedingung aus, die bei WAHR den case ausführt. Die drumrumliegende Bedingung im zweiten Beispiel erzeugt doch schon die gleiche Frage.

Frage: das “case Verzug > 60” und “case Verzug > 50” sind nicht wie im Syntax angegeben ein <value> (sonst wäre es ja je case ein WAHR, FALSCH usw) sondern eine <expression>. Was ist denn jetzt richtig?

Andreas

4 Antworten

null
    • UweG
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Andreas
    Das Case gibt ein Wahr/Falsch (Boolean) zurück.Wenn die Bedingung erfüllt ist, führt es das nachfolgende Script aus.
    Bsp.
    switch Verzug do

    case Verzug < 71 and Verzug >60: (Ergebins Wahr/Falsch, bei wahr führe nachfolgendes Script aus)

    Mach Irgendwas

    case Verzug < 61 and Verzug > 50:

    Mach was anderes

    end

    Also eine elegantere if ... then ... else-Abfrage

    • Andreas_Seestadt
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Fein, Danke.

    Syntax ist also:

    switch <field> do
    case <value>: <result value>
    case <value2>: <result value2> ... default: <default value> end

    Umgesetzt, funktioniert. Besten Dank

    • UweG
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Andreas
    Schön wenn es funktioniert.
    Ich möchte dir empfehlen dem Team Webinar DE 2020 beizutreten und dort die Datenbank 0002_Referenz bei Fragen zur Scriptsprache zu nutzen.
    Darüber hinaus haben viele Ninox-User dort Datenbank-Lösungen zu verschiedenen Problemen eingestellt, an denen man sich bei der eigenen Lösung orientieren kann.
    Um dem Team beizutreten reicht eine Mail an den Support mit deiner Ninox-Mailadresse aus, mit der Bitte um Aufnahme in das Team.

    • Andreas_Seestadt
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Uwe,

    ja, danke. Habe ich bereits getan. Besten Dank