Endlosschleife nach 2 Minuten beenden

  • Hallo ich bräuchte mal Hilfe und zwar möchte ich das sich eine wend schleife nach bestimmter zeit beendet (am besten nach 2 Minuten)
    Wie stelle ich das an?
    Habe es bereits versucht hat aber nicht geklappt

    [autoit]

    While 1

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

    if @min = 2 then
    Exit

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

    sleep (5000)
    send ("{ALT}")
    sleep (1000)
    send ("{ENTER}")
    sleep (1000)
    send ("{DOWN}")
    sleep (1000)
    send ("{ENTER}")
    sleep (1000)
    send ("XXX")
    sleep (1000)
    send ("{ENTER}")

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

    WEnd

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

    EndIf

    [/autoit]

    Hab im forum bereits gesucht und nichts gefunden kann aber auch sein das ich einfach nur zu blind war.
    Ich bedanke mich jetzt schonmal.

    Tschö mit Ö :)

    Einmal editiert, zuletzt von Neriox (13. Oktober 2010 um 23:39)

  • Also du solltest dir unbedingt mal den Umgang mit Schleifen in der Hilfe anschauen.

    Spoiler anzeigen
    [autoit]


    Dim $minute = @min

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

    While 1

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

    if $minute == @min-2 then
    Exit

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

    Else
    sleep (5000)
    send ("{ALT}")
    sleep (1000)
    send ("{ENTER}")
    sleep (1000)
    send ("{DOWN}")
    sleep (1000)
    send ("{ENTER}")
    sleep (1000)
    send ("XXX")
    sleep (1000)
    send ("{ENTER}")

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

    Endif

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

    WEnd

    [/autoit]

    Ist aber net getestet.

    MfG
    Der_Doc

    • Offizieller Beitrag
    [autoit]

    Local $Timer = TimerInit()

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

    While 1
    If TimerDiff($Timer) >= 120 * 1000 Then ExitLoop
    Sleep(5000)
    Send("{ALT}")
    Sleep(1000)
    Send("{ENTER}")
    Sleep(1000)
    Send("{DOWN}")
    Sleep(1000)
    Send("{ENTER}")
    Sleep(1000)
    Send("XXX")
    Sleep(1000)
    Send("{ENTER}")
    WEnd

    [/autoit]
  • Oder so:

    [autoit]

    Global $Timer = TimerInit()

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

    Do
    Sleep(5000)
    Send("{ALT}")
    Sleep(1000)
    Send("{ENTER}")
    Sleep(1000)
    Send("{DOWN}")
    Sleep(1000)
    Send("{ENTER}")
    Sleep(1000)
    Send("XXX")
    Sleep(1000)
    Send("{ENTER}")
    Until TimerDiff($Timer) >= 120 * 1000

    [/autoit]

    Wenn es ein Bot wäre, dann natürlich kein weiteren Support!

  • Zitat

    Wird das ein Bot ?

    [autoit]

    If TimerDiff($Timer) >= 120 * 1000 Then ExitLoop

    [/autoit]
    Zitat

    Nein es wird kein Bot sondern ein Programm was nach vorher abgefragten Internetseiten Automatisch die jeweiligen Links einfügt (ist auch nur für mich persöhnlich gedacht da es mir die Arbeit am PC sehr erleichtert)


    Habs bis jetzt noch nicht getestet aber danke schonmal nur was ich nicht verstehe ist


    Die "120" is logisch das sind dann wohl die 2 Minuten aber wofür ist die "1000" gedacht?


    [Sorry hatte irgentwie Probleme mit der Zitat funktion T_T]

  • Ist auch irgendwie dumm das ganze

    Bot = Atomatisierung

    Automatisierung = AutoIT

    Und für was wurde autoit entwickelt ? Ja genau, zum Automtisieren

    und was ist im Autoit forum verboten ? Hmm ja Bot´s ^^

    Irgendwie schon wiedersprüchlich oder ^^


    in deinem Fall würd ich eine Do Until Timediff nehmen anstatt einer While

  • [autoit]

    Dim $minute = @min While 1 if $minute == @min-2 then Exit Else sleep (5000) send ("{ALT}") sleep (1000) send ("{ENTER}") sleep (1000) send ("{DOWN}") sleep (1000) send ("{ENTER}") sleep (1000) send ("XXX") sleep (1000) send ("{ENTER}") Endif WEnd

    [/autoit]

    Also hiermit funktioniert es schonmal nicht.


  • Wenn du die Forenregeln lesen würdest, würdest du lesen, dass Spielebots gemeint sind...

  • Ich hätte da noch eine andere Frage und zwar wie kann ich machen das der eingegebene Text in einer Inputbox automatisch als variable gespeichert wird ?

  • ok und wie kann ich das dann in einer Msgbox wiedergeben mit

    [autoit]

    MsgBox ("",""," $text")

    [/autoit]


    klappt es nicht

  • Also so wie du es beschrieben hast, funktioniert es mit diesem Skript auf jeden Fall.

    Spoiler anzeigen

    Dim $minute = @min While 1 if $minute == @min-2 then Exit Else sleep (5000) send ("{ALT}") sleep (1000) send ("{ENTER}") sleep (1000) send ("{DOWN}") sleep (1000) send ("{ENTER}") sleep (1000) send ("XXX") sleep (1000) send ("{ENTER}") Endif WEnd

    Es werden solange die Sendbefehle hintereinander abgesendet, bis der Zeitunterschied 2 Minuten beträgt.

    MfG
    Der_Doc

  • Und wie kann ich machen das in einer Inputbox nach der Dauer des scriptes gefragt wird (also die 2 minuten)
    und wo muss ich es dann eingeben

  • Das ist warscheinlich die schlechteste Antwort von allem erstens kenn ich die Seite und zweitens kenn ich auch die Help datei aber es bringt mir nichts.

  • Dann bist du der Schlechteste Programmierer seit langem

    den dort steht MIT BEISPIELEN genau was du fragst, das mit timeint steht drinnen, das mit msgbor ist drinnen

    mit variabeln und inputs