Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Imports System.ComponentModel
- Imports System.Threading
- <DefaultEvent("Tick")> _
- Public Class FastTimer
- Inherits System.ComponentModel.Component
- Public Event Tick(ByVal e As Integer)
- Public Event LetterTick(letter As String)
- Private _started As Boolean = False
- Public Property Speed As State = State.Fastest
- Public Property CountStyle As CountStyleState = CountStyleState.Up
- Public Property CountValueType As CountValueState
- Public Enum State
- Fastest = 0
- Fast = 1
- Normal = 2
- Slow = 3
- Slowest = 4
- End Enum
- Public Enum CountValuestate
- Numbers
- Letters
- End Enum
- Public Enum CountStyleState
- Up = 0
- Down = 1
- End Enum
- Public Sub [Stop]()
- _started = False
- ticks = 0
- End Sub
- Public Sub Enable()
- _started = True
- End Sub
- Public Property Interval As Integer = 1
- Dim ticks As Integer = 0
- Dim Cletter As Letter = Letter.Z
- Public Sub Start()
- While (_started)
- If CountValueType = CountValuestate.Numbers Then
- If CountStyle = CountStyleState.Up Then
- ticks += 1 + Interval
- ElseIf CountStyle = CountStyleState.Down Then
- ticks -= 1 + Interval
- End If
- checkstate(Speed)
- RaiseEvent Tick(ticks)
- Else
- If CountStyle = CountStyleState.Up Then
- checkletter()
- checkstate(Speed)
- RaiseEvent LetterTick([Enum].GetName(GetType(Letter), Cletter))
- End If
- End If
- End While
- End Sub
- Sub checkletter()
- Select Case Cletter
- Case Letter.A
- Cletter = Letter.B
- Case Letter.B
- Cletter = Letter.C
- Case Letter.C
- Cletter = Letter.D
- Case Letter.D
- Cletter = Letter.E
- Case Letter.E
- Cletter = Letter.F
- Case Letter.F
- Cletter = Letter.G
- Case Letter.G
- Cletter = Letter.H
- Case Letter.H
- Cletter = Letter.I
- Case Letter.I
- Cletter = Letter.J
- Case Letter.J
- Cletter = Letter.K
- Case Letter.K
- Cletter = Letter.L
- Case Letter.L
- Cletter = Letter.M
- Case Letter.M
- Cletter = Letter.N
- Case Letter.N
- Cletter = Letter.O
- Case Letter.O
- Cletter = Letter.P
- Case Letter.P
- Cletter = Letter.Q
- Case Letter.Q
- Cletter = Letter.R
- Case Letter.R
- Cletter = Letter.S
- Case Letter.S
- Cletter = Letter.T
- Case Letter.T
- Cletter = Letter.U
- Case Letter.U
- Cletter = Letter.V
- Case Letter.V
- Cletter = Letter.W
- Case Letter.W
- Cletter = Letter.X
- Case Letter.X
- Cletter = Letter.Y
- Case Letter.Y
- Cletter = Letter.Z
- Case Letter.Z
- Cletter = Letter.A
- End Select
- Application.DoEvents()
- End Sub
- Sub checkstate(ByVal states As State)
- Select Case states
- Case State.Fastest
- Thread.Sleep(0)
- Case State.Fast
- Thread.Sleep(100)
- Case State.Normal
- Thread.Sleep(1000)
- Case State.Slow
- Thread.Sleep(10000)
- Case State.Slowest
- Thread.Sleep(100000)
- Case Else
- Thread.Sleep(0)
- End Select
- Application.DoEvents()
- End Sub
- Public Enum Letter
- A
- B
- C
- D
- E
- F
- G
- H
- I
- J
- K
- L
- M
- N
- O
- P
- Q
- R
- S
- T
- U
- V
- W
- X
- Y
- Z
- End Enum
- End Class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement