[Mini-GUIDE] Multi Tasking in Au3, mehrere schelifen parallel laufen lassen

  • hey,
    ich zeug euch jetzt ma wie ihr in AutoIT mehrere Schleifen parallel neben einander laufen lassen könnt, also ohne das ers eine ausgefürht wird und dann die andere.
    Das nennt man "Tasking"
    Ihr werded nur 5 min brauchen und scho seit ihr schlauer ;)


    Die Funktion dazu ist schon in AutoITv3 integriert.

    Erst ausführen/testen und dann source gründlich durchlesen!

    Wer beides gemacht hat, der müsste jetzt bemerkt haben, dass alle 3 parallel laufen.
    Und das noch in verschiedenen Zeitabschnitten.

    Um diese schleife zu beenden kann man einfach

    Code
    AdlibDisable()

    benutzen dann werden die schleifen gestoppt.

    Also AdlibEnable(Func (als String), ZeitAbschnitt)

    Der Zeitabschnitt ist optional, also er muss net sein.
    Der standart wert dafür welcher dann auch benutzt wird wenn kein wert angegeben wurde ist "1000".

    ICh hofe es ist verständlich

    Kritik erwünscht.

    EDIT : kleiner fehler behoben, danke an fuyu

    gez :: *electriZer*

  • Schaut gut aus werts testen , wenn ich zeit habe
    btw :

    Zitat

    [code]
    $zähler1 = 0
    $zähler2 = 0
    $zähler3 = 0

    machs doch besser in
    [COLOR="Red"][/code]
    [/COLOR]

    lg Fuyo


  • gut gut
    adlib kannte ich scho von apsp her
    aber habe nie an diese gewaltige macht dieser func gedacht
    so is es einfacher, nen uptime zähler zu bauen
    thx haste^^
    mach noch mehr so gutes zeug
    aber lass mir auch noch was^^

  • Fuyo
    xD
    sry ich hatte das ja aber ich schreib die bb-codes imer selbst hin ^^ (geht schneller)
    hab halt bei einem "[CODE]" das "/" vergessn ^^
    danke für den hinweis =)

    internetfreak
    jo das hat ne gewaltige macht x)
    ich werd jetzt ma TuT's über sachne machen die, die meisten gar net kennen oder gar net beachten obwohl sie extrem was nützen =D

    gez : *electriZer*

  • @ Just_Pein
    Änder doch vllt mal
    $zähler1 = 0
    $zähler2 = 0
    $zähler3 = 0

    in
    $z[COLOR="Red"]ae[/COLOR]hler1 = 0
    $z[COLOR="Red"]ae[/COLOR]hler2 = 0
    $z[COLOR="Red"]ae[/COLOR]hler3 = 0

    bei mir kam auch am Anfang ein Error

    Ich glaub du musst dan auch noch das anpassen
    AdlibEnable("_z[COLOR="Red"]ae[/COLOR]hler1",1) ; nonstop durch (jede ms)
    AdlibEnable("_z[COLOR="Red"]ae[/COLOR]hler2",1000) ; in 1sec abschnitten (alle 1000ms)
    AdlibEnable("_z[COLOR="Red"]ae[/COLOR]hler3",60000) ; in 1min abschnitten (jede min)

    bin mir aber nicht sicher , teste es^^

    musst dan natürlich bei den Functionen auch anpassen :
    func _z[COLOR="Red"]ae[/COLOR]hler1()
    $z[COLOR="Red"]ae[/COLOR]hler1 = $z[COLOR="Red"]ae[/COLOR]hler1 + 1
    GuictrlSetData($Zeit_1,$z[COLOR="Red"]ae[/COLOR]hler1)
    endfunc

    func _z[COLOR="Red"]ae[/COLOR]hler2()
    $z[COLOR="Red"]ae[/COLOR]hler2 = $z[COLOR="Red"]ae[/COLOR]hler2 + 1
    GuictrlSetData($Zeit_1,$z[COLOR="Red"]ae[/COLOR]hler2)
    endfunc

    func _z[COLOR="Red"]ae[/COLOR]hler3()
    $[COLOR="Red"]ae[/COLOR]ähler3 = $z[COLOR="Red"]ae[/COLOR]hler3 + 1
    GuictrlSetData($Zeit_1,$z[COLOR="Red"]ae[/COLOR]hler2)
    endfunc


  • Ja , aber ich bin mir nicht sicher , kannst natürlich auch
    einfach andere Variablen nehmen , muss ja nciht zähler heißen
    Ich teste es jetzt nochmal ganz genau


Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!