You are not logged in.

1

Wednesday, February 3rd 2010, 5:48pm

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

Source code

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

Trainee

Posts: 59

Location: Hamburg

Occupation: IT Berater

  • Send private message

2

Thursday, February 4th 2010, 9:48am

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

Thursday, February 4th 2010, 11:57am

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

Source code

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

Source code

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

Source code

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

versuchen.

4

Thursday, February 4th 2010, 5:23pm

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:

Source code

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


Schöne Grüße,
Klaus

5

Thursday, February 4th 2010, 6:24pm

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