coord-transf.2d elements3d elementsnon geo scriptsfunctionscontrol statem.attributesvariousaddons
arithmeticscirclemathematicsstatisticsstringarraybinaryspecial
REQ REQUEST REQUEST{2} IND NTR VARTYPE
Name
VARTYPE
Syntax
VARTYPE(variable)
Aufklappen Range
variable Variable beliebigen Typs
Aufklappen Description
Gibt als Ergebnis den Typ der variable zurück:
1: Numerisch (es erfolgt keine weitere Unterscheidung)
2: Text (string)

Nützlich beim Einlesen externer Daten oder wenn Texte durch die SPLIT-Funktion zerlegt wurden. Befehle unter Verwendung falscher Varablentypen erzeugen Fehlermeldungen, die mit dieser Funktion abgefangen werden können.
Aufklappen Example
n = SPLIT ("15.25 kg", "%n %s", zahl, einheit)

IF VARTYPE(einheit)=2 THEN
  PRINT "Verwendete Einheit: "+einheit
  ELSE
  PRINT "»einheit« ist kein Text, sondern eine Zahl:",einheit
  ENDIF

IF VARTYPE(zahl)=1 THEN
  PRINT "Menge in Gramm: ",zahl*1000
  ELSE
  PRINT "»zahl« ist keine Zahl, sondern eine Text:",zahl
  ENDIF


Errechnet die Werte korrekt. Tauscht man die Typen in der ersten Zeile (%n und %s) oder die Zuordnung:
n = SPLIT ("15.25 kg", "%n %s", einheit, zahl)
wird dies bemerkt und entsprechend reagiert.
Aufklappen Specialities
Die Funktion kann einen zur Verzweiflung treiben, denn häufig tauchen dennoch Fehlermeldungen auf. Was wir beobachtet haben:

Die Variable, die auf ihren Typ hin geprüft werden soll, darf im Skript nicht explizit definiert werden. Wenn man im obigen Beispiel die erste Zeile ersetzt durch einheit=5 erfolgt eine Fehlermeldung beim Skriptdurchlauf.
Aufklappen ArchiCAD®
since 6.5
Aufklappen References