Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Таймер с точностью до миллисекунд 
:(
    Опции темы
CORPORAL
Дата 23.10.2011, 21:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 3.1.2010

Репутация: нет
Всего: нет



Делаю банальный секундомер, который после нажатии кнопки "Старт" запускается через рандом миллисекунд. Это все вывожу в label на форму:
Код

 private void Start_Click(object sender, EventArgs e)
        {
            Random r = new Random(DateTime.Now.Millisecond);
            int i = r.Next(0,5000);
            TimerCallback tcb = TimeToText;            
            stateTimer = new System.Threading.Timer(tcb, null, i, 1);  
           
        }
        private void Stop_Click(object sender, EventArgs e)
        {
            stateTimer.Dispose();
            SecDec = 0; SecEd = 0; Millesec = 0;   // интовские переменные
        }

        private void TimeToText(Object d)
        {
            
            label1.Text = SecDec.ToString() + SecEd.ToString() + ":" + Millesec.ToString();
            Millesec++;
            if (Millesec == 100) {SecEd ++; Millesec=0;}// вот тут переключаются единицы секунды и обнуляются миллисекунды
            if (SecEd == 10) { SecDec++; SecEd = 0; Millesec = 0; }// аналогично переключаются десятки секунды
        }

Почему секунда (видно визуально) тикает чуть дольше нормальной секунды?
Ставлю if (Millesec == 60) - вроде нормально (программно не проверял), но в секунде 1000 миллисекунд. как быть?
PM MAIL   Вверх
jonie
Дата 24.10.2011, 08:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 22
Всего: 118



а кто вам сказал что у вас операционная система реального времени хотя бы? Да и кто вам не рассказал про тики в ОС ?


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
CORPORAL
Дата 24.10.2011, 22:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 3.1.2010

Репутация: нет
Всего: нет



 smile 
Спасибо, разобрался

Это сообщение отредактировал(а) CORPORAL - 25.10.2011, 23:57
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0986 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.