Schleife und Delay

  • Hallo zusammen,
    ich wollte einmal fragen wie ich eine If-Schleife am besten mit Delay einbaue,
    also zum Beispiel soll die IF 10 Sekunden lang ausgeführt werden (wird was geprüft). wenn die IF true ausgibt, soll die schleife unterbrochen werden, und ein Tastendruck erfolgen, andernfalls soll nach den 10 Sekunden ein Tastendruck erfolgen.

    In beiden fällen soll nach einem Delay das Script von vorne beginnen.


    Vielen Dank schonmal :)

  • Quick and Dirty Lösung..

    Mit Sleep Cpu freigeben ...
    sleep(1000) = 1 sek warten

    Code
    For $i = 1 to 10 Step 1
        ;Mach hier irgendwas
        Sleep(100)
    Next
  • Vielen Dank,
    aber offenbar hat sich das schon erledigt,
    irgendwie funktioniert das mit dem Color-Pick nicht so recht wie ich mir das erhofft habe ;(

    Edit: Das richtige 'checkt' er nur, wenn ich die Farbe direkt nach dem WinWaitActive aufm Bildschirm hab, also wenn sich die Farbe ändert, dann checkt er das irgendwie nicht :(


    [autoit]

    WinWaitActive("Prog")
    $col = PixelGetColor(542, 275)
    $time = 20
    $i = 0
    While $i <= $time
    if $col = 16381432 Then
    MsgBox(0, "found", "Farbe #F9F5F8 gefunden!")
    $i = $time +1
    Else
    Sleep (500)
    $i = $i + 1
    EndIf
    WEnd
    MsgBox(0, "Farbe", $col)

    [/autoit]


    Edit:// Ok hab den Fehler, ich dödel :D

    2 Mal editiert, zuletzt von inscape (6. Oktober 2007 um 15:33)

  • das $col = PixelGetColor muss natürlich in die while schleife, sonst is es klar, dass er eine veränderung nicht mewrkt, da er ja immer den wert vom start vergleicht

    mfg

  • Wie gesagt, hab den Fehler schon.
    Gibt es eigentlich noch eine andere Methode div. Befehle wie die Funktionstasten F1-F12 zu senden? Mit Send funktioniert das irgendwie nicht immer...