Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.68/37: Рейтинг темы: голосов - 37, средняя оценка - 4.68
1 / 1 / 0
Регистрация: 28.01.2011
Сообщений: 31

Вопрос по таймеру

29.01.2011, 13:59. Показов 7633. Ответов 32
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Поместил на форму таймер, как сделать что бы при нажатии на кнопку, таймер срабатывал сразу, потом без нажатия кнопки, срабатывал через час, потом через 2, потом через 3.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.01.2011, 13:59
Ответы с готовыми решениями:

Вопрос по таймеру
Подскажите пожалуйста, как сделать, что бы текст двигался как титры? После окончания опять начиналось всё заного.

Вопрос по таймеру
Здравствуйте. У меня такой вопрос как сделать так что бы по истечению таймера (н-р в30сек) 1ая строка в мемо переносилась в едит1, прошло...

вопрос по прерывнию по таймеру 1
<Изображение удалено> при компиляции выдает такую ошибку.

32
 Аватар для STRATEG
1174 / 480 / 83
Регистрация: 04.03.2010
Сообщений: 1,019
31.01.2011, 16:18
Студворк — интернет-сервис помощи студентам
Тогда сделать просто глобальную переменную и в процедуре обработки события Tick таймера ее инкрементировать. Все ограничения на интервал таймера снимаются.
Что уже и реализованно в представленном здесь мной коде.
0
исследователь
325 / 104 / 3
Регистрация: 18.03.2010
Сообщений: 1,079
Записей в блоге: 2
31.01.2011, 16:47
Цитата Сообщение от STRATEG Посмотреть сообщение
Что уже и реализованно в представленном здесь мной коде.
То что ты сделал, это совсем не то что я имел в виду!
Х**** ты сделал, читай хотя бы мои посты до конца
0
 Аватар для STRATEG
1174 / 480 / 83
Регистрация: 04.03.2010
Сообщений: 1,019
01.02.2011, 11:48
Тогда сделать просто глобальную переменную
Delphi
1
Dim h, m, s, MyTime
и в процедуре обработки события Tick таймера ее инкрементировать.
Private Sub Timer1_Timer()
s = s + 1 'увеличение числа секунд
...
Что-то я не вижу расхождения в твоём и моём алгоритме.

Х**** ты сделал, читай хотя бы мои посты до конца
Весь день читал сидел. Ничего другого не нашёл. Научился бы эмоции сдерживать хотябы.

Не по теме:

много понтов, мало знаний Кто из модераторов автор этих слов?

0
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
01.02.2011, 12:02
STRATEG

Цитата Сообщение от STRATEG Посмотреть сообщение
Х**** ты сделал, читай хотя бы мои посты до конца
это наверное вместо благодарности
не обращай внимания
вопрос то простенький
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
01.02.2011, 13:43
Private Sub Timer1_Timer()
s = s + 1 'увеличение числа секунд
А зачем вообще считать что-то?
Ведь уже много раз сказано, что таймер работает не точно и сильно зависит от запущенных процессов.
Рекомендуют большие промежутки времени не считать, но рассчитывать.
Надо через час, потом через три - сразу рассчитай сколько это будет.
А по таймеру только проверяй совпадение с системным. Вот системный таймер идёт точнее намного и не зависит от запущенных процессов
0
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
01.02.2011, 14:09
вариант
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Dim t, i, b(), k%, t1%
 
Private Sub Command1_Click()
Label1 = 0
t1 = 0
t = Time
Timer2.Enabled = True
Timer1.Enabled = True
End Sub
 
Private Sub Form_Load()
Timer1.Interval = 1000: Timer1.Enabled = False
Timer2.Interval = 1: Timer2.Enabled = False
b = Array(1, 3, 6)
End Sub
 
Private Sub Timer1_Timer()
'              сек               мин  час
i = DateDiff("s", t, Time) ' \ 60 \ 60
Label2 = i
For k = 0 To UBound(b)
If i = b(k) Then Timer2.Enabled = True
Next k
End Sub
 
Private Sub Timer2_Timer()
Label1 = Val(Label1.Caption) + 1
t1 = t1 + 1
If t1 = UBound(b) + 2 Then
Timer1.Enabled = False
End If
Timer2.Enabled = False
End Sub
Добавлено через 3 минуты
можно без Timer2, просто как бы для наглядности (в контексте вопроса)
1
1 / 1 / 0
Регистрация: 28.01.2011
Сообщений: 31
04.02.2011, 17:50  [ТС]
Как сделать что бы таймер срабатывал каждый час?
 Комментарий модератора 
Не надо дублировать тему одной тематики. Объединил темы.
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
04.02.2011, 17:58
3 600 000
0
1 / 1 / 0
Регистрация: 28.01.2011
Сообщений: 31
04.02.2011, 17:59  [ТС]
Цитата Сообщение от taras atavin Посмотреть сообщение
3 600 000
неа, ошибку выбивает максимум 65535
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
04.02.2011, 21:05
Значит нельзя, интервал в миллисекундах.

Добавлено через 3 часа 4 минуты
Цитата Сообщение от STRATEG Посмотреть сообщение
36 мил.
3 миллиона 600 тысяч.
0
 Аватар для STRATEG
1174 / 480 / 83
Регистрация: 04.03.2010
Сообщений: 1,019
05.02.2011, 14:09
taras atavinх 3 600 000
Здесь сказали уже об этом
неа, ошибку выбивает максимум 65535
.Прочитать предыдущие сообщения нельзя было?

Как сделать что бы таймер срабатывал каждый час?
Помоему уже ответили на этот вопрос, на целых 3 страницы.К чему повтор вопроса?!
0
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8728 / 3680 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
05.02.2011, 16:03
Неужто тут никто об WinApi не слышал? С помощью API SetTimer можно добиться нужного интервала.

Модуль VB, в котором описаны WinApi функции, также в этом же модуле должна быть описана функция, которые будет вызываться при срабатывании таймера (из-за AddressOf).
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Private Declare Function SetTimer Lib "user32" (ByVal hWnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
Private Declare Function KillTimer Lib "user32" (ByVal hWnd As Long, ByVal nIDEvent As Long) As Long
 
Public Function AddMsgTimer(hWnd As Long, uId As Long, uTime As Long) As Long
    AddMsgTimer = SetTimer(hWnd, uId, uTime, AddressOf TmrFunc) ' Адрес функции, которая будет вызываться при срабатывании таймера
End Function
 
Public Sub DestroyTimer(hWnd As Long, ByRef uId As Long)
    KillTimer hWnd, uId
    uId = -1
End Sub
 
' Функция должна быть описана только с таким кол-ом параметров, имя любое
Public Sub TmrFunc(hWnd As Long, uMsg As Long, idEvent As Long, dwTime As Long)
MsgBox "10" ' Действие при срабатывании таймера
End Sub
Основной код в форме:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Option Explicit
 
Dim nTimer As Long
 
Private Sub Command1_Click()
If (nTimer = -1) Then
    nTimer = AddMsgTimer(hWnd, 10, 3600000) ' Создаем таймер
Else
    DestroyTimer hWnd, nTimer ' Уничтожаем таймер
End If
End Sub
 
Private Sub Form_Load()
nTimer = -1
End Sub
* SetTimer.
2
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
05.02.2011, 16:17
Цитата Сообщение от SSTREGG Посмотреть сообщение
Неужто тут никто об WinApi не слышал?
да слышали наверное многие, и ценят нагрузку на проц, только впору ли апи презентовать, когда
Visual Basic
1
2
3
4
5
6
Private Sub Timer1_Timer()
'точность пренебречь
'Timer1.Interval=1000
t = t + 1
If t = 3600 Then: MsgBox "10": t = 0
End Sub
не коментируют
да и задача как то не совсем ясно сформулирована (для меня)
что должен делать таймер, какова точность таймера, график срабатываний 0-1-2-3 или 0-1-3-6
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.02.2011, 16:17
Помогаю со студенческими работами здесь

Вопрос по таймеру и RTC
Заранее извиняюсь, что задаю так много вопросов, но в процессе изучения STM32 возникают моменты, на которые я пока что ответить сам не...

вопрос по таймеру (обратный отсчет)
нужно сделать обратный отсчет времени, при нажатии на кнопку таймер начинает отсчитывать по новой т.е задано обратный отсчет 45 секунд он...

Вопрос по таймеру Т0 (AT Mega16) - Значение регистра OCR0
Хочу выставить значение OCR0 = 10, но получается любое от 255 до 20. (Пробовал значения 255, 250, 200, 100, 50, 20) Я сделал все как в...

Вопрос по таймеру и ошибка при записи информации в файл
Всем привет! Пишу игру на Delphi XE8! Но не выходит! В таймере когда программа поняла что sec = 0 она должна сделать так, чтобы таймер...

Вопрос по SetParent (поэтому, наверное, это вопрос к NickStaves)
Есть набор форм, назовём их 'интерфейсными'. Есть отдельная форма, назовём её 'хранилищем'. Сама по себе она нигде не используется: лишь...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
33
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru