Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: двойной вопрос.. Добавлено: 29.09.04 17:12  

Автор вопроса:  ZoomerSD | ICQ: 148640473 
вот представьте себе, есть довольно-таки большой код, выполнение которого занимает некоторое время, и спрашиваеться, как мне 1) узнать за сколько млсек процедура была выполнена, и 2) надо чтобы программа не вподала в ступор, продолжала выполнять действия..
всем заранее большиое спасибо!

Ответить

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

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



Вопросов: 30
Ответов: 683
 Профиль | | #1 Добавлено: 29.09.04 17:15
1) Засекай время в первой и последней строчках процедуры
2) DoEvents в начале функций

Ответить

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



ICQ: 148640473 

Вопросов: 135
Ответов: 270
 Профиль | | #2 Добавлено: 29.09.04 17:48
за 2-ое спосибо. а вот с первым сложнее, если засекать время с помощью Time, то я смогу получить только секунды, а мне нужно точнее.

Ответить

Номер ответа: 3
Автор ответа:
 User Unknown



Вечный Юзер!

ICQ: uu@jabber.cz 

Вопросов: 120
Ответов: 3302
 Профиль | | #3 Добавлено: 29.09.04 17:51
замеряй тики...

Ответить

Номер ответа: 4
Автор ответа:
 Pashenko



ICQ: 176176951 

Вопросов: 14
Ответов: 655
 Профиль | | #4 Добавлено: 29.09.04 17:53
Используй функцию Timer.

Ответить

Номер ответа: 5
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #5
Добавлено: 29.09.04 20:55
GetTickCount до и после процедуры, вычитаешь, получаешь... все...

ЗЫ
Вингда - ОС типа многозадачная т.ч. время будет во многих случаях различаться, т.к. винда может в любое время твой процесс "приостановить" и отдать сэкономленое процессорное время любому другому процессу ;)

Ответить

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



ICQ: 247906854 

Вопросов: 133
Ответов: 882
 Web-сайт: neco.pisem.net
 Профиль | | #6
Добавлено: 30.09.04 10:50
t1=timer
' Код
t2=timer
Msgbox "Код выполнялся "+CStr(t2-t1)+" сек."

Ответить

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



Вопросов: 86
Ответов: 920
 Профиль | | #7 Добавлено: 30.09.04 19:08
Neco, chel. vrode ponyatno skazal, emu v MILIsekundah nado......

delaj kak sne skazal, cherez GetTickCount API

Ответить

Номер ответа: 8
Автор ответа:
 ZoomerSD



ICQ: 148640473 

Вопросов: 135
Ответов: 270
 Профиль | | #8 Добавлено: 30.09.04 20:32
насчёт GetTipCount разобрался, спасибо, а вот с первым вопросом непонятки, делал такой код:
[CODE]
Private Sub Command1_Click()
DoEvents
While Not Val(Text1.Text) = 500
Wend
End Sub

Private Sub Timer1_Timer()
Text1.Text = Val(Text1.Text) + 1
End Sub
[/CODE]
таймер с интервалом 1
по нажатии на кнопку, всё замирает

Ответить

Номер ответа: 9
Автор ответа:
 Neco



ICQ: 247906854 

Вопросов: 133
Ответов: 882
 Web-сайт: neco.pisem.net
 Профиль | | #9
Добавлено: 30.09.04 20:38
0.484375 - это разве не "мили-"? По-моему это "мили"^2.
Сколько себя помню (лет в пять начал) всегда пользовался этим кодом для замера скорости выполнения алгоритмов и всегда результат мне выдавался с точностью до шестого знака.
Просто значение имеет тип t1 и t2

А DoEvents надо ставить там где у тебя прога замирает, т.е. внутри цикла.

Ответить

Номер ответа: 10
Автор ответа:
 Neco



ICQ: 247906854 

Вопросов: 133
Ответов: 882
 Web-сайт: neco.pisem.net
 Профиль | | #10
Добавлено: 30.09.04 20:40
И ему не нужно "мили", ему нужно "точнее" чем Time...

Ответить

Номер ответа: 11
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #11
Добавлено: 01.10.04 00:22
2Neco ф-ция таймер врет самым бессовестным образом, т.ч. не стоит доверять ей...

Ответить

Страница: 1 |

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



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