variablen kopplung

  • hab probleme mit der belgeung


    MouseClick("left",638,329,2,10)
    $o1= 198
    $o2= 150
    $o3= 170
    $o11= 8
    $o22= 7
    $o33= 2
    So des sind mal die ersten variablen die sind noch klar ich will wenn es zufällig $o1 auswählt dass dieses mit $o11 gekoppelt ist es kann aber genauso $o2 oder $o3 zu beginn auswählen
    $a = (Int(Random(1,3)))
    hier haperts dann:

    Send($o($a),1) ; hier funktoniert der schritt nicht was muss ich anders machen oder kann ich random über o1 o2 o3 machen?

    Sleep(1000)
    MouseClickDrag("left",821,262, 835, 264,10)
    Send($o11,1) ;und hier sollte dann des gekoppelte also sprich wenn $o1 ausgewählt sollte hier drin dann $o11 erscheinen

    kann mir da jemand helfen

    Einmal editiert, zuletzt von autoitnoob (19. November 2007 um 13:47)

  • Ehrlich gesagt ist mir das deutlich zu wirr um wirklich zu wissen was du willst.
    Ich hab trotzdem mal versucht aus dieser Satzeichen ablehnenden Zeichenzusammensetzung einen Inhalt rauszufiltern:

    Du hast 3 Werte und willst einen davon per Zufall auswählen lassen?
    Anhand dieses zufälligen Wertes soll dann der Wert einer weiteren Variablen festgelegt werden?

    Wenn dem so ist dann würde ich vorschlagen $o als Array zu definieren weil du damit eben die Werte per Index ansprechen kannst.
    Und zur Zuordnung der nächsten Variable würde ich dann einfach mal Switch oder Select zur Fallunterscheidung zu Hilfe nehmen.

    Sowas ungefähr?:

    Spoiler anzeigen
    [autoit]

    Dim $o[3]

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

    $o[0] = 198
    $o[1] = 150
    $o[2] = 170

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

    $a = (Int(Random(0,2)))
    Send($o[$a],1)

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

    Switch $a
    Case $o[0]
    $temp = 8
    Case $o[1]
    $temp = 7
    Case $o[2]
    $temp = 2
    Case Else
    $temp = 0
    EndSwitch

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

    Sleep(1000)
    MouseClickDrag("left",821,262, 835, 264,10)
    Send($temp,1)

    [/autoit]
  • geht in die richtige richtung aber irgendwie komm ich trotzdem noch nicht auf die richtige lösung die ich beabsichtige

    ich probier mal noch ein bisschen

    Einmal editiert, zuletzt von autoitnoob (19. November 2007 um 14:47)

  • Sollte auch - zumindestens wenn das Feld fokusiert ist.
    Wenn du das direkt an ein Feld senden willst empfiehlt sich wohl eher ControlSetText() oder ControlSend() anstatt Send().

    Hatte im ersten Beispiel noch einen kleinen Schusselfehler bei dem Switch Ausdruck - so ist es besser:

    Spoiler anzeigen
    [autoit]

    Dim $o[3]

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

    $o[0] = 198
    $o[1] = 150
    $o[2] = 170

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

    $a = (Int(Random(0,2)))
    Send($o[$a],1)

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

    Switch $a
    Case 0
    $temp = 8
    Case 1
    $temp = 7
    Case 2
    $temp = 2
    Case Else
    $temp = 0
    EndSwitch

    [/autoit]

    Einmal editiert, zuletzt von AspirinJunkie (19. November 2007 um 14:49)

  • so habs jetzt des reicht vollkommen für meinen fall


    MouseClick("left",638,329,2,10)
    Sleep(Int(Random(2000,3000)))
    Dim $o[4]

    $o[1]= 198
    $o[2]= 150
    $o[3]= 170

    Dim $op[4]

    $op[1]= 8
    $op[2]= 7
    $op[3]= 2

    $a = (Int(Random(1,3)))
    Send($o[$a],1)
    Sleep(1000)
    MouseClickDrag("left",821,262, 835, 264,10)
    Send($op[$a],1)

    hab des mit den eckigen klammern nicht gecheckt

    thx für die hilfe

  • ich denke das du dich noch nicht so mit arrays auskennt. kleiner fehler drin.

    [autoit]

    MouseClick("left",638,329,2,10)
    Sleep(Int(Random(2000,3000)))
    Dim $o[3]

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

    $o[0]= 198
    $o[1]= 150
    $o[2]= 170

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

    Dim $op[3]

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

    $op[0]= 8
    $op[1]= 7
    $op[2]= 2

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

    $a = (Int(Random(0,2)))
    Send($o[$a],1)
    Sleep(1000)
    MouseClickDrag("left",821,262, 835, 264,10)
    Send($op[$a],1)

    [/autoit]

    Einmal editiert, zuletzt von .::Mignon::. (19. November 2007 um 15:32)