Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.02.25;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.199 c
1-79993
Uriel
2004-02-13 13:42
2004.02.25
FindFirst & FindNext


3-79579
venus
2004-01-29 11:45
2004.02.25
Сортировка записей в БД


14-80180
Solom
2004-01-31 20:22
2004.02.25
компилятор не видит TTabStrings


7-80337
sden
2003-12-06 15:46
2004.02.25
Проблема с OVERLAPPED


14-80228
tvm
2004-02-04 23:28
2004.02.25
я только учусь





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский