Schleife gibt erst am Schluss aus

  • VB.NET

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von jvbsl.

    Schleife gibt erst am Schluss aus

    Hallo

    Ich habe ein Programm entwickelt. In diesem Programm gibt es eine Schleife, mit der eine Menge Befehle abgearbeitet werden. Diese Schleife wiederholt sich einige tausend male. Damit nun den Benutzer des Programms einen groben Überblick hat, wie lange er noch zu warten hat, wollte ich, dass mir das Programm angibt, wie viele Prozent es schon bewältigt hat.

    Der Programmcode würde in etwa so aussehen:

    VB.NET-Quellcode

    1. For i = 1 To 10000
    2. Label1.Text = i / 100
    3. 'Programmcode
    4. 'Programmcode
    5. 'Programmcode
    6. Next i


    Das Problem ist, dass das Programm die Schleife durchläuft, der Label1.Text bleibt unverändert. Und sobald die Schleife fertig ist wird 100% angezeigt.

    Wie bekomme ich es hin, dass die Prozentzahl dauernd erneuert wird?
    auch das würde ich nicht machen, das ist beides Verpönt :P
    Zumindest wenn man Benutzereingaben erwartet...
    also lieber mit dem BackgroundWorker arbeiten und im ReportProgress den Text des Labels und sonstigem setzen...
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---

    jvbsl schrieb:

    auch das würde ich nicht machen, das ist beides Verpönt

    Musst Du ja auch nicht, allerdings ist es für Anfänger und für Testprogramme bestimmt einfacher DoEvents zu verwenden als einen Backgroundworker aufzusetzen.

    Gelegentlich sollte man seinen Perfektionsdrang auch mal etwas im Zaum halten können und die Antworten auf den Empfänger ausrichten.
    ok :P

    ich will halt eigentlich Erreichen, dass wenn man(auch ein Anfänger) es macht, dass dieser es auch gleich richtig macht, dann hatt er später keine Probleme sich umzugewöhnen...
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---

    jvbsl schrieb:

    ich will halt eigentlich Erreichen, dass wenn man(auch ein Anfänger) es macht, dass dieser es auch gleich richtig macht, dann hatt er später keine Probleme sich umzugewöhnen...

    Was ist "richtig" und was ist "verpönt" ? Für mich ist eher wichtig was für den jeweiligen Einsatzzweck gerade sinnvoll ist, und das ist hier bestimmt nicht der BGW.

    Das ist genauso als wollte ich dem Nachbarjungen empfehlen sich ein Scharfschützengewehr zu kaufen um auf Elstern zu ballern, obwohl es eine Zwille genauso tut. Achja, sowohl das eine wie auch das andere ist verpönt ! ;)
    Damit kann ich mich leider immernoch nicht anfreunden (so bin ich halt) :P
    Ich meine, dass hier der BGW oder allgemein Multithreading angebracht ist, natürlich ist bei den heutigen Computern eine solche Schleife schnell durchlaufen, aber wer weiß, was er in dieser Schleife noch macht/machen will? Und einen Abbruch will wohl jeder haben, oder nicht?


    Das ist genauso als wollte ich dem Nachbarjungen empfehlen sich ein Scharfschützengewehr zu kaufen um auf Elstern zu ballern, obwohl es eine Zwille genauso tut. Achja, sowohl das eine wie auch das andere ist verpönt ! ;)


    Bei Waffen kenne ich mich Überhaupt nicht aus


    aber lassen wir das ganze jetzt einfach so stehen? Jeder sieht es anders ;)
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---