Das Notes Forum
Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: Kaljamam am 03.05.12 - 08:51:52
-
Hallo zusammen,
ich würde mal wieder Hilfe benötigen, weil ich mit meinem Wissen hier nicht mehr weiterkomme.
Mein Ziel:
User gibt Zahl zwischen 0 und 10.001 ein. Im Feld wird dann ein 4 ausgegeben.
User gibt Zahl zwischen 10.001 und 20.000 ein. Im Feld wird eine 8 ausgegeben.
Mein Code:
result := @Prompt([OkCancelEdit]; "Geben Sie das Guthaben ein"; "Guthaben"; "") ;
@True;
v_Haben := @TextToNumber(result);
@If(v_Haben := 0-10001; Ausgabe:= 4; v_Haben := 10001-20000; Ausgabe:= 8;0);
v_Haben := @Text(Ausgabe);
@SetField("a_Haben"; v_Haben);
Mein Problem:
Gebe ich 555 ein, gibt er tatsächlich auch 4 im Feld a_Haben aus. Gebe ich 15.000 ein, gibt er aber immer noch 4, statt 8 aus. Wäre über einen Tipp dankbar!
-
v_Haben := 0-10001
netter Versuch ;-)
Notes interpretiert das "-" zwischen den Zahlen aber als Subtraktionsoperator und rechnet dann
v_Haben := 0-10001 = -10001
:= macht dann zudem noch eine Zuweisung und keinen Vergleich. Also = verwenden
Also so:
...@If(v_Haben >= 0 & v_Haben <= 10001;...
Andreas
-
@If(v_Haben := 0-10001; Ausgabe:= 4; v_Haben := 10001-20000; Ausgabe:= 8;0);
Die Zuweisung, bzw. der Vergleich der Werte innerhalb der @IF-Verzweigung funktioniert so nicht...
Toni
*** edit ***
@Andreas
Ups - da warst du schneller
Ausgabe := @If(
v_Haben > 1 & v_Haben <= 10001 ; 4 ;
v_Haben > 10001 ; 8 ;
0 );
Wobei die Konvertierung in Zahl so ohne Fehler abfangen auch etwas wage ist
-
Deine @If - Abfrage ist falsch. Du kannst hier keinen Bereich angeben und außerdem ist := falsch. Das ist ein Zuweisungsoperator
Aus dem Bauch heraus müsste das so aussehen:
...
@If((v_Haben > 0 & v_Haben <10001); Ausgabe:= 4; (v_Haben > 10000 & v_Haben < 20001); Ausgabe:= 8;0);
...
Ich hab's allerdings nicht getestet.
Axel
-
Tausend Dank mal wieder. Jetzt ist alles klar, hab es eingebaut und schon erweitern können und alles klappt prima.... :D