Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Машина времени! Добавлено: 03.01.04 19:41  

Автор вопроса:  el Di@mond | Web-сайт: www.artofcode.by.ru | ICQ: 313950105 

В чем проблема?

У меня таймер отмеряет скорость выполнения цикличной процедуры, получается так что он считает вместо семи - четыри минуты!:-( Как исправить?! Или хотя бы подскажите как делается такая же функция (выяснение скорости выполнения)

Ответить

  Ответы Всего ответов: 7  

Номер ответа: 1
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #1
Добавлено: 03.01.04 19:45

Засекай время перед циклом и после него. Или я неправильно понял?

Ответить

Номер ответа: 2
Автор ответа:
 cresta



Вопросов: 117
Ответов: 1538
 Профиль | | #2 Добавлено: 03.01.04 22:39

У таймера свои какие-то заморочки постоянно. Если не требуется дискретность меньше секунды, то поставь перед циклом Debug.Print Now  и после цикла тоже. Если это надо где-то в программе учитывать то Right$(CStr(Now),8)

Ответить

Номер ответа: 3
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #3
Добавлено: 03.01.04 23:25

Можно просто брать Timer$ - он довольно точен (1 тик=1/18.2 сек)

Ответить

Номер ответа: 4
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #4
Добавлено: 04.01.04 09:57
Не совсем понятен вопрос. Приведите, пожалуйста, код.

Ответить

Номер ответа: 5
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #5
Добавлено: 05.01.04 11:22
Я так понял, что во время выполнения длительной операции параллельно
работает Timer. И он глючит (интервал возникновения события далёк от
того, что задан в св-ве Intervel). Так?
Тогда всё понятно. Ведь работа таймера основана на оконных
сообщениях Windows. И пока выполняется Ваш код, программа не
обрабаотывает приходящие окну сообщения.
Как это порешить - не знаю. DoEvents возможно ситуацию спасёт, а
может и нет. Я бы посоветовал отказаться от использования таймера.

Ответить

Номер ответа: 6
Автор ответа:
 cresta



Вопросов: 117
Ответов: 1538
 Профиль | | #6 Добавлено: 05.01.04 14:15
DoEvents вместе с таймером - это катастрофа. Doevents - вещь ещё менее предсказуемая, чем таймер. Может в АПЯх порыться, там были какие-то функции работы со временем. Но это действительно надо видеть сам код

Ответить

Номер ответа: 7
Автор ответа:
 boevik



Хранитель чата

ICQ: 137392264 

Вопросов: 8
Ответов: 557
 Web-сайт: www.hypertech.ru
 Профиль | | #7
Добавлено: 05.01.04 17:33

Если надо замерить время выполнения цикла то

Dim StartTimer  as Single, EndTimer as single

StartTimer = Timer

....  'Loop

EndTimer = Timer

MsgBox "Выполнение цикла заняло " & EndTimer  - StartTimer & " секунд."

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам