0

Switch Case

Mit Hilfe einer switch-case-Verzweigung können, ähnlich wie in einer if-else-Verzweigung, ein Wert überprüft und entsprechende Anweisungen ausgeführt werden.
Die Verzweigung kann Zahlen, Strings, Datums prüfen. Sie entspricht einer Mehrfachverzweigung mit if.
Der Wert hinter dem switch wird nacheinander mit den hinter der Sprungmarke case aufgeführten Werten verglichen. Bei Übereinstimung wird die jeweilige Anweisung ausgeführt. Trifft keine Übereinstimmung zu, kann optional mit der Sprungmarke default eine Standardanweisung ausgeführt werden.

10 Antworten

null
    • Leonid_Semik
    • vor 6 Jahren
    • Gemeldet - anzeigen
    • Holzi
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Guten Morgen Leo, um die Zeit (6:18 Uhr) Respekt.
    Sowas würde ich mir von den Entwicklern wünschen, Danke.
    Dennoch 2 Fragen:
    1. Was ist das für eine "Sprache" und wo kann ich mehr darüber erfahren?
    2. Einmmal weist Du der Variablen ( GG ) ein Feld zu
    let GG := Zahl; <----
    switch GG do

    und einmal nicht
    switch F do <-----
    case "Butter":

    Muss "F" nicht auch deklariert werden?
    • AxelE
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Hallo Leo, das ist sehr hilfreich, danke.

    Allerdings gibt es bei mir (Web-Version) ein technisches Problem: Der Datepicker bleibt nach Auswahl eines Datums geöffnet, auch wenn ich andere Felder aktiviere. Um ihn wieder zu entfernen, muss ich die ganze Datenbank schließen.

    Auf welcher Plattform hast du das Beispiel erstellt?
    • Leonid_Semik
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Hallo Holzi,
    Soweit ich weiß, ist es eine eigene Sprache: NX, Ninox query language. Von der Logik ist aber viel von Javascript und Swift.
    Mit Variablen ist es so: Wenn man eine Variable nicht zuweist, sondern ein Feld als Wert einfügt, ersetzt Ninox den Feldnamen durch Buchstaben. Deswegen meine Empfehlung -
    1.immer eine Variable deklarieren und dann diese überall statt Feldnamen verwenden.
    2. Die Namen der Variablen mit mindestens zwei Buchstaben benennen
    • Leonid_Semik
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Hallo AxelE,
    Ich habe in Macbook in der App geschrieben. In der Web App kommt es tatsächlich zu den Fehler. Das ist ein Bug, ich werde den bei Entwickler melden. Offensichtlich kommt die Webversion nicht mit Trigger klar. Und man MUSS die Variablen zuweisen. Bei Datum wäre es:
    ---
    let myDate:=Datum

    switch myDate do
    case 1514329200000:
    "today"
    case 1514415600000:
    "tomorrow"
    default:
    "any time"
    end
    ---

    und bei Text, statt Trigger ein Feld "Berechnung f(x)" einfügen und dort die Formel einfügen.
    • Leonid_Semik
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Das ist natürlich nicht gut, dass hier die Beiträge nicht wie in Forum eingegliedert sind, sondern einfach untereinander beschrieben werden.
    • AxelE
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Danke für die Aufklärung. Dachte mir schon, dass es an einer Inkompatiblität zwischen den verschiedenen Plattformen lag.

    Das ist natürlich nicht gut, dass hier die Beiträge nicht wie in Forum eingegliedert sind, sondern einfach untereinander beschrieben werden.


    Dass die Beiträge untereinander stehen, ist doch eigentlich normal bei einer Forensoftware. Zur Strukturierung hat man ja die verschiedenen Threads. Das finde ich persönlich wesentlich übersichtlicher als unzählige verschachelte Kommentare zu allen möglichen Themen.
    • AxelE
    • vor 6 Jahren
    • Gemeldet - anzeigen
    ... Wobei die Quote-Formatierung etwas übertrieben erscheint. ;)
    • Holzi
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Danke für die Antwort, Leo.
    • Leonid_Semik
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Die Entwickler haben die Web App korrigiert, so das jetzt alles mit switch case funktioniert.

Content aside

  • vor 6 JahrenZuletzt aktiv
  • 10Antworten
  • 7700Ansichten