这样写功能相同,但代码更简单些:Dim looptime As Long, h As Long Private Sub Form_Load() Timer1.Enabled = True Timer1.Interval = 1000 '可改为1试试效果 looptime = 0 h = 0 End SubPrivate Sub Timer1_Timer() looptime = looptime + 1 If looptime = 3600 Then looptime = 0: h = (h + 1) Mod 24 Text1.Text = Format(TimeSerial(h, 0, looptime), "hh:mm:ss") End Sub
Private Sub Timer1_Timer() static sec as integer,min as integer,hou as integer sec = sec + 1 If sec >= 60 Then min = min + 1 sec = 0 End If If min >= 60 Then hou = hou + 1 min = 0 End If If hou >= 24 Then hou = 0 End If Text1.Text = Str$(hou) + ":" + Str$(min) + ":" + Str$(sec) End Sub
Private Sub Form_Load() Timer1.Interval = 1000 Timer1.Enabled = True End SubPrivate Sub Timer1_Timer() Static sec As Integer, min As Integer, hou As Integer sec = sec + 1 If sec >= 60 Then min = min + 1 sec = 0 End If If min >= 60 Then hou = hou + 1 min = 0 End If If hou >= 24 Then hou = 0 End If Text1.Text = Str$(hou) + ":" + Str$(min) + ":" + Str$(sec) End Sub
Private Sub Form_Load()
Timer1.Interval = 1000
End Sub
你现在在你程序的第一行加上 option explicit
然后在第二行用楼上兄台说的 Public hou, min, sec as integer
在你的form_load()里面做个显式的初始化,虽然不是必须 hou=0,min=0,sec=0
然后你再看你的程序
Dim sec As Integer, min As Integer, hou As Integer
另外:把时间控件的 Interval 属性 置为 1000
Private Sub Form_Load()
Timer1.Enabled = True
Timer1.Interval = 1000 '可改为1试试效果
looptime = 0
h = 0
End SubPrivate Sub Timer1_Timer()
looptime = looptime + 1
If looptime = 3600 Then looptime = 0: h = (h + 1) Mod 24
Text1.Text = Format(TimeSerial(h, 0, looptime), "hh:mm:ss")
End Sub
static sec as integer,min as integer,hou as integer
sec = sec + 1
If sec >= 60 Then
min = min + 1
sec = 0
End If
If min >= 60 Then
hou = hou + 1
min = 0
End If
If hou >= 24 Then
hou = 0
End If
Text1.Text = Str$(hou) + ":" + Str$(min) + ":" + Str$(sec)
End Sub
Timer1.Interval = 1000
Timer1.Enabled = True
End SubPrivate Sub Timer1_Timer()
Static sec As Integer, min As Integer, hou As Integer
sec = sec + 1
If sec >= 60 Then
min = min + 1
sec = 0
End If
If min >= 60 Then
hou = hou + 1
min = 0
End If
If hou >= 24 Then
hou = 0
End If
Text1.Text = Str$(hou) + ":" + Str$(min) + ":" + Str$(sec)
End Sub