코드 작성자 강필구. 코드 작성일 09년 04월 26일 오후 7시 38분
소스 코드:
'사용한 폰트: digital-7
'폰트 출처: http://www.styleseven.com
Dim ss As Integer '10분의1초를 저장하는 변수
Dim s As Integer '초를 저장하는 변수
Dim m As Integer '분을 저장하는 변수
Dim h As Integer '시간을 저장하는 변수
'RESET 버튼을 눌렀을 때 모두 0으로 만드는 부분
Private Sub Command3_Click()
Label1(0).Caption = "00 hour" '시간 초기화
Label1(1).Caption = "00 minute" '분 초기화
Label1(2).Caption = "00 second" '초 초기화
Label1(3).Caption = "00" '10분의1초 초기화
Timer1.Enabled = False '리셋버튼을 누름과 동시에 타이머중지
ss = 0 '10분의1초를 저장하는 변수 초기화
s = 0 '초를 저장하는 변수 초기화
m = 0 '분을 저장하는 변수 초기화
h = 0 '시를 저장하는 변수 초기화
End Sub
'CLOSE 버튼을 눌렀을 때 프로그램 닫는 부분
Private Sub Command4_Click()
End '단어 그대로의 끝이라는 뜻이다.
End Sub
'START 누르면 타이머 시작
Private Sub Command1_Click()
Timer1.Enabled = True '타이머작동
End Sub
'일시정지를 누르면 타이머가 작동을 일시정지한다
Private Sub Command2_Click()
Timer1.Enabled = False '타이머중지
End Sub
'10분의1초 ss가 10을 넘으면 0으로 만들고 초를 1로 만들고
'초 s가 60을 넘으면 0으로 만들고 분 m을 1로 만들고
'분 m이 60을 넘으면 시간 h를 1로 만드는 부분
Private Sub Timer1_Timer()
ss = ss + 1
'10분의1초 ss가 10을 넘으면 0을 만들고 초를 1로 만드는 부분
If ss >= 60 Then
ss = 0 '10분의1초 ss 초기화
s = s + 1 '초 s를 1로 만드는 부분
End If
'초 s가 60을 넘으면 0으로 만들고 분 m을 1로 만드는 부분
If s >= 60 Then
s = 0 '초 s를 초기화
m = m + 1 '분 m을 1로 만드는 부분
End If
'분 m이 60을 넘으면 시간 h를 1로 만드는 부분
If m >= 60 Then
m = 0 '분 m을 초기화
h = h + 1 '시간 h를 1로 만드는 부분
End If
'해당 레이블에 진행상황 출력을 위한 ShowTime 프로시져의 호출
Call ShowTime
End Sub
'타이머 작동과 동시에 레이블 캡션에 증가 값 출력 부분
'시간,분,초,10분의1초가 한자리이면 앞에 0을 붙이고
'시간,분,초,10분의1초가 두자리이면 앞에 0을 안붙이는 부분
'Timer1_Timer 프로시져에서 연동됨
Private Sub ShowTime()
'10분의1초와 관련된 부분
If Len(CStr(ss)) = 1 Then
Label1(3).Caption = 0 & ss '10분의1초가 한자리수 이면 앞에 0붙이는 부분
ElseIf Len(CStr(ss)) = 2 Then
Label1(3).Caption = ss '10분의1초가 두자리수 이면 앞에 0안붙이는 부분
End If
'초와 관련된 부분
If Len(CStr(s)) = 1 Then
Label1(2).Caption = 0 & s & " second" '초가 한자리수 이면 앞에 0붙임
ElseIf Len(CStr(ss)) = 2 Then
Label1(2).Caption = s & " second" '초가 두자리수 이면 앞에 0안붙임
End If
'분과 관련된 부분
If Len(CStr(m)) = 1 Then
Label1(1).Caption = 0 & m & " minute" '분이 한자리수 이면 앞에 0붙임
ElseIf Len(CStr(m)) = 2 Then
Label1(1).Caption = m & " minute" '분이 두자리수 이면 앞에 0안붙임
End If
'시간과 관련된 부분
If Len(CStr(h)) = 1 Then
Label1(0).Caption = 0 & h & " hour" '시간이 한자리수 이면 앞에 0붙임
ElseIf Len(CStr(h)) = 2 Then
Label1(0).Caption = ss & " hour" '시간이 두자리수 이면 앞에 0안붙임
End If
End Sub