WAHR und FALSCH als numerische Werte

Hallo!

Frage an die Xojo-Gurus:

In alten VB-Programmen habe ich folgenden Code verwendet, um ganz einfach, abhngig von Wahr/Falsch-Wert einer Abfrage, eine andere Variable mit einem Wert zu versehen.

  dim a, b as integer
  
  a = 1
  b = (a = 1) * -16 // in VB ist b=16, da WAHR gleich -1 ergibt
  b = (a = 5) * -16 // in VB ist b=0, da FALSCH gleich 0 ergibt

Ist das in Xojo auch einfacher mglich? Oder gibt es nur etwa solche IF-Abfragen-Version?

  dim a, b as integer
  
  if (a = 1) then
     b = 16
  else
     b = 0
  end if

Habe bis dato nur Fehlermeldungen gesammelt. Steh’ am Schlauch.

Also der Vergleich gibt ein Boolean. Und Booleans kann man nicht als Integer weiterverarbeiten ohne einen CType Aufruf.

was du vielleicht suchst ist sowas:

b = if(a = 1, 16, 0)

oder?

Danke Christian!

Genau das. Wusste es muss etwas Einfacheres geben.

Ansonsten könnte dir dies hier weiterhelfen:

http://documentation.xojo.com/index.php/Operator_Compare

Operator_Compare ist nur für Klassen, nicht für Datentypen.

Schade :slight_smile: