Har kört fast här, antagligen väldigt enkelt när man kan det... Efter som Timer eventet inte är så exakt är det bättre att lagra starttiden från Now() eller Från Timer(). Hej Tack för din alternativa lösning... HejTickande tid
Jag kör långa processer och med hjälp av timern visar sekunder i en textbox. Hur är syntaxet för att formatera detta till h:m:s. Nu rullar min på 60,61,62.. inte så snyggt!
Så här har jag börjat:
Private Sub Timer1_Timer()
Text1.Text = Text1.Text + 1
/haniSv: Tickande tid
Private mStartTime as Date
Private sub cmdStart_Click()
mStartTime = Now()
Timer1.enable = True
End sub
Private sub Timer1_Timer()
Text1.Text = Format$(Now()-mStartTime, "hh:nn:ss")
End subSv: Tickande tid
Ett gamalt beprövat exempel som löser ditt prob.
Option Explicit
'Label1
'Command1
'Timer1 Enabled = False, Interval = 448
'Interval 448 därför att säkert få träff varje sekund
Dim Start As Single, Elapsed As Long
Private Sub Form_Load()
Command1.Caption = "Start"
Label1 = "0"
End Sub
Private Sub Command1_Click()
If Command1.Caption = "Start" Then
Command1.Caption = "Stop"
Timer1.Enabled = True
Start = Timer
Else
Command1.Caption = "Start"
Timer1.Enabled = False
End If
End Sub
Private Sub Timer1_Timer()
'Om midnatt passeras
If Start > Timer Then Start = Start - 86400
Elapsed = Timer - Start
Label1 = Elapsed
End Sub
mvh
SvenSv: Tickande tid
Personligen tycker jag det är lättare att använda datum. Du har ju då fördelen att den inte begränsas till ett dygn. Dessutom finns det många datumfunktioner man kan använda sig av. Sv: Tickande tid
Så intressant att du tycker så ;-)
Min lösning är inte begränsad till ett dygn
du kan låta den räkna ett helt år om du vill
Du förstår kanske inte vad den här raden gör
If Start > Timer Then Start = Start - 86400
DS