Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Делфи _ Счётчик времени...

Автор: Vardes 10.02.2007 23:44

Никак не могу реализовать счётчик времени, который вычислял бы время работы программы...С компонентом Timer повозился, но что-то не помогло....

Автор: Bokul 10.02.2007 23:50

Смотри в сторону WinApi функции gettickcount. http://forum.pascal.net.ru/index.php?s=&showtopic=14902&view=findpost&p=86265 пример, но для другого компилятора. А http://msdn2.microsoft.com/en-us/library/ms724408.aspx документация .

Автор: volvo 10.02.2007 23:53

http://volvo71.narod.ru/time_count.htm

(все, что подходит для FPC, подходит и для Дельфи)

Автор: Bokul 11.02.2007 0:17

Ухты, апргрейд на сайте, класно good.gif

Автор: Vardes 11.02.2007 0:21

Цитата(Bokul @ 10.02.2007 19:50) *

Смотри в сторону WinApi функции gettickcount. http://forum.pascal.net.ru/index.php?s=&showtopic=14902&view=findpost&p=86265 пример, но для другого компилятора. А http://msdn2.microsoft.com/en-us/library/ms724408.aspx документация .

До WinApi функций мне ещё далеко...мне бы в обычных компонентах разобраться...А более простой выход есть?

Автор: Bokul 11.02.2007 0:30

Ну зайди же по ссылки volvo. Там все доступно написано, тем более что само измерение занимает 2 строчки кода..

Автор: Vardes 11.02.2007 1:02

Да ссылку я после увидел...Всё получается, только вот не получается в формате времени вывести...Почему-то когда пишешь так ....Caption:=TimeToStr(Duration)....результат выводится нулями...

Автор: volvo 11.02.2007 1:05

Погоди. А Duration у тебя что, типа TDateTime? Какой способ ты выбрал?

Автор: Vardes 11.02.2007 1:08

Млин, я уже запутался...нет не TDateTime,хотя и с ним я пробовал.Я Cardinal брал....

Автор: Vardes 11.02.2007 1:38

Я так понимаю, что теперь милисекунды перевести в формат времени (процедурку написать) и всё будет решено?

Автор: volvo 11.02.2007 1:54

Не надо ничего писать... Все уже написано:

Var Duration: Cardinal;
...
Caption := FormatDateTime('h "hours" n "minutes" s"."z "seconds"', Duration/86400000);
и будет тебе время с точностью до миллисекунд...