Visual Studio 2010 Express

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

  • Hallo Zusammen


    Erst mal ich hab noch absolut keine Ahnung von Programmierung!


    Ich brauche einen Timer der 5 mal hintereinander 60 Sekunden herunterzählt und nach jeden 60 Sekunden ein Textfenster einblendet und eine Sounddatei abspielt und sich dann beendet. Das ganze möchte ich mit einem Button starten.
    Bitte kann mir jemand mit einem Code Beispiel helfen, ich bekomme es allein nicht hin.

  • Hi,


    Programmieren klappt nicht von ganz allein. Ohne Grundlagen lassen sich auch keine kleinen Projekte umsetzten.


    Hab für dich mal kurz was zusammen gebastelt. Vielleicht hilft's dir ja weiter, aber ich rate dir trotzdem dazu dich mit den Grundlagen vertraut zu machen.


    Du brauchst ein Formular, einen Button, ein Label und natürlich einen Timer...


  • Hallo Xzeer
    Erstmal Danke, dass du dich meinem Problem angenommen hast!


    Irgendwie kommt bei mir gleich die Meldung "Fertig", wenn ich auf den Button klicke.
    Es sollten aber zwischen der MsgBox1 und der MsgBox2 usw. immer wieder 60 Sekunden vergehen, bevor sie eingeblendet werden.


    Hier nochmal der Code:


    Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    'Timer einschalten
    Timer1.Enabled = True
    End Sub


    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    Dim sekunden = 60
    Dim wiederholungen = 5


    If wiederholungen > 0 Then


    'Herunterzählen
    sekunden = sekunden - 1


    If sekunden < 0 Then


    ' Sekunden zurücksetzten
    sekunden = 60


    ' Wiederholungen herunterzählen
    wiederholungen = wiederholungen - 1


    ' Nachricht anzeigen
    MessageBox.Show("Tadaaa")



    ' Sekunden anzeigen
    Label1.Text = sekunden.ToString()


    Else


    ' Timer ausschalten
    Timer1.Enabled = False


    ' Nachricht anzeigen
    Label1.Text = "Fertig"
    End If
    End If
    End Sub
    End Class

  • Hi,


    dann hast du wahrscheinlich einen Fehler im Code...


    Deinen Code kann man nicht wirklich gut lesen. Benutz doch die Codetags, dann kann man man dir auch besser helfen. Außerdem scheint dein Code auch unvollständig zu sein. Es sieht auf den ersten Blick so aus, als ob diverse Klammern fehlen...

  • Hab dein Probem gefunden:


    In der Methode Timer_Tick ist dir ein logischer fehler unterlaufen:


    Code
    If sekunden < 0 Then
        ...
    Else
        Hier darfst du natürlich nicht den Timer stoppen.
        Hier werden die Sekunden angezeigt
    EndIf


    Der Timer wird im Else-Block der "If wiederholungen > 0 Then"-Abfrage gestoppt. Erst dann ist das Programm fertig...


    Zum Verständnis der richtige Code:


  • Xzeer du bist einfach ..Klasse.. Danke!
    funktioniert super!!!


    Eine Frage habe ich noch an Dich?
    Wie kann ich statt der 5 MsgBoxen nach jeden 60 Sekunden eine TextBox1, TextBox2, TextBox3, usw. anzeigen lassen.

  • Das verstehe ich nicht ganz...


    Wie willst du eine TextBox anzeigen?


    Meinst du, dass nach jeden 60 Sekunden eine neue TextBox auf dem Formular erstellt wird oder einfach nur immer ein anderer Text in der MessageBox steht?

  • Ja genau ich meinte, dass nach jeden 60 Sekunden eine TextBox auf dem Formular erstellt wird um einen Zahlenwert einzugeben.

    Z.Beisp. Nach 60 Sekunden TextBox1 Visible = True,
    Nach 120 Sekunden TextBox2 Visible = True,
    Nach 180 Sekunden TextBox3 Visible = True, usw. bis alle 5 TextBoxen auf der
    Form angezeigt werden und man 5 mal einen Zahlenwert eingeben kann.

  • Naja die richtige Idee hast du ja...


    Da die TextBoxen ja nicht dynamisch erzeugt werden müssen, kannst du ja einfach am Anfang schon mal 5 TextBoxen einbauen und deren Eigenschaft "visible" auf false setzten.


    Jetzt musst du nur noch an der richtigen Stelle abfragen wann die nächste Box sichtbar gemacht werden muss.


    Kleiner Denkanstoß: Werte die Variable "wiederholungen" an der richtigen Stelle aus um die nächste TextBox sichtbar zu machen...


    Wenn du nicht weiterkommst, kannst du dich ja nochmal melden...:D