For Schleife muss auf Timer warten.. aber wie?

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Neoner.

    For Schleife muss auf Timer warten.. aber wie?

    Hallo liebe Community.

    Ich stehe vor einem dicken Denk Problem.
    Situation ist folgende. Ich Lasse ein Test laufen der über 60 Sekunden geht. Dieser Test läuft mit einem Timer (Der Timer hat ein Tick von 1000ms und frag daher 60 mal einen wert ab.)
    Wenn er nun 60 mal abgefragt hat, beendet sich der Timer auch wieder. Nur jetzt habe ich das Problem, das ich mittels einer FOR-Schleife den Timer starten muss.
    Das Problem:
    Wie kann ich die FOR-Schleife dazu bringen, das diese nicht weiter macht bis der Timer zu ende ist?

    Ratschläge nehme ich gerne an :)

    Im Vorfeld, Dankeschön
    Ganz Simpel wäre folgende Möglichkeit:

    Dimensioniere eine Variable innerhalb der Klasse (Boolean).

    VB.NET-Quellcode

    1. Public Class Form1
    2. Dim TimerAn As Boolean = False
    3. Private Sub EinSub()
    4. End Sub
    5. End Class


    Nun, wenn du den Timer anschmeißt, setzt du diese Variable auf "True".

    VB.NET-Quellcode

    1. Public Class Form1
    2. Dim TimerAn As Boolean = False
    3. Private Sub EinSub()
    4. Timer1.Start()
    5. TimerAn = True
    6. End Sub
    7. End Class


    Nun musst du jedoch die Ticks mitzählen lassen, um bei dem letzen durchlauf die Variable "TimerAn" auf "False" zu setzen..

    Nun kannst du die Variable ziemlich Simpel abfragen.

    VB.NET-Quellcode

    1. Public Class Form1
    2. Dim TimerAn As Boolean = False
    3. Private Sub EinSub()
    4. Timer1.Start()
    5. TimerAn = True
    6. End Sub
    7. Private Sub Sub2()
    8. While True
    9. if TimerAn Then
    10. 'Timer ist an
    11. Else
    12. 'Timer ist aus
    13. End if
    14. End While
    15. End Sub
    16. End Class

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Neoner“ ()

    Ändere Deine Philosophie.
    Ein Button startet den Timer und disabled sich.
    Pack den Inhalt des Tests in den Timer, zähle einen Counter hoch (0 ... 60) und wenn Du fertig bist, stoppe den Timer und enable den Button wieder.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!