Permalänk
Medlem

[VB.NET] Count up Timer

Hade tänkt mig att göra en enkel klocka som börjar att räkna tiden från de att programmet startas, koden medan lade jag i en timer med intervallet 1000 då det blir en sekund.

Resultatet blir bara att den skriver ut 0:0:0:1 sen blir den fast hur skulle jag kunna få denna att ticka vidare och öka variablen "s" med s = s + 1 varje sekund?

Dim d, h, m, s As Integer d = 0 h = 0 m = 0 s = 0 s = s + 1 If s = 60 Then m = m + 1 s = 0 If m = 60 Then h = h + 1 m = 0 If h = 24 Then d = d + 1 End If End If End If lbltime.Text = d & ":" & h & ":" & m & ":" & s

Permalänk
Medlem

Deklarerar du variablerna (d, h, m, s) inuti någon funktion, globalt eller i tick-eventet för timern?

Permalänk
Hedersmedlem

Testa att använda "static" istället för "dim".

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av SnaJt
Deklarerar du variablerna (d, h, m, s) inuti någon funktion, globalt eller i tick-eventet för timern?

Nej, det ser ut så här:

Private Sub TimerTime_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TimerTime.Tick Dim d, h, m, s As Integer d = 0 h = 0 m = 0 s = 0 s = s + 1 If s = 60 Then m = m + 1 s = 0 If m = 60 Then h = h + 1 m = 0 If h = 24 Then d = d + 1 End If End If End If lbltime.Text = d & ":" & h & ":" & m & ":" & s End Sub

Citat:

Ursprungligen inskrivet av Elgot
Testa att använda "static" istället för "dim".

Testade men det hjälpte inte, i vb6 gick det att göra så här, jag måste få den att plussa variablen "s" med 1 varje sekund?

Permalänk
Hedersmedlem

Skrev du

Static d As Integer = 0 Static h As Integer = 0 Static m As Integer = 0 Static s As Integer = 0

istället för

Dim d, h, m, s As Integer d = 0 h = 0 m = 0 s = 0

?

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Elgot
Skrev du

Static d As Integer = 0 Static h As Integer = 0 Static m As Integer = 0 Static s As Integer = 0

istället för

Dim d, h, m, s As Integer d = 0 h = 0 m = 0 s = 0

?

Japp, men jag löste med att deklarera variblerna som public:

Public d, h, m, s As Integer

Tack för den snabba hjälpen än en gång Elgot!