Arraywerte werden falsch ausgelesen

  • Hi Community,

    mein neustes Problem ist, dass Arraywerte falsch ausgegeben werden.

    Hier ein Beispiel zur Verdeutlichung:

    [autoit]

    Dim $codesave[18][24]

    [/autoit][autoit][/autoit][autoit]

    $codesave[1][4] = "a"

    [/autoit][autoit][/autoit][autoit]

    _Select()

    [/autoit][autoit][/autoit][autoit]

    Func _Select()
    If $codesave[1][4] = 0 Then
    MsgBox(1,"Null","0")
    EndIf
    If $codesave[1][4] = "a" Then
    MsgBox(1,"A","a")
    Endif
    EndFunc

    [/autoit]


    Lg Jautois

    Einmal editiert, zuletzt von Jautois (11. Mai 2009 um 16:05)

  • [autoit]

    Dim $codesave[18][24]

    [/autoit][autoit][/autoit][autoit]

    $codesave[1][4] = "a"

    [/autoit][autoit][/autoit][autoit]

    _Select()

    [/autoit][autoit][/autoit][autoit]

    Func _Select()
    If $codesave[1][4] == 0 Then
    MsgBox(1,"Null","0")
    EndIf
    If $codesave[1][4] == "a" Then
    MsgBox(1,"A","a")
    Endif
    EndFunc

    [/autoit]


    Jetzt gehts. ;)

    Twitter: @L3viathan2142
    Benutze AutoIt persönlich nicht mehr, da ich keinen Windows-Rechner mehr besitze.

    • Offizieller Beitrag

    Der Grund liegt darin, dass Du einen String mit einer Zahl vergleichst.
    Wenn Du die Zahl vorher umwandelst, geht es auch mit einfachem Gleichheitszeichen:

    [autoit]


    Dim $codesave[18][24]

    [/autoit][autoit][/autoit][autoit]

    $codesave[1][4] = "a"

    [/autoit][autoit][/autoit][autoit]

    _Select()

    [/autoit][autoit][/autoit][autoit]

    Func _Select()
    If $codesave[1][4] = String(0) Then
    MsgBox(1, "Null", "0")
    EndIf
    If $codesave[1][4] = "a" Then
    MsgBox(1, "A", "a")
    EndIf
    EndFunc

    [/autoit]