Форум: "Основная";
Текущий архив: 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.043 c