Sie sind nicht angemeldet.

1

Mittwoch, 3. Februar 2010, 17:48

Prüfen ob eine Variable bereits gesetzt

Hallo,

kann ich mit if() irgendwie prüfen, ob eine Variable schon einen gültigen Wert hat?

Wenn ich mit trace() eine Variable ausgebe, die noch nicht gesetzt wurde, dann erscheint der Text "null". Wenn ich nun schreibe

Quellcode

1
if(var == "null", ...) 


dann liefert das (erwartungsgemäß *smile* ) nicht das gewünschte Ergebins ...

Viele Grüße

Sepp
Virtuelle Rundgänge in den bayerischen Schlössern, Gärten und Seen: http://www.schloesser-bayern.com

funny2pano

Schüler

Beiträge: 59

Wohnort: Hamburg

Beruf: IT Berater

  • Nachricht senden

2

Donnerstag, 4. Februar 2010, 09:48

Schau mal hier:

http://www.krpano.com/forum/wbb/index.ph…d&threadID=1961

Vielleicht kannst Du damit was anfangen! Bei den letzten Posts geht es um Variablen!

LGfunny2pano

3

Donnerstag, 4. Februar 2010, 11:57

RE: Prüfen ob eine Variable bereits gesetzt

Hallo,
kann ich mit if() irgendwie prüfen, ob eine Variable schon einen gültigen Wert hat?
Wenn ich mit trace() eine Variable ausgebe, die noch nicht gesetzt wurde, dann erscheint der Text "null". Wenn ich nun schreibe

Quellcode

1
if(var == "null", ...) 

dann liefert das (erwartungsgemäß *smile* ) nicht das gewünschte Ergebins ...
Viele Grüße
Sepp


Was ist denn nach Deiner Definition ein gültiger Wert? "Null" ist in der Programmierung auch ein Wert...

Die Abfrage

Quellcode

1
if(var == "null", ...) 

wird immer "falsch" zurückgeben, solange in der Variablen var nicht die Zeichenkette "null" drinsteht. Null ist aber nicht gleich "null"...
Ich würde es mit

Quellcode

1
if(var >= 0, ...) 

versuchen.

4

Donnerstag, 4. Februar 2010, 17:23

Hi,

in der 1.0.8 beta 9 krpano.swf (im Tools Download enthalten) gibt es jetzt
um Überprüfen ob Variablen gesetzt sind neue if() Operatoren,
und zwar: === und !==

normalerweise wird (mit == oder !=) der Inhalt der Variable überprüft/verglichen,
wenn eine Variable aber nicht existiert, dann wird angenommen das es sich
dabei um einen String/Text und nicht eine Variable handelt,

d.h. wenn z.B. "variable1" nicht gesetzt ist, dann wird aus diese Abfrage so 'aufgelöst':
1. Schritt - variable1 == null
2. Schritt - "variable1" == null -> FALSE

bzw.
1. Schritt - variable1 != null
2. Schritt - "variable1" != null -> TRUE

und damit sich an diesem Verhalten nichts ändert (sonst könnte älterer XML Code nicht mehr funktionieren),
gibt es jetzt die neuen === und !== Operatoren,
dort wird eine Variable, wenn sie nicht existiert, auf null gesetzt,

d.h. dann:
1. Schritt - variable1 === null
2. Schritt - null === null -> TRUE

bzw.
1. Schritt - variable1 !== null
2. Schritt - null !== null -> FALSE


hier z.B. der komplette Code um zu Überprüfen ob eine Variable bereits existiert,
und diese dann in diesem Fall auf einem Wert zu setzen:

Quellcode

1
if(variable1 === null, set(variable1,0) );


Schöne Grüße,
Klaus

5

Donnerstag, 4. Februar 2010, 18:24

Hallo Klaus,

ja super. Ich probier' das gleich aus ...

Vielen Dank

Sepp
Virtuelle Rundgänge in den bayerischen Schlössern, Gärten und Seen: http://www.schloesser-bayern.com