Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.04;
Скачать: [xml.tar.bz2];




Вниз

пиплы! нужен хэлп по таймерам под виндой! 


_xiod (sorry? forg.own.passw)   (2002-03-23 02:34) [0]

как в дельфе (напр) получить таймер
с разрешением 0.001 и выше ?
(ессесно полный хардвар)

ах... старый добрый ДОС... 0.0000001 sec...
плз!!!



VID   (2002-03-23 02:42) [1]

Для начала описываешь процедуру, которая будет вызываться по сообщению от таймера :
procedure FNTimeCallBack(uTimerID, uMessage: UINT;dwUser, dw1, dw2: DWORD)
stdcall;
begin
//
// Тело процедуры.
end;
а дальше в программе (например по нажатию кнопки) создаешь Таймер и вешаешь на него созданную процедуру

uTimerID:=timeSetEvent(10,500,@FNTimeCallBack,100,TIME_PERIODIC);

Подробности смотри в Help.
Hу и в конце убиваешь таймер

timeKillEvent(uTimerID);

И все. Точность этого способа до 1 мсек. минимальный интервал времени можно задавать 1 мсек.

{это добро содрано с одного FAQ}



Serhii   (2002-03-23 03:06) [2]

> VID
Описал ты конечно все правильно. Но обратил ли ты внимание на сам вопрос:
"как в дельфе (напр) получить таймер с разрешением 0.001 и выше ?"

>_xiod (sorry? forg.own.passw) (23.03.02 02:34)

>как в дельфе (напр) получить таймер
>с разрешением 0.001 и выше ?
>(ессесно полный хардвар)
>ах... старый добрый ДОС... 0.0000001 sec...плз!!!

А, кстати, в старом добром ДОСе, что вы "успевали" делать по таймеру "0.0000001 сек"?



Anatoly Podgoretsky   (2002-03-23 09:46) [3]

Serhii (23.03.02 03:06)
Не тут он обманывает или речь идет не про таймер.

_xiod (sorry? forg.own.passw) (23.03.02 02:34)
Интервалы можно измерить с разрешающей способностью один так процессора, но точность плюс/минус бесконечность, это как тебе позволит ОС, а она не реального времени.

Если тебе нужно всетаки измерение, а не таймер, то смотри ассемблерную команду RDTSC, примеры использования найдешь поиском по сайту, а если аппаратный таймер, то максимум на что ты можешь расчитывать это 0,993 мс, но все с учетом ОС



VID   (2002-03-23 13:04) [4]

TO ALL: Ну что ж, наверное не попал :)




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.04;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.02 c
1-9520            snoup                 2002-03-23 09:14  2002.04.04  
Кидаю на форму TEdit и кнопку в OnButtonClick пишу: Shellexecute(handle,nil, edit1.text ,nil,nil,SW_SHow);


1-9518            _xiod (sorry? forg.o  2002-03-23 02:34  2002.04.04  
пиплы! нужен хэлп по таймерам под виндой!


14-9646           Morfey                2002-02-23 04:23  2002.04.04  
Как открыть файл в HEX виде.


1-9486            skywalker             2002-03-22 15:56  2002.04.04  
SetLength


7-9655            asafr                 2001-07-30 14:11  2002.04.04  
Замедление вращения CD-Rom