Anzahl von Controlsend einstellen für Combox

  • Hallo zusammen,
    ich möchte die Anzahl von < Controlsend("Brennen","","ComboBox1","{down}") > per MsgBox einstellbar machen.
    In diesem Fall soll somit die Brenngeschwindigkeit einstellbar gemacht werden . (ComboBox)
    Momentan habe ich Controlsend... 2 x hintereinander ausgeführt, daher in der ComboBox wird der 2. Wert ausgeführt.

    Wie kann ich einen Zähler in die Funktion integrieren um z.B bei einer Eingabe per MsgBox von "5" controlsend... 5x hintereinander auszuführen (mit sleep dazwischen)

    Ich freue mich auf Eure Antworten!

    [autoit]

    Func _next()
    RunWait('load.exe --comport='&$comport&' --drive='&$drive&' --open --command='&$Unload&' --ifcommandfailortimeoutskip=failedexit --comportrelease --skip=successexit --label=failedexit --notify="Problem with robot on port {comport} for drive {drive}, shutting down..." --set=shutdown:yes:robot --skip=shutdown --exit=0 --label=successexit --exit=0 --label=shutdown --set=needsreset:yes:robot --messagefile={passerrorsback} --message="[cancel batch]" --exit')
    RunWait('load.exe --comport='&$comport&' --drive='&$drive&' --command='&$Load&' --ifcommandfailortimeoutskip=failedload --set=loaderrors:0:robot --skip=trayanddiscin --label=failedload --skip=loadmorediscs --label=loadmorediscs --notify="You can cancel the batch with Abort. Hit Retry only after you load more discs on the spindle and CLEAR REJECTS. Hit Ignore if the disc loaded correctly.":"Load may have failed for drive {drive} on port {comport}.":2 --set=rc:{notifyreturncode} --ifsetskip=rc:3:shutdown --ifsetskip=rc:4:resetloaderrors --ifsetskip=rc:5:trayanddiscin --skip=failedload --label=resetloaderrors --set=loaderrors:0:robot --rejectsreset --skip=doreset --label=trayanddiscin --closeblind --sleep=2 --unbindtodrive --comportrelease --label=successexit --exit=0')
    Sleep(2000)
    Controlsend("Brennen","","ComboBox1","{down}")
    sleep(100)
    Controlsend("Brennen","","ComboBox1","{down}")
    sleep(100)
    ControlClick("Brennen","Brennen","Button5")
    EndFunc

    [/autoit]
  • Schau dir mal die For-Schleife an.

    Was meinst mit Eingabe per MsgBox? Du kannst bei der nix eingeben, diese dient nur zur Ansicht. Wenn dann suchst du wahrscheinlich InputBox.

  • Hallo m-obi
    also bei einem (jedem) Brennprogramm kannst Du die Brenngeschwindigkeit per "Dropdown" Menü einstellen.
    Also bei CD z.B. # Maximum ->48x ->32x ->24x ->16x ->8x ->4x -> 2x
    Wenn per InpuBox (Sorry für den Fehler) "3" übergeben wird, soll de Befehl :

    < Controlsend("Brennen","","ComboBox1","{down}") >

    3x ausgeführt weden.
    So wird die Brenngeschwindigkeit von Maximum auf 24x gesetzt.

    Ich habe schon eine While True Schleife probiert, hat aber nicht so richtig funktioniert.


    Danke!
    Gruß
    Sonyman

  • Versuch doch mal mit ControlCommand. Dort gibts du dann in die InputBox den Text ein von dem Item, also z.B. 48x.

    [autoit]

    $sItemText = InputBox("Titel", "Text")
    ControlCommand("Brennen", "", "ComboBox1", "SelectString", $sItemText)

    [/autoit]

    Oder halt wie du wolltest:

    [autoit]

    $sInput = InputBox("", "")
    For $i = 1 To $sInput
    Controlsend("Brennen","","ComboBox1","{down}")
    Next

    [/autoit]