Per Button schleife unterbrechen möglich?!

  • Hallo zusammen,


    ich bin am Verzweifeln.


    Ich versuche, mit einem Programm in regelmäßigen Abständen einen Text in eine Datei schreiben zu lassen, welches ich aber nach Belieben wieder abbrechen kann.


    Ich möchte auf start drücken und dann soll er so lange das durchführen, bis ich wieder stop drücke. Leider funktioniert das nicht mit den buttons, und einen Hotkey möchte ich dafür nicht verwenden.


    Hier der Code des Programmes (nicht wundern, ist nur die Grundlage, auf der das Programm aufbaut und dient zum Troubleshooting, da der code noch schön übersichtlich ist ^^). Ich hoffe, ihr versteht mein anliegen und könnt mir helfen.



    Vielen Dank und liebe Grüße,


    der Robert

  • Wenn du unter AutoIt mit parallelen Threads arbeiten könntest, würde dieser Ansatz sogar funktionieren.
    Allerdings wird $s nie auf 1 gesetzt, da aus der Schleife in der _Eingabe-Funktion nicht wieder in die Hauptschleife zur Behandlung des Buttonklicks gesprungen wird.


    Für solche Sachen ist

    AdLibRegister
    AdLibUnRegister

    bestens geeignet.


    Gruß

  • oder du erledigst das schreiben in die datei direkt in der "Hauptschleife", so dass du nach jedem schreiben wieder nach neuen Events in dem GUI nachfragst.


    Es ginge auch, dass du in deiner _Eingabe()-Funktion in der Schleife immer wieder nach GUI-Events abfragst, wäre aber (meinem Gefühl nach ;) ) eher nicht so "schön"


    Als dritte Alternative könntest du auch darüber nachdenken den OnEvent-Modus zu verwenden, der deine Schleife unterbrechen würde, um auf das GUi-Event zu reagieren

    MFG inventor


    wenn's weitere Fragen gibt -> PN
    wenn da keine Antwort kommt, überdenk deine Frage noch mal

  • Hier mal nen Beispiel von mir:


    Dieser Beitrag wurde 9521 mal editiert, zum letzten Mal von Blubkuh: Morgen, 02:28.


    If Not $Elephant Then $Irelephant = True

  • Hi,
    sollte man nicht bei "FileWrite" auch besser "FileOpen" verwenden ? ;-)


  • Blubkuh:
    Warum verwendest Du die Variable $i (Z. 23, 31, 35) als String -- was Abgleiche u. U. erschweren kann -- und nicht als (Integer-)Zahl?


    Ich wusste das die Frage kommt ^^
    Und hier meine alles beantwortende Antwort: 42 .... (Weil es funktioniert ;))

    Dieser Beitrag wurde 9521 mal editiert, zum letzten Mal von Blubkuh: Morgen, 02:28.


    If Not $Elephant Then $Irelephant = True

  • Zitat

    Ich wusste das die Frage kommt ^^
    Und hier meine alles beantwortende Antwort: 42 .... (Weil es funktioniert ;))


    Das Forum ist dazu gedacht dass wir richtige Hilfe/Antworten geben und nicht dass wir irgendeine Funktionierende Lösung posten.
    Wenn du schon weißt dass du beim Vergleich einer Zahl auch wirklich eine Zahl verwenden solltest dann gib dieses wissen doch auch bitte so weiter.


    Mal ganz davon abgesehen, dass hier ein Bool besser geeignet wäre.