Счетчик

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Юджин
Обычный пользователь
Обычный пользователь
 
Сообщения: 90
Зарегистрирован: 26.10.2005 (Ср) 12:49

Счетчик

Сообщение Юджин » 11.11.2005 (Пт) 22:47

как сделать счетчик времени выполнения процедуры, отображаемый на форме?

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 11.11.2005 (Пт) 23:00

В таймере вычитаем время начала выполнения процедуры из текущего времени. Результат пишем на форме.

Какой пункт непонятен?

Arcanoid
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 162
Зарегистрирован: 01.01.2005 (Сб) 15:44

Сообщение Arcanoid » 11.11.2005 (Пт) 23:51

dim t as long

t = GetTickCount()
'... выполнение процедуры
t = GetTickCount() - t

form.caption = t & " ms"
Invalid user or password...

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 11.11.2005 (Пт) 23:53

Юджин, задайте вопрос еще раз. Какой нужен таймер? Динамический (сколько уже выполняется процедура) или статический (сколько она выполнялась)?

SeT
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 362
Зарегистрирован: 29.12.2004 (Ср) 13:11

Сообщение SeT » 12.11.2005 (Сб) 9:33

Небусь динамическо-статистический, к чему такие сложности.
01000100
Причиняет боль 0010
Виртуальная любовь 00100
Индустрия снов 0010

Юджин
Обычный пользователь
Обычный пользователь
 
Сообщения: 90
Зарегистрирован: 26.10.2005 (Ср) 12:49

Сообщение Юджин » 14.11.2005 (Пн) 17:42

нужен динамический таймер

Firestorm
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 946
Зарегистрирован: 02.05.2002 (Чт) 14:36
Откуда: Russia

Сообщение Firestorm » 17.11.2005 (Чт) 3:04

юзай GetTickCount
чтоб не висла программа, приписывай DoEvents :twisted:
...просто гламурный падонак...
_________________
reborn! v.2 :twisted:
_________________

Бяка
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 219
Зарегистрирован: 21.09.2005 (Ср) 21:28

Сообщение Бяка » 18.11.2005 (Пт) 2:11

Наверно ето можно в ету тему написать:

КАК ЗЫДЕЛАТЬ ЗАДЕРЖКУ в 15 микросек +/- 5мксек?
а также 50

Faust
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 649
Зарегистрирован: 29.12.2003 (Пн) 13:38
Откуда: лаборатория

Сообщение Faust » 18.11.2005 (Пт) 17:04

А тебе точно нужны именно микросекунды? Мили не подойдут? Ну да ладно. Где-то на форуме лежал материал по поводу более точных API, не юзающих единый виндовский таймер. Мне же голову приходит только дурной способ, зависимый от загрузки процессора в каждый момент времени, но все же позволяющий на больших промежутках времени получать нужную картину.
Код: Выделить всё
Private Declare Function timeGetTime Lib "winmm.dll" () As Long
Dim i As long, j as long, k as long, etalon as single, t as long
t=timegettime
i=0
'Десять секунд тратиться на определение быстродействия
Do
   i=i+1
Loop while timegettime-t<10000
etalon=i/200000 'количество итераций, занимающее около 50 мкс
Do While working 'working - некая булевая переменная, указатель того, что еще нужно работать
j=0
i=0
Do
j=j+1
k=clng(j*etalon)
Do
   i=i+1
Loop while i<k
Call ToChtoNado 'весь остальной код (не является же задержка в 50 мкс самоцелью?)
Loop until j=200000
Loop

По-моему, так. (с) Винни-пух
Листинги не горят!


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, YaCy [Bot], Yandex-бот и гости: 198

    TopList  
cron