Вверх ↑
Этот топик читают: Гость
Ответов: 655
Рейтинг: 18
#1: 2013-03-11 12:09:58 ЛС | профиль | цитата
Всем привет!

Понадобился таймер обратного отсчета накидал быстро схемку и заметил следующее: таймер (допустим на 60 сек) быстрее производит отсчет чем системное время или время на телефоне.
Другими словами..запускал на телефоне секундомер одновременно с таймером на ПК..таймер на ПК секунд на 15 быстрее завершает отсчет.

Подскажите где ошибка, схема в аттаче.
code_30549.txt
карма: 0

0
файлы: 1code_30549.txt [808B] [192]
Гость
Ответов: 17029
Рейтинг: 0
#2: 2013-03-11 12:18:32 правка | ЛС | профиль | цитата


Редактировалось 4 раз(а), последний 2021-05-21 07:57:02
карма: 0

0
Ответов: 655
Рейтинг: 18
#3: 2013-03-11 12:20:57 ЛС | профиль | цитата
что использовать тогда MMtimer? Но он отдельный поток создает же?
карма: 0

0
Гость
Ответов: 17029
Рейтинг: 0
#4: 2013-03-11 12:34:40 правка | ЛС | профиль | цитата


Редактировалось 4 раз(а), последний 2021-05-21 07:57:02
карма: 0

0
Разработчик
Ответов: 26164
Рейтинг: 2127
#5: 2013-03-11 12:37:00 ЛС | профиль | цитата
Gunnman писал(а):
что использовать тогда MMtimer?

Можно и MMTimer, но только исключить его работу с интерфейсными элементами

Add(MainForm,14752873,287,357)
{
Width=398
link(onCreate,9679763:doTimer,[])
}
Add(Timer,9679763,434,371)
{
Interval=10
Enable=1
link(onTimer,5778914:doData,[])
}
Add(CounterEx,12375926,532,245)
{
Direct=1
Point(onThroughMax)
Point(doMax)
}
Add(Edit,13388218,434,287)
{
Left=25
Top=25
Point(doEnabled)
link(onChange,12375926:doMax,[(515,293)(515,258)])
}
Add(Label,6786863,532,371)
{
Left=110
Top=25
Width=205
}
Add(Button,5287212,287,245)
{
Left=25
Top=65
Data=Integer(0)
link(onClick,3707655:doEvent1,[])
}
Add(If_else,4645026,532,322)
{
Op2=String(0)
link(onTrue,13157048:doEvent1,[])
link(Op1,14470121:Var2,[])
}
Add(Hub,2694689,483,245)
{
link(onEvent1,12375926:doNext,[])
link(onEvent2,4645026:doCompare,[(508,258)(508,328)])
}
Add(MMTimer,480425,434,245)
{
Resolution=0
Enable=1
link(onTimer,2694689:doEvent1,[])
}
Add(GetDataEx,14470121,532,301)
{
link(Data,12375926:Count,[])
}
Add(ChangeMon,5778914,483,371)
{
Data=Integer(0)
link(onData,6786863:doText,[])
link(Data,14470121:Var1,[(489,306)])
}
Add(Hub,3707655,336,245)
{
link(onEvent1,480425:doTimer,[])
link(onEvent2,6400001:doWork1,[(372,258)])
}
Add(Hub,13157048,588,322)
{
link(onEvent1,480425:doStop,[(613,328)(613,237)(424,237)(424,258)])
link(onEvent2,6400001:doWork3,[(613,335)(613,363)(372,363)])
}
Add(HubEx,6400001,368,301)
{
link(onEvent,13388218:doEnabled,[])
}

карма: 22

0
Ответов: 16884
Рейтинг: 1239
#6: 2013-03-11 12:55:52 ЛС | профиль | цитата
Точность +- 1 сек.
code_30552.txt
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1code_30552.txt [941B] [156]
Разработчик
Ответов: 26164
Рейтинг: 2127
#7: 2013-03-11 13:05:43 ЛС | профиль | цитата
Tad писал(а):
Точность +- 1 сек

А тогда как объяснить вот это
Gunnman писал(а):
таймер (допустим на 60 сек) быстрее производит отсчет чем системное время или время на телефоне.

У тебя же тоже стоит таймер с интервалом в 1 сек

Да и условие задачи не выполнено
Gunnman писал(а):
Понадобился таймер обратного отсчета

карма: 22

0
Ответов: 655
Рейтинг: 18
#8: 2013-03-11 13:31:53 ЛС | профиль | цитата
Что-то я запутался..так, у меня стоит таймер с интервалом в 1 сек + счетчик значение счетчика идет в Lable..
каждую итерацию таймера срабатывает счетчик..по идее 60 итераций таймера = 60 секунд (и значение счетчика должно быть 60).
------------ Дoбавленo в 13.31:
Моя схема:
1) на процессоре Intel Core I5 650 win7 32bit (на работе) дает результат точный
2) на процессоре AMD A10-4600M win7 64bit (дома)дает результат на 15 секунд быстрее.

Тестировал так: запускал схему и таймер на телефоне (либо онлайн таймер)
карма: 0

0
Ответов: 4631
Рейтинг: 749
#9: 2013-03-11 13:35:33 ЛС | профиль | цитата
Gunnman, проверь эту схему:
code_30554.txt
У меня на Athlon и Win2000 вроде нормально...

карма: 26

0
файлы: 1code_30554.txt [709B] [400]
Ответов: 655
Рейтинг: 18
#10: 2013-03-11 13:40:16 ЛС | профиль | цитата
Netspirit, nesco, Tad, gprs-client-83.149.9.186., Всем спасибо, проверил все схемы на Intel Core I5 650 win7 32bit, вечером проверю на AMD A10-4600M win7 64bit отпишусь.
------------ Дoбавленo в 13.40:
Netspirit, у меня дома лежит Windows Server 2000 с наклейкой) ни разу не ставился)
карма: 0

0
Ответов: 4631
Рейтинг: 749
#11: 2013-03-11 13:41:38 ЛС | профиль | цитата
Так я на работе... Дома у меня на VMWare стоит, но редко пользуюсь.
карма: 26

0
Ответов: 16884
Рейтинг: 1239
#12: 2013-03-11 15:40:13 ЛС | профиль | цитата
nesco, дарю (и назад считает и 100% гарантия, что не собъётся ).
code_30555.txt
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1code_30555.txt [1.7KB] [222]
Разработчик
Ответов: 26164
Рейтинг: 2127
#13: 2013-03-11 15:46:43 ЛС | профиль | цитата
Tad писал(а):
дарю

А мне оно зачем, я не просил
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#14: 2013-03-11 15:52:08 ЛС | профиль | цитата
А это ответ на:
nesco писал(а):
Tad писал(а)Точность +- 1 сек
А тогда как объяснить вот это
Gunnman писал(а)таймер (допустим на 60 сек) быстрее производит отсчет чем системное время или время на телефоне.
У тебя же тоже стоит таймер с интервалом в 1 сек
Да и условие задачи не выполнено
Gunnman писал(а)Понадобился таймер обратного отсчета

Точного времени начала Олимпиады не знаю - поставил на 8:00:00


карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 8930
Рейтинг: 823
#15: 2013-03-11 15:52:17 ЛС | профиль | цитата
nesco писал(а):
А мне оно зачем
Мне пригодилось, в автозагрузку положил: включу компьютер, сразу nesco вспомню
карма: 19

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)