Hi,
ich schreib immernoch an meiner Wettkampftafel rum. Vieles habe ich schon hinbekommen. Nun kommt nur ncoh der CountDown.
Grundlage:
Der Countdown soll von wahlweise 1:30, 2:00, 3:00 oder 4:00 Minuten nach unten zählen. Wenn der Schiedsrichter den Kampf unterbricht, muss die Uhr angehalten werden. Wenn der Schiedsrichter den Kampf wieder freigibt, dann soll die Uhr weiterlaufen - also z.B. bei einer Restkampfzeit von 1:21 hab ich unterbrochen, dann Kampfreigabe - und die Uhr soll bei 1:21 wieder weiter nach unten zählen ( Bin schon halb besoffen vom Programmieren - hoffe, ihr könnt mir folgen...)
Der Typ, der den Countdown bedient, soll NUR (!!) die Leertaste bedienen. Leertaste hat also mehrere Funktionen, siehe weiter unten.
Start, Stop und Pause hab ich im Countdown per Leertaste mehr oder minder schön hinbekommen,
Folgendes Problem mit dem Runterzählen der Kampftzeit hab ich aber noch:
Wenn ich also mittendrin unterbreche, zeigt mir der Countdown prötzlich die VOLLe Kampfzeit (also z.B. 1:30) an. Wenn ich dann wieder auf die Leertaste hämmer, dann zählt er merkwürdigerweise am richtigen Standort weiter nach unten.
Hier der Code.
Die variablen "sek" und "min" sind jeweils Public als Integer definiert:
Ich hoffe, ich hab alles richtig erläutert. So soll es sein:
- Kampfstart (z.B. 1:30 Minuten Kampfzeit) -> durch Drücken der Leertaste
- Kampfunterbrechung (z.B. bei 1:21 Minuten Restzeit) -> durch Drücken der Leertaste
- Kampffortsetzung (ab 1:21 Minuten) -> durch drücken der Leertaste
ich schreib immernoch an meiner Wettkampftafel rum. Vieles habe ich schon hinbekommen. Nun kommt nur ncoh der CountDown.
Grundlage:
Der Countdown soll von wahlweise 1:30, 2:00, 3:00 oder 4:00 Minuten nach unten zählen. Wenn der Schiedsrichter den Kampf unterbricht, muss die Uhr angehalten werden. Wenn der Schiedsrichter den Kampf wieder freigibt, dann soll die Uhr weiterlaufen - also z.B. bei einer Restkampfzeit von 1:21 hab ich unterbrochen, dann Kampfreigabe - und die Uhr soll bei 1:21 wieder weiter nach unten zählen ( Bin schon halb besoffen vom Programmieren - hoffe, ihr könnt mir folgen...)
Der Typ, der den Countdown bedient, soll NUR (!!) die Leertaste bedienen. Leertaste hat also mehrere Funktionen, siehe weiter unten.
Start, Stop und Pause hab ich im Countdown per Leertaste mehr oder minder schön hinbekommen,
Folgendes Problem mit dem Runterzählen der Kampftzeit hab ich aber noch:
Wenn ich also mittendrin unterbreche, zeigt mir der Countdown prötzlich die VOLLe Kampfzeit (also z.B. 1:30) an. Wenn ich dann wieder auf die Leertaste hämmer, dann zählt er merkwürdigerweise am richtigen Standort weiter nach unten.
Hier der Code.
Die variablen "sek" und "min" sind jeweils Public als Integer definiert:
VB.NET-Quellcode
- Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
- If sek <> 0 Then
- Label17.Text = sek
- Label15.Text = min
- End If
- Label17.Text = (Label17.Text - 1).ToString("00")
- sek = Label17.Text
- If Label17.Text = -1 Then
- Label17.Text = 59
- Label15.Text = Label15.Text - 1
- min = Label15.Text
- End If
- If Label15.Text = -1 Then
- Timer1.Stop()
- Label15.Text = 0
- Label17.Text = "00"
- My.Computer.Audio.Play("E:\WK-Tafel\HornLang.wav", AudioPlayMode.Background)
- End If
- End Sub
- Private Sub Button1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Button1.KeyDown
- If e.KeyCode = Keys.Space AndAlso z = 0 Then
- z = 1
- Timer1.Start()
- Label15.Text = min
- Label17.Text = sek
- ElseIf e.KeyCode = Keys.Space AndAlso z = 1 Then
- z = 0
- Timer1.Stop()
- Label15.Text = min
- Label17.Text = sek
- End If
- End Sub
- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
- Label15.Text = 1
- Label17.Text = 30.ToString("00")
- End Sub
Ich hoffe, ich hab alles richtig erläutert. So soll es sein:
- Kampfstart (z.B. 1:30 Minuten Kampfzeit) -> durch Drücken der Leertaste
- Kampfunterbrechung (z.B. bei 1:21 Minuten Restzeit) -> durch Drücken der Leertaste
- Kampffortsetzung (ab 1:21 Minuten) -> durch drücken der Leertaste