vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
For To Schleife mit Pause 
Autor: WaltherW
Datum: 20.08.08 15:19

Ich möchte eine For To Schleife ablaufen lassen,
bei der nach jedem Durchlauf eine Pause gemacht wird.
Dabei möchte ich nicht Thread.Sleep verwenden da das Programm
ansprechbar bleiben muss. Ich dachte an einen Timer....
Ungefähr so..

For i=0 to 20
'Anweisung
'Pause
Next
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: For To Schleife mit Pause 
Autor: dfense
Datum: 20.08.08 15:39

...dann lager doch deine anweisung in einen thread aus und lass den schlafen

vg.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: For To Schleife mit Pause 
Autor: Maas
Datum: 20.08.08 16:39

Du kannst auch folgendes verwenden.
Dim time As Date = Now
Do Until Now = DateAdd("s", 5, time)
    Application.DoEvents()
Loop
Pause für 5 Sekunden und das Programm bleibt ansprechbar.

Maas
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: For To Schleife mit Pause 
Autor: dfense
Datum: 20.08.08 18:42

technisch sicherlich realisierbar, aber wir wollen doch nicht durchs knie ins auge schiessen ..

machs lieber mit nem thread, das ist professioneller

vg.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: For To Schleife mit Pause 
Autor: WaltherW
Datum: 20.08.08 18:55

Ich hab natürlich die Methode von Maas versucht um dann festzustellen das in der Zeit von Do bis Loop das Programm jeden Tastendruck ignoriert. Das nütz mir also nix. Schade.
Wie würde das denn mit dem thread ausschauen(Code)??? Hab damit noch nicht gearbeitet.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: For To Schleife mit Pause 
Autor: keco
Datum: 20.08.08 19:01

Kommt auf die Anwendung drauf an. Multithreadinganwendungen sind mit steigender Größe unübersichtlich und viel anfälliger für Fehler. Und wenn mit dem Ergebnis weiter gearbeitet werden soll, müssen ebenfalls noch paar Codezeilen implementiert werden.

Ich denke die Möglichkeit von Maas ist recht sinnvoll.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: For To Schleife mit Pause 
Autor: WaltherW
Datum: 20.08.08 19:16

Wie schon gesagt mir gefällt die Möglichkeit von Maas auch, doch das Programm muss auf einen Tastendruck reagieren können und das kann es durch das do - Loop nicht.
Hat noch jemand eine Idee?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: For To Schleife mit Pause 
Autor: keco
Datum: 20.08.08 19:18

Du kannst durch den Tastendruck eine Boolean auf True setzen und in der Do Loop diese Variable abfragen, wenn True, dann Schleife verlassen. Sollte funktionieren.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: For To Schleife mit Pause 
Autor: dfense
Datum: 20.08.08 19:55

Hey, jetzt mal Stop! Wir sind doch hier net in einer technischen Quizshow, sondern in einem Programmierforum

@Walther, so wirds gemacht:
Public Class Form1
 
    Private mythread As New Threading.Thread(AddressOf MeineBerechnungen)
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles Button1.Click
        mythread.Start()
    End Sub
 
    Private Sub MeineBerechnungen()
        For i As Integer = 0 To 20
            'Hier wird berechnet
            'trallala.....
 
            '...und jetzt wird geschnarcht
            Threading.Thread.Sleep(5000) 'Oder wielang auch immer...
        Next
    End Sub
 
End Class
Zitat:

Multithreadinganwendungen sind mit steigender Größe unübersichtlich und viel anfälliger für Fehler.

Das halte ich für ein Gerücht
Zitat:

Und wenn mit dem Ergebnis weiter gearbeitet werden soll, müssen ebenfalls noch paar Codezeilen implementiert werden.

Muss man sowieso. Und wir leben doch net mehr in den 70ern, wo es auf 5Kb ankommt.

Noch Fragen?

VG.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: For To Schleife mit Pause 
Autor: keco
Datum: 20.08.08 20:06

Technische Quizshow? Der BGW arbeitet mit seiner Abbruchmethode nicht sehr viel anders, wie ich das sehe, oder doch?

Was genau hälst du denn für ein Gerücht? Die darunter leidende Übersichtlichkeit/Verständniss des Programmablaufes oder die höhere Anfälligkeit für Fehler? Es ist eine Tatsache, dass das Programm schwerer zu verstehen ist, je mehr Threads gestartet und zum gleichen Zeitpunkt ausgeführt werden.

In Bezugnahme zu den zusätzlichen Codezeilen: Klar muss man Codezeilen schreiben. Aber warum sollte ich, im schlimmsten Falle noch als Anfänger, mit dem Thema Threads anfangen, was ein relativ komplexes Thema ist und für einen Anfänger wohl nicht sofort verständlich ist. Immerhin bringt es nichts den Code einfach nur stur zu übernehmen und im nachhinein nichts zu verstehen. Damit ist niemandem geholfen.

Ansonsten denke ich, dass die Verwendung von Threads für eine so einfache Operation nicht von Nöten ist. Aber wenn es für den Fragenden einfacher ist und verständlich, warum nicht; ist ja immerhin nur meine Meinung

Beitrag wurde zuletzt am 20.08.08 um 20:08:44 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: For To Schleife mit Pause 
Autor: dfense
Datum: 20.08.08 20:21

Naja. Das das Programm schwerer zu verstehen ist, nur weil Code von Threads ausgeführt wird, mag ich zu bezweifeln. Aber ich weis schon was du damit sagen willst
Aber höhere Anfälligkeit für doch nun wirklich nicht...

Threads (können) schon recht komplex wirken, aber ich denke mir mal man sollte es gleich richtig lernen oder gar nicht. So schlimm isses nun auch wieder nicht. Und Threads kann man für jeden Zweck benutzen, auch wenn er noch so klein ist
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: For To Schleife mit Pause 
Autor: ModeratorRalf Ehlert (Moderator)
Datum: 20.08.08 20:29

>> auch wenn er noch so klein ist

Naja, eine gewisse Größe soll der Code schon haben, der innerhalb des Threads ausgeführt wird, sonst kostet (im Sinne von Zeit) das Erzeugen des Threads mehr als der Nutzen

Bei kleinen Sachen oder wenn man keine Kontrolle über den Thread braucht, bietet sich der ThreadPool an.

Ralf

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: For To Schleife mit Pause 
Autor: WaltherW
Datum: 20.08.08 20:57

Ich hab das ganze jetzt mal mit den Thread versucht, doch auch hier ist das Problem das mein Programm auf keinen Tastendruck reagiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: For To Schleife mit Pause 
Autor: keco
Datum: 20.08.08 21:01

Wenn du das unbedingt in einem eigenen Thread ausführen lassen willst und noch Anfänger in dem Bereich bist, empfehle ich den BackgroundWorker. Da findest du einiges hier im Forum.

Auch wenn mir dfense gleich wieder auf die Finger hauen möchte
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: For To Schleife mit Pause 
Autor: WaltherW
Datum: 20.08.08 21:08

Also, ich fande das mit dem thread nicht so schwer, aber in meinem Fall triff wohl auch eher der Hinweis von Ralf Ehlert hin. ("..sonst kostet (im Sinne von Zeit) das Erzeugen des Threads mehr als der Nutzen")

Das Problem wenn man in eine For To Schleife nutzt, ist das leider auf keinen Tastendruck mehr Rücksicht genommen wird solang man sich n der Schleife befindet. Mit einem Ticker funktioniert das ganze wunderbar.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: For To Schleife mit Pause 
Autor: Maas
Datum: 20.08.08 21:16

Ich verstehe noch nicht so ganz, wann genau der Hauptthread nicht auf den Tastendruck reagiert.
In der For-Schleife, aber außerhalb der Do-Schleife? Dann ist es kein Wunder, da keine Events verarbeitet werden.
Oder in der Do-Schleife? Ich gehe davon aus, dass ein Tastendruck genauso, wie ein Klick auch ein Event auslöst, also durch DoEvents verarbeitet wird. Dann würde etwas nicht stimmen oder ich habe es falsch verstanden.

Maas
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: For To Schleife mit Pause 
Autor: dfense
Datum: 20.08.08 22:01

Wenn trotz des Threads keine Tasten funktionieren, dann stimmt da etwas nicht...

@Ralf: yep, geb dir recht
@keco: nein will ich nicht. hast absolut recht
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel