Avatar billede rylle Nybegynder
25. juni 2000 - 18:09 Der er 5 kommentarer og
1 løsning

Stop ur

Er der en som har et godt stop ur
der kan tælle ned feks. 1:30:00 til
00:00:00
Avatar billede buhl Nybegynder
25. juni 2000 - 18:30 #1
Prøv følgende på en form hvor du samtidig har tilføjet en timer med navnet timer1:

Dim dStop As Date

Private Sub Form_Load()
    Timer1.Enabled = True
    Timer1.Interval = 500
    dStop = Now + TimeValue("00:01:00")
End Sub

Private Sub Timer1_Timer()
    If (dStop - Now) < 0 Then
        Timer1.Enabled = False
        MsgBox "Stop!"
    Else
        MsgBox DateDiff("s", Now, dStop)
    End If
End Sub

Stopuret/nedtælligen er her sat til 1 minut.
Du skriver ikke noget om nøjagtigheden af stop-uret, men ovenstående ville jeg *ikke* benytte til tidskritiske rutiner. Her er timeren alt for upræcis.
Avatar billede rylle Nybegynder
25. juni 2000 - 23:49 #2
....øhh
Tak for svaret buhl det virker men det jeg skal bruge er et ur der kan vise en rest tid hele tiden på skærmen i format
"hh:mm:ss" jeg håber du kan hjælpe,nøjagtigheden skal være 1 sek.
Avatar billede buhl Nybegynder
26. juni 2000 - 13:23 #3
Vi prøver igen. Denne gang tilføjer du en textbox udover en timer.

Dim dStop As Date

Private Sub Form_Load()
    Timer1.Enabled = True
    Timer1.Interval = 500
    dStop = Now + TimeValue("00:01:00")
End Sub

Private Sub Timer1_Timer()
    Dim dDiff As Date
    dDiff = (dStop - Now)
    If dDiff < 0 Then
        Timer1.Enabled = False
        MsgBox "Stop!"
    Else
        Text1.Text = Format(DatePart ("h", dStop - Now), "00") & ":" & Format(DatePart("n", dStop - Now), "00") & ":" & Format(DatePart("s", dStop - Now), "00")
    End If
End Sub

Med hensyn til nøjagtigheden så burde ovenstående kunne opfylde +/- 1 sekund i opdateringen.

Avatar billede jper Nybegynder
27. juni 2000 - 16:50 #4
Placer en timer og en label på din form med navnene timer1 og label1, sæt timerens interval til 1000 (1 sec.) og sæt denne kode ind så tæller den ned fra 1.30.00

'Module level variabler
Dim tid As Variant
Dim interval As Variant

Private Sub Form_Load()

    tid = TimeSerial(1, 30, 0)
    interval = TimeSerial(0, 0, -1)
End Sub

Private Sub Timer1_Timer()
If tid <> "00:00:00" Then
    tid = tid + interval
      Label1.Caption = tid
Else
Timer1.Enabled = False
End If
End Sub
Avatar billede rylle Nybegynder
27. juni 2000 - 16:52 #5
Hej buhl det er lige sådan en jeg har brug for , men kan man ikke lave "00:01:00" om til en variabel
Avatar billede buhl Nybegynder
29. juni 2000 - 11:44 #6
Jo sagtens. Placer en

Dim sStart as string

i toppen af programmet.

Udskift Form_load med

Private Sub Form_Load()
    Timer1.Enabled = True
    Timer1.Interval = 500
    sStart="00:01:00"
    dStop = Now + TimeValue(sStart)
End Sub



Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester