Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 |

 

  Вопрос: Таймер Добавлено: 13.01.10 20:22  

Автор вопроса:  Ins
Private Sub Form_Load()
BlockInput True
bytCount = 1
Timer1.Interval = 65000

Значение Timer1.Interval не может быть больше 65000 а мне надо сделать 3 часа...как подскажите....

Ответить

  Ответы Всего ответов: 24  

Номер ответа: 1
Автор ответа:
 Боцман



ICQ: 295725312 

Вопросов: 53
Ответов: 830
 Web-сайт: Rus-Skipper.narod.ru
 Профиль | | #1
Добавлено: 13.01.10 21:04
одноклеточное решение по окончанию 65000 милисекунд включить таймер два с другими 65000 и так до достихения результата.

Ответить

Номер ответа: 2
Автор ответа:
 Боцман



ICQ: 295725312 

Вопросов: 53
Ответов: 830
 Web-сайт: Rus-Skipper.narod.ru
 Профиль | | #2
Добавлено: 13.01.10 21:09
Многоклеточное решение
Функция SetTimer
Declare Function SetTimer Lib "user32" (ByVal hWnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
--------------------------------------------------------------------------------
SetTimer создает таймер с заданным значением интервала. Созданный таймер будет генерировать интервалы до тех пор, пока не будет вызвана функция KillTimer, удаляющая его. Использование этой функции необходимо там, где возможности встроенного vb-элемента управления Timer недостаточны. Элемент управления Timer может использовать интервал чуть более одной минуты. А функция способна задать интервал в 24.86 дня!

Ответить

Номер ответа: 3
Автор ответа:
 ηikolaŠ~rus



ICQ: 604058327 

Вопросов: 50
Ответов: 287
 Профиль | | #3 Добавлено: 13.01.10 21:13
Боцман ти издеваешься так делать??
  1. # Private Const Timer1Interval As Double = 1.000 'Сдесь можешь указать интервал в секундах. Через точку дробная часть.
  2. # Private Sub Timer1_Timer()
  3. # Static lastTimer As Single
  4. # If lastTimer = 0 Or Abs(lastTimer  - Timer) > Timer1Interval Then
  5. # ''''Здесь твой код
  6. # lastTimer = Timer
  7. # End If
  8. # End Sub

 Твой таймер на форме долджен иметь имя Timer1 и свойство Interval, равное 1. Enabled должно быть True.

Ответить

Номер ответа: 4
Автор ответа:
 ηikolaŠ~rus



ICQ: 604058327 

Вопросов: 50
Ответов: 287
 Профиль | | #4 Добавлено: 13.01.10 21:16
  1. # 'Мой код
  2. # Private Const Timer1Interval As Double = 220.000 'Сдесь можешь указать интервал в секундах. Через точку дробная часть.
  3. # Private Sub Timer1_Timer()
  4. # Static lastTimer As Single
  5. # If lastTimer = 0 Or Abs(lastTimer  - Timer) > Timer1Interval Then
  6. # 'Далее твой код
  7. # Call mciExecute("close C:\anthem_2001_russ_vocin_offic.mp3")
  8. # Timer1.Enabled = False
  9. # Timer2.Enabled = False
  10. # Timer3.Enabled = False
  11. # Timer4.Enabled = False
  12. # Timer5.Enabled = False
  13. # 'И снова мой
  14. #  lastTimer = Timer
  15. # End If
  16. # End Sub

Это код моей проги которую я давно делал ,тебя должно стать попонятней что куда вставлять.

Ответить

Номер ответа: 5
Автор ответа:
 Боцман



ICQ: 295725312 

Вопросов: 53
Ответов: 830
 Web-сайт: Rus-Skipper.narod.ru
 Профиль | | #5
Добавлено: 13.01.10 21:49
Простейшие в действии.
Я за АПИ.

Ответить

Номер ответа: 6
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #6 Добавлено: 13.01.10 23:17
жжоте))) пешите исчо!

А почему бы не настроить таймер на 1час, завести переменную типа int.. и в коде инкрементить ее.. если меньше 3 значит выходить из процедуры таймера.. если равно 3 то выполнять код и обнулять перменную..
Или этот способ по феншую? Гораздо прикольнее юзать API и стопиццот таймеров?

Ответить

Номер ответа: 7
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #7
Добавлено: 13.01.10 23:49
лучше не на час, а на секунду) И всё это обернуть в уютное одеялко из ЮзерКонтрола.

Ответить

Номер ответа: 8
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #8
Добавлено: 14.01.10 08:44
Timer1.Interval = 1000
  1.  
  2. Private Sub Timer1_Timer()
  3. Static boo As Long
  4. boo = boo + 1
  5. If boo > 60 * 60 * 3 Then
  6. ...
  7. End If
  8. End Sub


В чем проблема?

Ответить

Номер ответа: 9
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #9 Добавлено: 14.01.10 08:55
В чем проблема?

ты не шаришь! ))) Это не по феншую!
Реальные патсаны юзают АПИ или стопиццот таймеров! Это слишком просто...

Ответить

Номер ответа: 10
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #10 Добавлено: 14.01.10 08:56
только у тебя тут ошибка... накосячил ты в коде.. точнее недоделал.

Ответить

Номер ответа: 11
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #11
Добавлено: 14.01.10 09:11
Та я знаю. Сами разберутся :)

Ответить

Номер ответа: 12
Автор ответа:
 Саня



ICQ: 553816426 

Вопросов: 10
Ответов: 99
 Профиль | | #12 Добавлено: 14.01.10 12:08
А можно еще прикольнее:
при загрузке формы взять системное время доплюсовать 3 часа и проверять таймером каждую секунду не совпадает ли результат с системным временем :-)
Да уж действительно очень важная и сложная проблема обсуждается.

Ответить

Номер ответа: 13
Автор ответа:
 Боцман



ICQ: 295725312 

Вопросов: 53
Ответов: 830
 Web-сайт: Rus-Skipper.narod.ru
 Профиль | | #13
Добавлено: 14.01.10 12:31
Саня пишет:
А можно еще прикольнее:

  1. Dim n As Long
  2. Private Sub Form_Load()
  3. Timer1.Interval = 60000
  4. n = Timer
  5. Me.Caption = n
  6. End Sub
  7.  
  8. Private Sub Timer1_Timer()
  9. If Timer - n >= 60 Then
  10. ' 60 это минута для часов можно поставить 60*60 или если три то *180
  11. Me.Caption = Me.Caption & "Прошло время между пуском и звуком    -" & Timer - n
  12. End If
  13. End Sub

При выводе будет небольшая ошибка, таймер +-50 милисикунд не считает(это отдельная тема).
Я вот не пойму почему такое возражение против апи ведь все что вы пишите это,заложено в винде и вам позволено,
но апи тоже часть винды и возможно более быстрое и понятное ей.

Ответить

Номер ответа: 14
Автор ответа:
 ηikolaŠ~rus



ICQ: 604058327 

Вопросов: 50
Ответов: 287
 Профиль | | #14 Добавлено: 14.01.10 13:53
ну так если знаешь напиши ,как ею пользоваться(для таймера),а то может Ins не знает!!

Ответить

Номер ответа: 15
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #15
Добавлено: 14.01.10 13:55
Боцман, почему 50мс? вообще при 1мс таймер срабатывает чаще, значит он может считать время меньше 50мс

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам