Ich habe gerade festgestellt, dass AutoIt 0 und "" als das gleiche interpretiert, zB
$var = ""
if $var = 0 Then msgbox (0,"","gleich")
wurde das in 3.2.6.0 geändert? soweit ich mich erinnere war das vorher (3.2.0.0) nicht so?!
Ich habe gerade festgestellt, dass AutoIt 0 und "" als das gleiche interpretiert, zB
$var = ""
if $var = 0 Then msgbox (0,"","gleich")
wurde das in 3.2.6.0 geändert? soweit ich mich erinnere war das vorher (3.2.0.0) nicht so?!
Die einfache 0 ohne Anfürhungszeichen wird als NULL interpretiert, was identisch ist zum ""
Willst du also prüfen ob eien Variable den Wert 0 hat so setze ihn in Anführunszeichen.
"0" wird aber wiederum nicht als nummer erkannt (IsNumber), daher hilft das leider auch nicht weiter
Hintergrund: in einer Funktion soll ein parameter optional sein. Dieser kann entweder eine zahl oder ein text sein, was später unterscheidbar seien muss, um die funktion nutzen zu können.
Und wo ist das Problem jetzt?
0 kannst du als numerischen Wert prüfen. Wird 0 aber als String übergeben und es soll aber numerisch sein, kannst du das erzwingen:
[autoit]Dim $var = '0'
$var = Number($var)
If IsNumber($var) Then MsgBox(0, '', 'Das ist eine numerische Variable')
Zeig einfach mal etwas Code, dann wissen wir besser wo das Problem ist.
"0" erkennst du mit StringIsAlpha als Nummer, nicht mit IsNumber (weil es ja eben nicht 0 ist, sonern "0")...
peethebee
ps. ich hoffe ich habe keinen Müll erzählt ;).
Fast richtig
StringIsAlNum($var) erkennt numerisch in String, also True für '0'