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

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

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

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

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

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

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

32
исследователь
325 / 104 / 3
Регистрация: 18.03.2010
Сообщений: 1,079
Записей в блоге: 2
29.01.2011, 15:37
Таймер не зависит от кнопок, время его срабатывания зависит от заданного интервала, но можно сделать например так:
при нажатии на кнопку
Visual Basic
1
tmrTimer.Interval=1     'задается очень маленький интервал, таймер сработает через 1 мс.
Добавлено через 6 минут
Чтобы таймер срабатывал через час нужно изменить временной интервал до 36000000
Visual Basic
1
tmrTimer.Interval=36000000
Чтобы увеличивать каждый раз интервал таймера
пишем в процедуре обработки Tick таймера
Visual Basic
1
tmrTimer.Interval=tmrTimer.Interval+36000000
1
 Аватар для STRATEG
1174 / 480 / 83
Регистрация: 04.03.2010
Сообщений: 1,019
29.01.2011, 20:11
Чтобы таймер срабатывал через час нужно изменить временной интервал до 36000000
Такое точно не для VB6. Это под .NET (может быть. Тип свойства interval в .NET я за 5 мин поиска не нашёл, поэтому точно не могу сказать прокатит или нет 36 мил.).


Чтобы увеличивать каждый раз интервал таймера
пишем в процедуре обработки Tick таймера
И в скоре произойдёт переполнение и либо получится ошибка либо потеря байт.

Хотя такой подход к ожиданию наступления некоторого часа не является хорошим. Он мёртвый. Нельзя узнать сколько уже времени прошло, а сколько осталось.

Примерно так это делается на самом деле:
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
Dim h, m, s, MyTime
 
Private Sub Form_Load()
 MyTime = 1
 h = 0
 m = 0
 s = 0
 Timer1.Interval = 1000 ' через кадую секунду срабатывает таймер
 Timer1.Enabled = True
End Sub
 
Private Sub Timer1_Timer()
 s = s + 1 'увеличение числа секунд
 ' Тут идёт пересчёт м,с,ч если их значения больше 60
 If s = 60 Then
  m = m + 1
  s = 0
 End If
 If m = 60 Then
    h = h + 1
    m = 0
 End If
 If h = MyTime Then ' если время наше вышло
  MyTime = MyTime + 1 'увеличиваем промежуток на час
  MsgBox "Время вышло"
 End If
 Label1.Caption = Str(h) + ":" + Str(m) + ":" + Str(s)
 
End Sub
Вообще в инете куча примеров как сделать свои часы. Для этого знать практически ничего не нужно.

-Storm-:Ты начал изучать VB и как только появляется вопрос сразу идёшь на форум за помощью.
Вопрос: Почему бы тебе не подумать самому или не погуглить хотябы немного? (На форуме полно инфы. Можно получить хорошие знания. Но наверно лень лазить.)

P.S. Многие говорят:"Ну я же только начал, ничего не могу" и опять начинают цикл вопросов про элементарные вещи. С каждым приходом новичков так и получается. Но почему же книги то не почитать сначала?
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
29.01.2011, 20:23
Цитата Сообщение от STRATEG Посмотреть сообщение
Но почему же книги то не почитать сначала?
а если в книге 500 страниц, а у человека конкретный вопрос. То с какой страницы начать читать?
Тогда лучше предложение: пусть каждый занимается своим делом - программисты программируют, экономисты подсчитывают и каждый не лезет не в своё дело.
А самоучители - это уж точно не для экономистов.
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
29.01.2011, 20:33
В любом случае таймер не сможет отсчитывать точно большие промежутки времени
Везде рекомендуют другой подход: По таймеру сверяют "время" с системным.
А "время" рассчитывают используя функции работы со временем.
Хорошо подходит функция:

DateAdd( interval , Сколько, Дата)
Параметр interval может принимать одно их следующих значений: yyyy -Год, q - Квартал, m - Месяц, y - День года, d - День месяца, w - День недели, ww - Неделя, h - Часы, n - Минуты, s -Секунды.

Добавлено через 4 минуты
Busine2009,
Где-то я это уже слышал
Тогда лучше предложение: пусть каждый занимается своим делом - программисты программируют
Кесарю - кесарево. Так?!
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
29.01.2011, 20:35
Alex77755,
все кому не лень лезут в программирование: какие-то самоучители кто-то пишет зачем-то - бред полнейший. Как-будто по учебнику по программированию может научиться программированию простой человек.
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
29.01.2011, 20:39
Цитата Сообщение от Busine2009 Посмотреть сообщение
Alex77755,
все кому не лень лезут в программирование: какие-то самоучители кто-то пишет зачем-то - бред полнейший. Как-будто по учебнику по программированию может научиться программированию простой человек.
А ты ИЗБРАННЫЙ?!
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
29.01.2011, 20:41
Alex77755,
я тоже лезу не в своё дело.
0
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
29.01.2011, 20:47
Цитата Сообщение от Busine2009 Посмотреть сообщение
а если в книге 500 страниц, а у человека конкретный вопрос. То с какой страницы начать читать?
в подавляющем большинстве не "конкретный вопрос", а конкретное предложение поработать на шарик. И некоторые с удовольствием и незамедлительно на это ведутся, а они, - авторы "конкретных вопросов", с еще большим удовольствием этим пользуются.
повторюсь, в подавляющем большинстве.
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
29.01.2011, 20:51
Я - простой пенсионер. И не считаю, что объём программы Вуза или техникума - только для избранных. Наоборот меня бесят высказывания: Это не профильно.
Я не говорю о серьёзном программировании. На этом форуме нет таких вопросов, да и посетителей даже нет и не будет. Сдесь задаются примитивные вопросы. И даются такие же примитивные ответы, которые и программированием назвать можно только с большой натяжкой.
Если написать 2 * 3 = 6 это матаматика. А если с = а * в _то уже крутое программирование, которое не для каждого. БРЕД! Есть ЛЕНИВЫЕ люди. Не желающие ничего знать.
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
29.01.2011, 20:55
Alex77755,
самому по учебнику нельзя обучиться программированию.
0
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
29.01.2011, 20:59
Busine2009
вот два вопроса одной темы
1 как проиндексировать эл. главной диагонали матрицы.
2 расположите эл.гл.диагонали матрицы по возростанию. код киньте на мыло.

разницу чуствуешь?
Цитата Сообщение от Busine2009 Посмотреть сообщение
я тоже лезу не в своё дело.
ЗАЧЕМ?
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
29.01.2011, 21:00
Busine2009,
Хорошо, что я ни одного учебника не взял в руки.
Но я и не считаю, что умею программировать. Так, изучаю, тренируюсь.
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
29.01.2011, 21:06
Цитата Сообщение от gaw Посмотреть сообщение
ЗАЧЕМ?
я на работе столкнулся с VBA - оттуда пошло. Да и просто считаю программирование интересным и полезным для мозгов.
Цитата Сообщение от Alex77755 Посмотреть сообщение
Хорошо, что я ни одного учебника не взял в руки.
я брал учебник по VBA, но не смог по нему научиться.
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
29.01.2011, 21:08
Цитата Сообщение от gaw Посмотреть сообщение
2 расположите эл.гл.диагонали матрицы по возростанию. код киньте на мыло.
А что? Хорошие вопросы. Даже не вопросы. А призывы к действию. Настоящий будущий руководитель!
Молодец!!!
0
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
29.01.2011, 21:24
Цитата Сообщение от Busine2009 Посмотреть сообщение
я брал учебник по VBA, но не смог по нему научиться
а мне на первой лекции в вузе сказали, что вуз в основном учит учиться
0
1 / 1 / 0
Регистрация: 28.01.2011
Сообщений: 31
29.01.2011, 21:38  [ТС]
Цитата Сообщение от STRATEG Посмотреть сообщение
Такое точно не для VB6. Это под .NET (может быть. Тип свойства interval в .NET я за 5 мин поиска не нашёл, поэтому точно не могу сказать прокатит или нет 36 мил.).




И в скоре произойдёт переполнение и либо получится ошибка либо потеря байт.

Хотя такой подход к ожиданию наступления некоторого часа не является хорошим. Он мёртвый. Нельзя узнать сколько уже времени прошло, а сколько осталось.

Примерно так это делается на самом деле:
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
Dim h, m, s, MyTime
 
Private Sub Form_Load()
 MyTime = 1
 h = 0
 m = 0
 s = 0
 Timer1.Interval = 1000 ' через кадую секунду срабатывает таймер
 Timer1.Enabled = True
End Sub
 
Private Sub Timer1_Timer()
 s = s + 1 'увеличение числа секунд
 ' Тут идёт пересчёт м,с,ч если их значения больше 60
 If s = 60 Then
  m = m + 1
  s = 0
 End If
 If m = 60 Then
    h = h + 1
    m = 0
 End If
 If h = MyTime Then ' если время наше вышло
  MyTime = MyTime + 1 'увеличиваем промежуток на час
  MsgBox "Время вышло"
 End If
 Label1.Caption = Str(h) + ":" + Str(m) + ":" + Str(s)
 
End Sub
Вообще в инете куча примеров как сделать свои часы. Для этого знать практически ничего не нужно.

-Storm-:Ты начал изучать VB и как только появляется вопрос сразу идёшь на форум за помощью.
Вопрос: Почему бы тебе не подумать самому или не погуглить хотябы немного? (На форуме полно инфы. Можно получить хорошие знания. Но наверно лень лазить.)

P.S. Многие говорят:"Ну я же только начал, ничего не могу" и опять начинают цикл вопросов про элементарные вещи. С каждым приходом новичков так и получается. Но почему же книги то не почитать сначала?
Я прочел самоучитель но ответа не нашел.
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
29.01.2011, 23:13
Поместил на форму таймер, как сделать что бы при нажатии на кнопку, таймер срабатывал сразу, потом без нажатия кнопки, срабатывал через час, потом через 2, потом через 3.
А ты искал ответ именно на этот вопрос?

Могу заверить, что ответ сколько будет 123*4546 ты тоже не найдёшь!
Но можно найти таблицу умножения и правила умножения ИМХО
0
 Аватар для STRATEG
1174 / 480 / 83
Регистрация: 04.03.2010
Сообщений: 1,019
31.01.2011, 09:47
Alex77755,
самому по учебнику нельзя обучиться программированию.
Смелое утверждение. А ты пробовал? Зачем их тогда пишут? Ну, если прочитал, то ты уже можешь считать себя программистом это конечно же не так. Но я то научился. Не спрашивал не у кого как сделать то, над чем сижу пол дня. А сидел, потел и наконец находил выход. Книги дают базовые знания (если их читают те, кто хочет это знать), которые ты забудешь через неделю, если не будет практики. Самое главное очень много практиковаться и не нужны не какие курсы (где тому же и учат, только за деньги).

Alex77755,
все кому не лень лезут в программирование: какие-то самоучители кто-то пишет зачем-то - бред полнейший. Как-будто по учебнику по программированию может научиться программированию простой человек.
С тем что много "воды" среди программистов (не ПРО как мы уже говорили, простые смертные) не согласиться просто невозможно. "Простой человек" (я понимаю под этим обычного пользователя который знает что программирование ЭТО ЛЁГКИЕ ДЕНЬГИ И КРУТО ) конечно же ничего из них не подчерпнёт, даже наврятли такие читают книги. Они сразу выдерают куски кода, лепят программы, а которых кусков нет, то задают вопросы на форумах. Но те, кому это интересно (например ты
я на работе столкнулся с VBA - оттуда пошло. Да и просто считаю программирование интересным и полезным для мозгов.
)
могут взять от туда полезную инфу.

я брал учебник по VBA, но не смог по нему научиться.
Может книга не совсем хорошо написана?

а мне на первой лекции в вузе сказали, что вуз в основном учит учиться
True. В универе на специальности с вязанной с программированием тебя не научат делать крутые программы. Там дадут основы (почти то, что и в книгах пишут, только теории в них меньше) и всё. Будет практика - будет и результат тогда.

Я прочел самоучитель но ответа не нашел.
В гугляндии много ответов на твой вопрос, в частности как создать часы. Нуу не могут же авторы книг написать все программы, которые тебе необходимы в данный момент.
0
исследователь
325 / 104 / 3
Регистрация: 18.03.2010
Сообщений: 1,079
Записей в блоге: 2
31.01.2011, 14:26
Тогда сделать просто глобальную переменную и в процедуре обработки события Tick таймера ее инкрементировать. Все ограничения на интервал таймера снимаются.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.01.2011, 14:26
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru