Button klick nur bei fester ID

  • Hallo zusammen,

    ich möchte Controls anklicken. Die IDs zu den Controls die geklickt werden sollen stehen in einem Array (Es könnten unterschiedlich viele Controls sein, daher ein Array und kein feste ID). Dieses Array durchlaufe ich mittels Schleife - aber das Klappt nicht!

    Gebe ich einen festen Wert für die ID an, dann klappt.


    Beipiel:

    Die ID des Controls ist 139 , ein weiters hat die ID 135

    Array:

    [autoit]

    $ButtonID
    [0]|2
    [1]|139
    [2]|135

    [/autoit]

    Schleife:

    [autoit]


    If WinActive($WinTitel) Then
    ConsoleWrite($WinTitel & @CRLF)
    ConsoleWrite($ButtonID[0] & @CRLF)
    If $ButtonID[0] >= 1 Then
    For $i = 1 To $ButtonID[0]
    WinActivate($WinTitel)
    Sleep(100)
    ControlClick($WinTitel, "", $ButtonID[$i],"left",1)
    ConsoleWrite($ButtonID[$i] & @CRLF)
    Sleep(300)
    Next
    EndIf
    EndIf

    [/autoit]

    Ergebnis: KEIN Control wird geklickt!

    Test:

    [autoit]

    If WinActive($WinTitel) Then
    ConsoleWrite($WinTitel & @CRLF)
    ConsoleWrite($ButtonID[0] & @CRLF)
    If $ButtonID[0] >= 1 Then
    For $i = 1 To $ButtonID[0]
    WinActivate($WinTitel)
    Sleep(100)
    ControlClick($WinTitel, "", 139,"left",1)
    ControlClick($WinTitel, "", 135,"left",1)
    ConsoleWrite($ButtonID[$i] & @CRLF)
    Sleep(300)
    Next
    EndIf
    EndIf

    [/autoit]

    Ergebnis: Controls werden geklickt!

    Weiß jemand Rat????

    Vielen Dank schon mal!

    Gruß

    Steffen

    Einmal editiert, zuletzt von s.koni (16. Dezember 2009 um 13:07)

  • Hi,

    1) Dein Array sieht hier im Forum komisch aus, z. Bsp:
    [1]|139 Steht vor der 139 ein | oder sieht das nur so aus?

    Wenn ja, entweder Zeichen raus oder
    ControlClick($WinTitel, "", StringTrimLeft ($ButtonID[$i], 1),"left",1)

    2) Probier gffs mal
    ControlClick($WinTitel, "", Number ($ButtonID[$i]),"left",1)

    ;-))
    Stefan