Nur eine bestimmte funktion pausieren

  • Hi,
    die überschrift sagt es eigentlich schon... ist es möglich in einem programm eine funktion für eine bestimmte zeit zu pausieren( blockieren) bis sie wider auszuführen geht?
    wenn ja wie ginge das?

    hab schon sufu genutzt, nichts gefunden was mir weiter hilft.
    vieleicht könnt ihr mir helfen? :)

    MfG

    Einmal editiert, zuletzt von schnoopie (25. November 2008 um 20:04)

  • Mit TimerInit und TimerDiff hab ich schon probiert:

    [autoit]


    $go = TimerInit()
    If TimerDiff($go) > 12000 Then
    hot() ;die funktion, die, sagen wir 12 sekunden, nicht mehr ausführbar sein soll
    EndIf

    [/autoit]

    so macht er quasi garnichts... meiner meinung nach müsste ich es so hier umbasteln

    [autoit]


    $go = TimerInit()
    sleep(1000)
    If TimerDiff($go) > 12000 Then
    hot() ;die funktion, die, sagen wir 12 sekunden, nicht mehr ausführbar sein soll
    EndIf

    [/autoit]

    was aber widerum das ganze programm stoppen würde und genau das soll es ja eben nicht, es soll nur die funktion hot() pausieren und dafür was anderes machen.

    ?(

  • Schau Dir in der Hilfe mal AdlibEnable() an.
    Damit kannst Du eine Funktion alle xxx Millisekunden ausführen lassen.

    Er will doch eine Funktion aussetzen und nicht alle x Sekunden ausführen !

    Ich würde es wie folgt machen:

    Spoiler anzeigen
    [autoit]

    Global $enabled = True

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

    ; Alle 12 Sekunden wechselt EIN/AUS
    AdLibEnable("_switch",12000)

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

    While 1

    If $enabled = True Then
    msgbox(0,"","Eingeschaltet")
    EndIf

    ; Dieser Teil wird dann immer ausgeführt !
    Sleep(100)

    Wend

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

    Func _Switch()
    $enabled = Not $Enabled

    [/autoit]

    Diese einfache Lösung wechselt halt nur alle 12s gleichmäßig zwischen EIN und AUS.

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

  • [autoit]


    AdLibEnable("funktion",12000)
    funktion()

    [/autoit]

    so klappt es.. die funktion wird 12 sekunden blokiert aber das programm läuft weiter. ich bedanke mich!!
    :thumbup: :thumbup: :thumbup: