Solved

how to extend the funtion Timer?

Posted on 2007-12-01
14
237 Views
Last Modified: 2010-04-30
Hello Experts,
how to extend the Timer function over 60000 milliseconds??
I need to to extend the time of r one of my function
0
Comment
Question by:aitsu01
  • 7
  • 6
14 Comments
 
LVL 142

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 20387740
what I do is this:
have the timer interval set to 1000 (1 second)
and have 1 form-level variable set initially to the number of seconds you want to wait.
the timer interval would then decrease that variable, and when 0, run the procedure/work to do, and resets the interval counter.


Private gTimerInterval as Integer 
Private Sub Timer1_Timer()
  Timer1.Enabled = false
  Timer1.Interval = 1000 
  if gTimerInterval <= 0 then
    gTimerInterval = 100  ' set the interval in seconds again
    DoWork()              ' run the code you want to run in the interval  
  else
    gTimerInterval = gTimerInterval -1 
  end if 

  Timer1.Enabled = true
End Sub

Open in new window

0
 
LVL 85

Expert Comment

by:Mike Tomlinson
ID: 20388363
Here is another very similar approach using a Date variable...

Option Explicit
 

Private minutes As Integer

Private targetTime As Date
 

Private Sub Form_Load()

    Timer1.Enabled = False

    minutes = 11

    SetNewTargetTime

    Timer1.Interval = 1000

    Timer1.Enabled = True

End Sub
 

Private Sub SetNewTargetTime()

    targetTime = DateAdd("n", minutes, Now)

End Sub
 

Private Sub Timer1_Timer()

    If Now > targetTime Then

        Timer1.Enabled = False

        

        ' do something here...

        Debug.Print "something"

                

        SetNewTargetTime

        Timer1.Enabled = True

    End If

End Sub

Open in new window

0
 

Author Comment

by:aitsu01
ID: 20388825
Hello angellll,
the value of the gTimerInterval = 100 ?youe mean 100 seconds or 100 milliseconds?
0
 

Author Comment

by:aitsu01
ID: 20388830
Hello idle mind;
refered to targetTime = DateAdd("n", minutes, Now)
 what stands the "n" for?
0
 
LVL 142

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 20388859
>the value of the gTimerInterval = 100 ?youe mean 100 seconds or 100 milliseconds?

would mean 100 seconds, as the timer1.interval is set to 1000 (means 1 second).


>refered to targetTime = DateAdd("n", minutes, Now)
> what stands the "n" for?
n stands for minutes, see the reference:
http://msdn2.microsoft.com/en-us/library/cb7z8yf9.aspx
0
 

Author Comment

by:aitsu01
ID: 20389008
if i have two timer how can i solve it??
for example with timer1 and timer2
0
 
LVL 142

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 20389031
what are the 2 timers doing?
0
What Should I Do With This Threat Intelligence?

Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

 

Author Comment

by:aitsu01
ID: 20389061
timer1 upload my file.txt to my ftp web space
timer2 delete the uploaded text file and load the form1

see below here for the code:
Private Sub Timer1_Timer()

   Dim host_name As String

    Dim time As String 

   Dim user As String

   Dim directory As String

  

   

   

   Unload form1
 

   'On Error Resume Next

     Texttime = Now

    Enabled = False

    MousePointer = vbHourglass

    txtResults.Text = "Working"

    txtResults.SelStart = Len(txtResults.Text)

    DoEvents
 

  

    host_name = txtHost.Text

    If LCase$(Left$(host_name, 6)) <> "ftp://" Then host_name = "ftp://" & host_name

    inetFTP.URL = host_name
 

    inetFTP.UserName = txtUserName.Text

    inetFTP.Password = txtPassword.Text

    time = CStr(Time)

    directory = mydirectoryfile

    inetFTP.Execute , "mkdir " & directory

    Pause 1000 'give time for the process completing operation

    inetFTP.Execute , "cd " & directory

    Pause 1000

    On Error Resume Next

    

    inetFTP.Execute , "Put " & _

          "c:\myfile.txt" & " & "_" & time

End Sub
 
 
 
 

Private Sub Timer2_Timer()
 

 Kill "c:\myfile.txt"

 Load form1

   

End Sub

Open in new window

0
 
LVL 142

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 20389067
why don't you kill and load form1 at the end of the timer1 ?
0
 

Author Comment

by:aitsu01
ID: 20389093
an eror will appear
i used the second timer just to get a little more time to complete the operation
anyway let me try again with your suggestion i resumed amny time that code so maybe now it will works
0
 
LVL 142

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 20389103
>an eror will appear
would be interesting to learn that error.

anyhow, how much time between that last line and the additional steps?

it would go like this:

Private gTimer2 as Integer
 

Private Sub Timer1_Timer()

   Dim host_name As String

    Dim time As String 

   Dim user As String

   Dim directory As String

  

   Timer1.enabled = false 'stop this timer.

   

   Unload form1

 

   'On Error Resume Next

     Texttime = Now

    Enabled = False

    MousePointer = vbHourglass

    txtResults.Text = "Working"

    txtResults.SelStart = Len(txtResults.Text)

    DoEvents

 

  

    host_name = txtHost.Text

    If LCase$(Left$(host_name, 6)) <> "ftp://" Then host_name = "ftp://" & host_name

    inetFTP.URL = host_name

 

    inetFTP.UserName = txtUserName.Text

    inetFTP.Password = txtPassword.Text

    time = CStr(Time)

    directory = mydirectoryfile

    inetFTP.Execute , "mkdir " & directory

    Pause 1000 'give time for the process completing operation

    inetFTP.Execute , "cd " & directory

    Pause 1000

    On Error Resume Next

    

    inetFTP.Execute , "Put " & _

          "c:\myfile.txt" & " & "_" & time
 

   gTimer2 = 100 'wait 100 seconds

   Timer2.enabled = true  'and start waiting...

End Sub

  

 

Private Sub Timer2_Timer()

 if gTimer2 <= 0 then 

    Timer2.enabled = false

    Kill "c:\myfile.txt"

    Load form1

 end if

 gTimer2 = gTimer2 -1 

End Sub

Open in new window

0
 

Author Comment

by:aitsu01
ID: 20391764
it appears an runtime error 70
0
 
LVL 142

Accepted Solution

by:
Guy Hengel [angelIII / a3] earned 100 total points
ID: 20391957
70 = permission denied... for example, a file is still open/locked by another process...

I assume on the line where you try to "kill" (delete) the file?

then, you could rerun the timer2 on (any) error that happens during "killing" the file
Private Sub Timer2_Timer()

 if gTimer2 <= 0 then 

    Timer2.enabled = false

  on error resume next
 

    Kill "c:\myfile.txt"

    if err.number <> 0 then

      Timer2.enabled = true

      gTimer2 = 100

      exit sub 

    end if    
 

    Load form1

 end if
 

 gTimer2 = gTimer2 -1 

End Sub

Open in new window

0
 

Author Comment

by:aitsu01
ID: 20410315
Hello  angellll,
how about the property of the timer 1 and timer 2?
i should set both to o millisecond or 1000 milliseconds?
0

Featured Post

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
The viewer will be introduced to the technique of using vectors in C++. The video will cover how to define a vector, store values in the vector and retrieve data from the values stored in the vector.
The viewer will be introduced to the member functions push_back and pop_back of the vector class. The video will teach the difference between the two as well as how to use each one along with its functionality.

744 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now