Jump to content

Tutorial - A Simple Stropwatch!

- - - - -

This topic has been archived. This means that you cannot reply to this topic.
19 replies to this topic

#1
travy92

travy92

    Learning Programmer

  • Members
  • PipPipPip
  • 76 posts
INTRO:

In this tutorial we'll be learning how to make a simple stopwatch.

-------------------------------------------------------------------

GUI (LAYOUT):

Here is my GUI:

Posted Image

------------------------------------------------------------------

WHAT YOU NEED:

2 Labels with:

#1 Label:
Name: Label1
Caption: SIMPLE STOPWATCH

#2 Label:
Name: Label2
Caption: 0.00

4 Command Buttons with:

#1 Command Button:
Name: Command1
Caption: START

#2 Command Button:
Name: Command2
Caption: STOP

#3 Command Button:
Name: Command3
Caption: RESET

#4 Command Button:
Name: Command4
Caption: QUIT

1 Timer with:
Name: Timer1
Caption: (None)
Interval: 1

----------------------------------------------------------------

CODE:

Quote

Private Sub Command1_Click()
Timer1.Enabled = True
End Sub

Private Sub Command2_Click()
Timer1.Enabled = False
End Sub

Private Sub Command3_Click()
Label2.Caption = "0.00"
End Sub

Private Sub Command4_Click()
End
End Sub

Private Sub Timer1_Timer()
Label2.Caption = Format(Val(Label2.Caption) + 0.01, _
"fixed")
End Sub
The code explanation follows.

----------------------------------------------------------------

CODE EXPLANATION:

Quote

Private Sub Command1_Click()
Timer1.Enabled = True
End Sub
Enables the timer (Makes it start).

----------------------------------------------------------------

Quote

Private Sub Command2_Click()
Timer1.Enabled = False
End Sub
Disables the timer (Stops it).

----------------------------------------------------------------

Quote

Private Sub Command3_Click()
Label2.Caption = "0.00"
End Sub
This code tells VB that when Command3 (RESET) is clicked, change the caption of Label2 to 0.00.

----------------------------------------------------------------

Quote

Private Sub Command4_Click()
End
End Sub
Ends (Closes) the program.

----------------------------------------------------------------

Quote

Private Sub Timer1_Timer()
Label2.Caption = Format(Val(Label2.Caption) + 0.01, _
"fixed")
End Sub
This means make Label2's caption change by adding +0.01 to it every millisecond.

----------------------------------------------------------------

Thank you for reading this tutorial.

Thanks to Tcm9669/TheComputerMaster for the Screenshot program.

Made by me, Travy92.

SAMPLES:

Attached Files


[SIGPIC]C:\Users\Travis\Desktop\Image Converter\Knight1.bmp[/SIGPIC]

#2
khaabas

khaabas

    Newbie

  • Members
  • Pip
  • 4 posts
code timer not correct
appear message run time error 424
how i can fix this problem
thanx man

#3
TcM

TcM

    Writes binary right handed and hex left handed

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 11,147 posts
That is because you made the Label name as Label1, instead of Label2! Rename Label to Label2 and it should work ;)

#4
duffbuffvick

duffbuffvick

    Newbie

  • Members
  • Pip
  • 1 posts
Thank you for posting. Amazing tutorial.

#5
wazofski

wazofski

    Programmer

  • Members
  • PipPipPipPip
  • 126 posts
Doesn't work, it only adds +0,01 once and then it does nothing, think you gotta remake your code.

#6
travy92

travy92

    Learning Programmer

  • Members
  • PipPipPip
  • 76 posts

wazofski said:

Doesn't work, it only adds +0,01 once and then it does nothing, think you gotta remake your code.

Umm, i think you've used a TextBox.. Not a Label.
[SIGPIC]C:\Users\Travis\Desktop\Image Converter\Knight1.bmp[/SIGPIC]

#7
wazofski

wazofski

    Programmer

  • Members
  • PipPipPipPip
  • 126 posts
No i did use a label

#8
obliviongoty

obliviongoty

    Newbie

  • Members
  • Pip
  • 1 posts
I made some improvements to the code and renamed the objects, all credit to travy92 though. Now there is one button for start and stop and a minutes label too, the seconds reset to 0.00 when a minute ticks over. The reset button will also not be a problem if it is used while the counter is still going.

To make this work you will need to rename the objects to the appropriate names used in this code and add a Label called lblTimeMins

Private Sub cmdExit_Click()
    End
End Sub



Private Sub cmdReset_Click()
    If tmrStopWatch.Enabled = True Then
        tmrStopWatch.Enabled = False
        lblTimeMS.Caption = "0.00"
        lblTimeMins.Caption = "0"
    Else
        lblTimeMS.Caption = "0.00"
        lblTimeMins.Caption = "0"
    End If
End Sub



Private Sub cmdStopStart_Click()
    If tmrStopWatch.Enabled = False Then
        tmrStopWatch.Enabled = True
    Else
        tmrStopWatch.Enabled = False
    End If
End Sub



Private Sub Form_Load()
    tmrStopWatch.Enabled = False
End Sub



Private Sub tmrStopWatch_Timer()
    lblTimeMS.Caption = Format(Val(lblTimeMS.Caption) + 0.01, "fixed")
    If lblTimeMS.Caption = "60.00" Then
        lblTimeMins.Caption = lblTimeMins + 1
        lblTimeMS.Caption = "0.00"
    End If
End Sub

Edited by TcM, 04 June 2008 - 04:47 AM.


#9
TcM

TcM

    Writes binary right handed and hex left handed

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 11,147 posts
Added code tags.

Thanks for the improvement.

#10
ViRuSS

ViRuSS

    Learning Programmer

  • Members
  • PipPipPip
  • 78 posts
nice, this is helpful
thank you
I didn't write here anything this is Illusion

#11
Tsukuyomi15

Tsukuyomi15

    Newbie

  • Members
  • PipPip
  • 12 posts
Would the code be the same for VB .NET?

#12
Xav

Xav

    Writes binary right handed and hex left handed

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 13,118 posts
Instead of "Caption", it's "Text" in VB.NET.
Jordan said:

Good members, like yourself, stick around and post for ages to come!
Mr. Xav | Blog | Forums