PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Countdown mit VB 2008



Darthcrawl
16-05-2008, 18:02
Ich würde gerne einen Countdown einrichten der nach Ablauf einen Befehl ausführt der alle Programme beendet und den Rechner runterfährt.

Ich habe 4 Radiobuttons, 1 Textfeld und einen Button. Erstmal habe ich mir Radiobuttons angekuckt.

Hier habe ich es so gemacht das beim klicken der Konstantewert im Texfeld angezeigt wird.
Jetzt soll normal von diesem Wert runtergezählt werden.



Private Sub Ok_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Ok.Click
Const dreißig As Integer = 30
Const sechzig As Integer = 60
Const neunzig As Integer = 90
Const hundertzwanzig As Integer = 120

If dreißigbutton.Checked Then
Dim anzeige1 = Str(dreißig)
TextBoxTimer.Text = dreißig
ElseIf sechzigbutton.Checked Then
Dim anzeige2 = Str(sechzig)
TextBoxTimer.Text = anzeige2
ElseIf neunzigbutton.Checked Then
Dim anzeige3 = Str(neunzig)
TextBoxTimer.Text = anzeige3
ElseIf hundertzwanzigbutton.Checked Then
Dim anzeige3 = Str(hundertzwanzig)
TextBoxTimer.Text = anzeige3
End If
End Sub


Kann mir jemand jetzt ein paar Tipps geben? Ich weiß das ich jetzt den Datentyp Date brauche, aber beim umwandeln bekomm ich die Meldung das der Intergerwert 30 nicht in Date umgewandelt werden kann

Berufspenner
16-05-2008, 18:49
Soll das der vollständige Code sein oder ist das nur ein unfertiges Fragment? Ich kenn mich mit VB ja mal so gar nicht aus, aber irgendwie fehlt mir da der eigentliche Countdown bei. Also die Erzeugung eines Zeitwertes und deren sekündliche verminderung bis zum Ende ;)

Darthcrawl
16-05-2008, 20:11
Ja nee :)

das war ja erstmal eine Spielerei mit den Konstanten, Radiobuttons und dem Textfeld.
Das mit dem Countdown fehlt.
Ich hab halt nach dem Code erstmal versucht die Ausgabe im Textfeld in Minuten anzugeben. Da hab ich momentan Probleme. Der nächste Schritt wäre der Timer, wobei ich für den Timer sehr sehr viele unterschiedliche Codes im Netz gefunden habe.

Berufspenner
16-05-2008, 21:08
Achso, weil du gemeint hast, dass du Probleme bei der Verarbeitung deiner Int-Werte in äquivalente Zeit-Typen hast. Es wäre also sinnvoller, wenn du dazu deinen Code mal postest bzw. bei dem bereits gezeigten Code das Problem hervorhebst ;)

Darthcrawl
16-05-2008, 21:58
Ich hab mal folgendes probiert



Private Sub Ok_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Ok.Click
Const dreißig As Integer = 30 <----- hab ich mal in Dim dreißig As date = 30 geändert, aber Integerwerte können wohl nicht als Date deklariert werden. Hab das dann rückgängig gemacht.
Const sechzig As Integer = 60
Const neunzig As Integer = 90
Const hundertzwanzig As Integer = 120

If dreißigbutton.Checked Then
Dim anzeige1 = Str(dreißig) <-------- als zweites habe ich das in Dim anzeige1 = minute(dreißig) geändert, ging auch nicht
TextBoxTimer.Text = dreißig
ElseIf sechzigbutton.Checked Then
Dim anzeige2 = Str(sechzig)
TextBoxTimer.Text = anzeige2
ElseIf neunzigbutton.Checked Then
Dim anzeige3 = Str(neunzig)
TextBoxTimer.Text = anzeige3
ElseIf hundertzwanzigbutton.Checked Then
Dim anzeige3 = Str(hundertzwanzig)
TextBoxTimer.Text = anzeige3
End If
End Sub