Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 256
  • Last Modified:

loop timers

I'm trying to watch inputs from a port I can get this to work, What i need is to be able to have a master timer start when it sees ,lets say input one go high this time lets saw would run for 15 min, this would start a sub that also has a timer that would run for a varable input which could be from a textbox and while its running its loking for an input from any other input if it gets this input it will stop the sub and then wait for input one to go high again if no input is gotten in then it will times out and does the same and go back to looking for input one once more. This loop would run until the main timer has run out. I also need to be able to get the elasped time from the smaller timer and put it into a lable or textbox.
0
bassendoughboy
Asked:
bassendoughboy
  • 2
2 Solutions
 
KGregCommented:
Here's an example of a timed loop which will run every two minutes (120 seconds):


dim starttime as Date = Now

While Now.Subtract(starttime).TotalSeconds < 120

     ' Do some process here

     starttime = Now

End While

Hope this helps,

KGreg
0
 
gillgatesCommented:
Imports System
Imports System.Threading

Public Class Test

    Shared waitTime As New TimeSpan(0, 0, 1)

    Shared Sub Main()
        Dim newThread As New Thread(AddressOf Work)
        While True
             newThread.Start()

             If newThread.Join( _
                  TimeSpan.op_Addition(waitTime, waitTime)) Then

                 'Do your work
             End If
       Loop
    End Sub

    Shared Sub Work()
        Thread.Sleep(waitTime)
    End Sub

End Class
0
 
gillgatesCommented:
of course after you do your work and you want to stop you have to "Exit Loop", my syntax for the while might be off.
0
 
bassendoughboyAuthor Commented:
I'm trying to follow what you are doing gillgates but not fully sure of it, Please bare with I have only been using VB for about 8 months. thanks.
Here is my best exapmle of what I'm doing.
program running
input comes in
statrs new sub (for 3 min)
when this sub starts it looks for another input, when it has input
it runs another sub (for 5 sec)
this looks for another input to stop this sub or time out if input stops sub elasped time is sent to a text box
if no input sub stops at end of time
eather way it goes back one level and waits for another input this goes on for the 3 min and then this timer stops
which goes back to the main program and stops it

 
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now