Hab da einen Denkfehler oder so!? Bin für jeden Rat dankbar.
Spoiler anzeigen
Global $New = 0
[/autoit] [autoit][/autoit] [autoit]Global $a[5] = [0, 0, 0, 0, 0]
Global $b[5]
For $i = 0 To UBound($a) -1
If $a[$i] <> $b[$i] Then $New +=1 ;funktioniert nicht ?
Next
ConsoleWrite($New & @CR) ;hier kommt 0 raus ?
;Ich will aber 5 erhalten, also mache ich es so:
For $i = 0 To UBound($a) -1
If $a[$i] <> $b[$i] Or $b[$i] = "" Then $New +=1 ;funktioniert (dachte ich zumindest!)
Next
ConsoleWrite($New & @CR) ;hier kommt 5 raus
;aber wenn ich das Array kopiere, dann sollte doch 0 herauskommen
$b = $a ;kopiere das Array
$New = 0; setz die Variable wieder auf 0
For $i = 0 To UBound($a) -1
If $a[$i] <> $b[$i] Or $b[$i] = "" Then $New +=1 ;warum geht das nicht ?
Next
ConsoleWrite($New & @CR) ;!!!!! hier kommt 5 raus ?????
Edit: Hab den Denkfehler gefunden. Als String funktioniert es.
[autoit]If 0 = "" Then MsgBox(0,"0","")
If Int(0) = "" Then MsgBox(0,"Int","")
If String(0) = "" Then MsgBox(0,"String","")