Countdown opslaan

Status
Niet open voor verdere reacties.

hanonymouss

Gebruiker
Lid geworden
7 sep 2011
Berichten
283
Hallo allemaal

Ik probeer de countdown op te slaan met behulp van de settings maar het lukt niet

[CPP] Dim alarmTime As Date

Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick



If alarmTime < Date.Now Then
Timer1.Stop()
MessageBox.Show("Time's up.")
Else
Dim remainingTime As TimeSpan = alarmTime.Subtract(Date.Now)

lbltime.Text = String.Format("{0:d2}:{1:d2}:{2:d2}",
remainingTime.Hours,
remainingTime.Minutes,
remainingTime.Seconds)

If lbltime.Text = String.Format("{0:d2}:{1:d2}:{2:d2}",
remainingTime.Hours,
remainingTime.Minutes,
remainingTime.Seconds) Then
My.Settings.test = lbltime.Text
My.Settings.Save()
End If
End If

End Sub

Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
alarmTime = Date.Now.AddMinutes(10)

If My.Settings.test = lbltime.Text Then
lbltime.Text = My.Settings.test
End If

End Sub[/CPP]

Maar de teller begint gewoon terug op 10

Iemand een idee ?:thumb:
 
Ik weet niet wat de beginwaarde van 'lbltime.Text' is, maar ik zou even naar dit stukje code kijken:
Code:
        If My.Settings.test = lbltime.Text Then
            lbltime.Text = My.Settings.test
        End If

Eventueel ook met een breakpoint kijken of het wel goed wordt uitgevoerd...

Succes!
 
Ik snap ook niet precies wat je hier aan 't doen bent:

Als x = y dan y = x?

[CPP] If My.Settings.test = lbltime.Text Then
lbltime.Text = My.Settings.test
End If[/CPP]
 
Sorry mensen :o

Het probleem heb ik gevonden dankzij (GOOGLE)
en heb nadien mijn eigen touch aan gegeven.

[CPP] Private Sub Form1_FormClosing(sender As Object, e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing

If stpw.IsRunning Then

My.Settings.s = DateTime.Now.AddMilliseconds((CountDownFrom - stpw.Elapsed).TotalMilliseconds)
Else

My.Settings.s = DateTime.MinValue
End If



End Sub

Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load

CountDownFrom = New TimeSpan(24, 0, 0)

displayTimeLeft(CountDownFrom)

stpw.Reset()
stpw.Start()
Timer2.Start()

end sub

Private Sub Timer2_Tick(sender As System.Object, e As System.EventArgs) Handles Timer2.Tick
If stpw.Elapsed >= CountDownFrom Then

lbltime.Text = "Tijd is over!"

Else

displayTimeLeft(CountDownFrom - stpw.Elapsed)
End If
End Sub

Private Sub displayTimeLeft(ByVal ts As TimeSpan)

lbltime.Text = String.Format("{0}:{1}:{2}", _
ts.Hours.ToString.PadLeft(2, "0"c), _
ts.Minutes.ToString.PadLeft(2, "0"c), _
ts.Seconds.ToString.PadLeft(2, "0"c))
End Sub

Private Sub Form1_Shown(sender As Object, e As System.EventArgs) Handles Me.Shown
If My.Settings.s <> DateTime.MinValue Then
If My.Settings.s > DateTime.Now Then
CountDownFrom = My.Settings.s - DateTime.Now
Timer2.Start()
stpw.Start()
End If
End If

End Sub[/CPP]

Als jullie nog opmerkingen hebben op deze code wil ik het graag horen.
Deze code werkt prima alleen als ik het programma op een onveilog manier afsluit bijvoorbeeld de knop afsluiten forceren begint de teller terug op 24 uur
hoe kan ik dit voorkomen. voor de rest doe het
 
Laatst bewerkt:
Misschien bij het opstarten de setting naar 0 zetten en bij het 'veilig' afsluiten de setting naar de goede waarde terug zetten?

Het probleem is dan wel dat als iemand dan toch 'onveilig' afsluit, dat bij diegene de setting dan op 0 uur staat.....


MartinJM
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan