unendliche While-Schleifen

  • Ich versuche gerade einige meiner Einzelscripte zusammenzufassen und über eine Gui zu steuern.
    An und für sich kein Problem.

    Ich habe aber ein paar Func´s mit ein endlos- while-Schleifen dabei ( permanente Meßdaten ) , welche mir in meiner einfachen Gui angezeigt wurden.
    Wenn ich eine andere Func aufrufen wollte, bin ich gewaltsam mit Hotkeys aus der jeweiligen Schleife ausgebrochen.

    Jetzt möchte ich alle Hotkeys mit Buttons in der Gui ersetzten. ( Vor allem auch, weil ich zuviele Hotkeys habe, welche mir die Tastatur zuviel einschränken.)

    Hatte gedacht ich komme im GUIOnEventMode aus den jeweiligen endlos Schleifen raus. Hatt nicht geklappt.

    Es gibt sicher eine Möglichkeit, in einer unendlichen while-Schleife eine Abfrage einzubauen, ob und welcher Button in der Gui angeklickt wurde.

    Oder gehts anders auch per GuiButton´s eine Endlos-while-schleife zu beenden, und eine neue Func zu starten ?

    Thx 4 hlp
    PowerMax

    Einmal editiert, zuletzt von PowerMax (27. August 2008 um 18:00)

  • Posten ist gut. Es sind 16 verschiedene Schripts welche mir die Heizung, Wohnung, Wetter, PC überwachen.
    Ich möchte nur eine Schaltfläche erstellen, wo ich alles Scripts einbinden kann. Das Problem ist nur , zb bei einigen Meßstellen While-Schleifen habe, die ich nicht mit Hotkeys , sonder mit Buttons in der Gui beenden will. ( Diese Schleifen haben keine positiven Ausstiegbedingungen )

  • Geplant ist, daß alles in einem Script eingebunden wird.
    Mit einem 2ten Script ( Gui als Aufruf oder Steuerscript ) wäre das kein Problem.

  • Vielleicht verstehe ich jetzt was falsch, aber mit einem HotKey muss man doch die Scheife abbrechen können.
    Einfach eine globale Variable setzen z.B. Global $Schleife = 1 und mit der HotKey-Funktion dann $Schleife = 0 setzen.

    [autoit]


    While $Schleife = 1
    Sleep(10)
    WEnd

    [/autoit]


    EDIT: Der Button kann dann einen HotKey senden!

    • Offizieller Beitrag

    Wieso gibt es beim Abfragen irgendwelcher Meßwerte Endlos-Schleifen?
    Ich denke, dass Dein Konzept falsch ist. Du solltest jeden Meßwert in einer Funktion abfragen und diesen Meßwert mit Return zurückgeben. Dann kannst Du in einer globalen Schleife reihum alle Meßwerte abfragen und entsprechend reagieren (Aktoren ansteuern).
    Den Rest (ein-/ausschalten) kann man dann über binäre Variablen erledigen, die man per Buttons und Aufruf einer Funktion umschaltet.
    Poste doch mal eines der Scripts, die so eine Endlos-Schleife enthalten.

  • KLICK  Dank Oscar
    Hab immer nur die aktuelle Meßschleife gesehen. Ich kann als Abfolge eine nach der anderen immer wieder aufrufen.


    Wer braucht schon Endlosschleifen. Ich nicht.

    Thanks an Alle und Oscar