Switch case geht nicht bei Zahl 0
Hi Community,
Bin ich deppert oder warum geht case myX < 1 nicht wenn die Zahl 0 ist.
Ich klicke einen Button und folgender Code soll ausgeführt werden: (Status ist ein Auswahlfeld)
if ZahlX then
let myX := number(ZahlX);
switch myX != null do
case myX < 1:
Status := 1
case myX >= 1 and myX <= 4:
Status := 2
case myX > 4:
Status := 4
end
end
Wenn ich den Code auf case myX <2 ändere und ich tippe in das Feld ZahlX eine 1 ein klappt es… sobald ich aber eine 0 rein schreibe wird der Code nicht ausgeführt bzw. es änderte ich nichts wenn ich z.B. auf Status := 2 bin.
if ZahlX then
let myX := number(ZahlX);
switch myX != null do
case myX < 2:
Status := 1
case myX >= 2 and myX <= 4:
Status := 2
case myX > 4:
Status := 4
end
end
kann jemand helfen!? Wieso funktioniert das nicht?
11 Antworten
-
Hi. Ich kann nur sagen, dass Dein Szenario in app v 3.8.6 funktioniert und in server v 3.8.8 nicht funktioniert. Also m. E. hast Du nichts falsch gemacht. Ist wohl buggy, oder mir ist es zu spät ;-) Mirko
-
Hi,
der Fehler liegt in der if Abfrage.
Sinngemäß schreibst du "Wenn ZahlX größer oder kleiner als 0 dann... tu dies..."
Jetzt ist also ZahlX = 0 und das Skript tut gehorsamst: nix
LG
-
Moin.
Danke Mirko, dass du das bestätigen kannst. Ich werde es spaßhalber auch mal in der MAC-APP prüfen, muss das aber in der Web-App nutzen später..
Wo kann ich hier BUGS melden? Ich brauch die Funktion
-
Hi Sto,
versuch´s mal hiermit:
Status := null;
if ZahlX != null then
let myX := ZahlX;
switch myX != null do
case myX < 1:
Status := 1
case myX >= 1 and myX <= 4:
Status := 2
case myX > 4:
Status := 4
end
end
Es ist in der Tat etwas verwirrend, dass bei der if-Abfrage "null" mit "0" gleichgesetzt wird. Ich habe ein internes Ticket (LEV-667) dazu eröffnet und nachgefragt, ob das so beabsichtigt ist. Bis ich Antwort erhalte, sollte Dir der Workaround aber erstmal weiterhelfen.
Viele Grüße
Chris
Content aside
- vor 1 JahrZuletzt aktiv
- 11Antworten
- 124Ansichten
-
4
Folge bereits