|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.09.2016, 12:25 | #1 |
Регистрация: 21.05.2015
Сообщений: 9
|
Таймер в массиве и интервал времени
Бодрое время суток Товарищи.
Помогите пожалуйста разобраться. Есть поле Edit в котором задаю кол-во времени по умолчанию в миллисекундах. Есть ComboBox в котором заполненны меры времени: мс, сек, мин, час. Пару вопросов: 1. Как для каждого таймера который в массиве задавать интервал 2. И каким образом менять его в зависимости от выбранного ComboBox.Items я думал что это будет как то так: PHP код:
Если у таймера по умолчанию поставить интервал = 1, прога работает, но отсчет времени делается неправильно. 1 сек = 1000 мс, но если в Edit ввести 1000, то отсчет будет идти явно не 1 секунду. Можно как то решить такое? Ниже привожу код: PHP код:
|
21.09.2016, 13:13 | #2 | ||||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
Цитата:
ну и делать интервал в 1 мс бессмысленно, таймер в винде срабатывает намного реже. Цитата:
вполне возможно, что Вам достаточно ОДНОГО таймера, в котором будут проверяться некие интервалы времени и производиться нужные действия. Для чего это всё? p.s. Цитата:
p.p.s. а на второй ваш вопрос ответ такой: на второй вопрос ответ такой Код:
Последний раз редактировалось Serge_Bliznykov; 21.09.2016 в 13:22. |
||||
21.09.2016, 13:33 | #3 |
Регистрация: 21.05.2015
Сообщений: 9
|
Это клавиатурный кликер.
Привел в пример лишь TimePress[1], Edit1 и ComboBox1, а таких там 12, и все обрабатывает один таймер. Может есть смысл делать 12 отдельных таймеров? На сколько это правильно и быстрее? Спасибо большое, понятно Последний раз редактировалось yohohox; 21.09.2016 в 13:43. |
21.09.2016, 16:26 | #4 |
Регистрация: 21.05.2015
Сообщений: 9
|
Вся моя проблема насколько я понимаю находится в процедуре Dec() которая отнимает по 1 из заданного значения в Edit.
Причем отнимает по -1 раз в 1 миллисекунду. И теперь понятно почему расчеты идут не верно. Исходя из того что в 1 секунде = 1000 миллесекунд, я думал что введя в поле Edit1 значение 1000 и запустив, будет выполняться действие раз в секунду, а не тут то было. |
21.09.2016, 16:44 | #5 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
всё, разобрались? Теперь проблема решена?
|
21.09.2016, 16:53 | #6 |
Регистрация: 21.05.2015
Сообщений: 9
|
Нет, нашел корень проблемы, а разобраться с ней еще предстоит. Пока гуглю, может всплывет что.
Может быть можно каким то образом, повлиять на процедуру Dec таким образом, чтобы были правильные расчеты? Если решение найдется, я его обязательно озвучу, дабы помочь кому либо с подобными проблемами. |
21.09.2016, 17:07 | #7 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,528
|
где-то при ВКЛЮЧЕНИИ таймера
Код:
Код:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 21.09.2016 в 17:10. |
21.09.2016, 17:42 | #8 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
evg_m, угу, точно так.
Цитата:
p.s. кстати, подобный приём нужно использовать и в тех случаях, когда таймер используется для вывода часиков/таймера/оставшегося времени и т.п. Даже если некоторые срабатывания кода таймера будет пропущено, это никак не повлияет на корректную работу программы. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Интервал времени | Luchfan12 | Помощь студентам | 2 | 14.03.2014 02:39 |
Программа: Определить число нажатий клавиш Ctrl за заданный интервал времени не больше 20 секунд (asm) | reg7 | Фриланс | 1 | 07.01.2011 18:48 |
Определить интервал времени JS | stepennwolf | JavaScript, Ajax | 4 | 27.12.2010 22:15 |
Excel 2007 Как расчитать интервал времени за несколько суток | Олег SH | Помощь студентам | 0 | 29.11.2009 10:47 |
Как возратить динамическое число в интервал времени | Psm | Microsoft Office Excel | 3 | 11.06.2009 21:53 |