Tijd

Status
Niet open voor verdere reacties.

ninjaplayer

Gebruiker
Lid geworden
15 apr 2007
Berichten
603
Hoe kan ik een tijd maken? 00:00 min:sec, en met een timer telkens een seconde erbij optellen.
 
Heel eenvoudig.

Plaats een textbox, (Text1)

Plaats dan een timer, zet hem op "Interval: 5"

En plaats deze code IN de timer:

text1.text = time
 
Sorry, wat info vergeten. Ik wil niet de tijd maar gewoon een teller. En ik werk in VB .NET.
 
Sorry ik werk niet met .net
Dan maar wachten tot iemand anders antwoord geeft ^^
 
in de timer:
Code:
label1.caption = label1.caption + 1

 if label1.caption = 60 then
   label1.caption = 00
   label2.caption = label2.caption + 1
end if
en dan een label1 voor secondes, een label2 voor minuten, en een label3 met " : "
 
Hier heb je uitgewerkt voorbeeld van vegras:

Code:
Public Class Form1

    Private WithEvents klok As New Timer

    Public Sub New()
        InitializeComponent()
        With klok
            .Interval = 1000
            .Enabled = True
        End With
    End Sub

    Private Sub voegSecondeToe(ByVal sender As Object, ByVal e As System.EventArgs) _
    Handles klok.Tick
        Label1.Text = (CInt(Label1.Text) + 1).ToString

        If CInt(Label1.Text) >= 60 Then
            Label1.Text = "0"
            Label2.Text = (CInt(Label2.Text) + 1).ToString
        End If
    End Sub

End Class
 
Zoiets had ik ook al in gedachte maar als de secondes kleiner zijn dan 10, is er geen 0 voor het cijfer. Hoe doe ik dat?
 
zoiets lijkt me....
Code:
if len(label1.caption) < 2 then
   label1.caption = "0" & label1.caption
end if
 
kan je doen, maar denk dat de method .padleft handiger is.
Dan krijg je iets in de aard van
Label1.Text = (CInt(Label1.Text) + 1).ToString.padleft(2,"0")
Waarmee je zecht dat die een veelvoud van 2 lang word, met als padding char "0". kan wel zijn dat syntax net iets anders is :)
 
tsja, dat kan ook!

Wat natuurlijk ook makkelijker is (en kan), is ook GEEN if heeft, maar een format:
Code:
label1.text= format((cint(label1.text) + 1), "##")
weet ook niet hoe het zit met de format() functie in .NET, maar in vb6 werkt dit wel zo.
:thumb:
 
Laatst bewerkt:
Dat werkt niet. Kan ik een Date maken waar een timer steeds een sec bij optelt?
 
Je kan met een date werken, maar is dat wel nodig in dit geval?

Dit werkt perfect (met .padleft)

Code:
Option Strict On : Option Explicit On

Public Class Form1

    Private WithEvents klok As New Timer

    Public Sub New()
        InitializeComponent()
        With klok
            .Interval = 100
            .Enabled = True
        End With
    End Sub

    Private Sub voegSecondeToe(ByVal sender As Object, ByVal e As System.EventArgs) _
    Handles klok.Tick
        Label1.Text = (CInt(Label1.Text) + 1).ToString.PadLeft(2, CChar("0"))

        If CInt(Label1.Text) >= 60 Then
            Label1.Text = "0"
            Label2.Text = (CInt(Label2.Text) + 1).ToString.PadLeft(2, CChar("0"))
        End If
    End Sub

End Class
 
Als je vb2008 heb is dit een makkelijke manier:

je voegt 3 labels toe.
zet op je eerste label: 00
zet op je tweede label: :
zet op je derde label: 00
doe dan dit:

zet dan op je 1e klok die de seconden regelt:

Code:
interval= 1000       '(1 sec)

zet dan op je 2e klok die de minuten regelt:
Code:
interval= 60000 '(60 sec) 1min

Zet dit op je eerste timer:

Code:
label3.text = cint(label3.text) + 1

en dit op je 2e
Code:
label1.text = cint(label1.text) + 1

dan doet hij het zo:

'timer2 'niks 'timer1
0 : 1
0 : 2
enz.

en dit op de button als de klokjes moeten starten:

timer1.enabled = true
timer2.enabled = true
 
Laatst bewerkt:
Zet tekst om naar een integer. Zou je normaalgezien altijd moeten doen.

je kan best deze code helemaal boevnaan je project zetten, dan worden plaatsen waar je niet geconvert hebt aangeduid.
Option Strict On : Option Explicit On
 
Ik heb dit gebruikt voor het probleem met 00:01
Code:
If intSecondes.ToString.Length = 1 Then
lblSecondes.Text = "0" & intSecondes.ToString
Else
lblSecondes.Text = intSecondes
End If
 
Ik ben een LabelClock class aant make, ik post hem strax wel als hij klaar is :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan