Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.25;
Скачать: CL | DM;

Вниз

Время выполнения процедуры   Найти похожие ветки 

 
Dmitriy_G ©   (2004-02-13 16:11) [0]

Как мне узнать сколько времени работала процедура? Можно засечь с помощью GetTickCount, но я не знаю как потом все это вывести в подабающем формате.
Спасибо.


 
Palladin ©   (2004-02-13 16:14) [1]

а какой подобающий формат тебе надо? с делением проблеммы?


 
Юрий Зотов ©   (2004-02-13 16:16) [2]

procedure TForm1.MyProc;
var
T: DWORD;
begin
T := GetTickCount;
... // Тело процедуры
Caption := IntToStr(GetTickCount - T)
end;


 
Dmitriy O. ©   (2004-02-13 16:18) [3]

Очень просто надо считать кольчество срабатывания таймера во время выполнения процедуры. Таймер выставить на еденицу. Включать
(сбрас счетчик) при начале выполнения и переставать считать при выходе из процедуры. Выводить с пом стандарта преобразования целого в строку.


 
Palladin ©   (2004-02-13 16:20) [4]


> Dmitriy O. © (13.02.04 16:18) [3]

чччевоо?


 
Семен Сорокин ©   (2004-02-13 16:25) [5]

другой вариант (не такой точный):
var
_tm: TDateTime;

..
_tm := Now;
... // Тело процедуры
Caption := FormatDateTime("nn:ss", Now - _tm)


 
Dmitriy_G ©   (2004-02-13 16:37) [6]

Юрий Зотов © (13.02.04 16:16) [2]
Спасибо конечно, но я так и делал. Вывод получается в мили секундах. А мне хочется, чтобы формат поприличнее был (0:00:00)
Palladin © (13.02.04 16:14) [1]
С делением, проблемы особенно если столбиком ;)
Я просто расчитывал что можно, не особо извращаясь (деля) получить из 7500 -> 0:07:50

Семен Сорокин © (13.02.04 16:25) [5]
Низкий поклон. То что надо.


 
Семен Сорокин ©   (2004-02-13 16:40) [7]

Вывод получается в мили секундах. А мне хочется, чтобы формат поприличнее был (0:00:00)
вроде высшее образование, а миллисекунды в минуты и часы не перевести :(


 
Тимохов ©   (2004-02-13 16:46) [8]

Еще лучше QueryPerformanceCounter - меряет вообще офигительно точно.


 
Dmitriy_G ©   (2004-02-13 16:49) [9]

Я бы дольше вспоминал сколько секунд в минуте, вы мне быстрее ответ написали ;)


 
NAlexey ©   (2004-02-13 16:50) [10]

>вроде высшее образование, а миллисекунды в минуты и часы не перевести
Так таким вещам же не учат в иститутах:) Это приходит с опытом.


 
NAlexey ©   (2004-02-13 16:52) [11]

>Я бы дольше вспоминал сколько секунд в минуте, вы мне быстрее ответ написали ;)
Вот так вот... На всякого мудреца довольно простоты.


 
Dmitriy_G ©   (2004-02-13 16:58) [12]

Тимохов © (13.02.04 16:46) [8]
А можно поподробнее, про функцию, лучше даже с примером. А также скажи сколько секунд в минуте ;)

PS Ничего не знаю, мне еще полгода учится ;)


 
Тимохов ©   (2004-02-13 17:01) [13]


> А можно поподробнее, про функцию

нельзя

> лучше даже с примером

тем более нельзя.

Братец, ну, тривиальная же функция с одним параметром, какой вам еще нужен пример? Заодно гляньте QueryPerformanceFrequency - эта возвращает количество тиков в секунде.
Осталось одно посчитать сколько тиков прошло потом поделить на результат QueryPerformanceFrequency.
Все. Разберетесь?


 
Anatoly Podgoretsky ©   (2004-02-13 17:01) [14]

Dmitriy_G © (13.02.04 16:37) [6]
Все тоже деление, хинт в сутках 86400000 миллисекунд
Попробуй сам вычислить эту величину


 
Dmitriy_G ©   (2004-02-13 17:18) [15]

Тимохов © (13.02.04 17:01) [13]
Вообще-то нет, не разберусь.Сейчас дописываю программатор (для EEPROM 24c16 и те что рядом) это моя вторая программа на Делфи, до этого я только ПИКи на ассемблере программировал. Но вот понадобилось, учусь писать на Делфи, а учится нужно на примерах. Хотя бы в начале.



Страницы: 1 вся ветка

Текущий архив: 2004.02.25;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.019 c
1-79876
Yanis
2004-02-09 21:01
2004.02.25
Res


9-79525
Silentor
2003-08-08 22:05
2004.02.25
Кто нибудь создавал МПП?


1-80017
Developer
2004-02-13 08:59
2004.02.25
Объект автоматизации с поддержкой определенного COM-интерфейса


3-79651
OlegM
2004-02-02 12:46
2004.02.25
Автоинкрементное поле в таблицах dBase


1-79917
Khabibulin
2004-02-13 21:45
2004.02.25
SystemTray