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

Вниз

Отсчёт времени(Timer) в отдельном потоке   Найти похожие ветки 

 
Zhekson   (2004-10-20 12:39) [0]

Тема!


 
Ega23 ©   (2004-10-20 12:40) [1]

Акваланг!


 
default ©   (2004-10-20 12:44) [2]

не спорю, действительно тема, только знать бы что с ней делать


 
Cosinus ©   (2004-10-20 12:54) [3]

Ну зачем же сразу поток то...
Может GetTickCount + Application.ProcessMessages поможет?


 
Zhekson   (2004-10-20 12:58) [4]

GetTickCount + F1 = пусто;

Хоть в двух словах., что это за функция???


 
Digitman ©   (2004-10-20 12:59) [5]


> Zhekson   (20.10.04 12:39)  
> Тема!


Лекцию что ли ожидаешь ?


 
begin...end ©   (2004-10-20 13:01) [6]


> [4] Zhekson   (20.10.04 12:58)

Help -> Windows SDK -> GetTickCount
Густо...


 
default ©   (2004-10-20 13:01) [7]

Zhekson   (20.10.04 12:58) [4]
в SDK смотри а не дельфёвом хелпе да и по F1 всё должно показываться


 
Cosinus ©   (2004-10-20 13:02) [8]

Модуль idGlobal.
Retrieves the number of milliseconds since the computer was started.

function GetTickCount: Cardinal;
Returns
Cardinal - Number of milliseconds (ticks).

Description
GetTickCount is a Cardinal function used to retrieve the number of milliseconds since the computer was started.
GetTickCount is often used when calculating the response times for Indy components such as TIdEcho and TIdTime.
GetTickCount encapsulates the platform-specific calls necessary to provide a high resolution timer for fixed duration events. On the Windows platform, the function used is Windows.GetTickCount. On the Linux platform, GetTickCount uses the library function clock adjusted to thousandths of CLOCKS_PER_SECs.

Кстати я не уверен, в каких Дельфях она появилась...


 
GuAV ©   (2004-10-20 13:09) [9]

Cosinus ©   (20.10.04 13:02) [8]
Кстати я не уверен, в каких Дельфях она появилась...

:-)
А в каких появилась CreateWindow ?
или CreateFile ?


 
Zhekson   (2004-10-20 13:11) [10]

>Ega23 ©   (20.10.04 12:40) [1]
Протуберанс!

>default ©   (20.10.04 12:44) [2]
как узнаю расскажу, оставь координаты.

>Digitman ©   (20.10.04 12:59) [5]
нет, пытаюсь получить ответ раньше чем могу разобраться в нём сам. Просто не вру.

>begin...end ©   (20.10.04 13:01) [6]
Серьёзно.., просто не знаю что такое SDK и где у него вход.

>default ©   (20.10.04 13:01) [7]
SDK??? GetTickCount + F1 = пусто.(жирная)

>Cosinus ©   (20.10.04 13:02) [8]
Спасибо.


 
default ©   (2004-10-20 13:13) [11]

GuAV ©   (20.10.04 13:09) [9]
лучше спроси что раньше появился синус или КОсинус


 
Cosinus ©   (2004-10-20 13:17) [12]


> GuAV ©   (20.10.04 13:09) [9]

Сорри... торможу конечно:)) Ну человек говорит, что нету у него GetTickCount по F1, вот и стормозил, тем более, что здесь постоянно вылезают различия в версиях...

> default ©   (20.10.04 13:13) [11]

Прямоугольный треугольник :))


 
Cosinus ©   (2004-10-20 13:18) [13]


Простите. Не закрыл тэг.


 
Digitman ©   (2004-10-20 13:27) [14]


> Zhekson   (20.10.04 13:11) [10]
> нет, пытаюсь получить ответ раньше чем могу разобраться
> в нём сам. Просто не вру.


в Вин32 механизмов и программных методов отсчета врем.интервалов не так уж и мало.

детальное описание всех их тянет на лекцию


 
Zhekson   (2004-10-20 13:34) [15]

Попробую сформулировать попроще:

Предположим у меня в
procedure TForm1.Timer1Timer(Sender: TObject); проделывается какая то операция. Можно ли создать поток который вот так(NameThread(TForm1.Timer1Timer(Sender));) - будет запускать процедуру таймера в отдельном потоке с высоким приоритетом.


 
Digitman ©   (2004-10-20 13:40) [16]


> Предположим у меня в
> procedure TForm1.Timer1Timer


не "попроще", а как положено - точно и конкретно.
почему бы сразу не сказать. что тебя интересует конкретно класс TTimer ?


> Можно ли


Можно.
Для этого в трэде нежно организовать цикл ожидания/выборки/диспетчеризации вин-сообщений


> с высоким приоритетом


приоритет трэда не имеет к этому никакого отношения


 
Cosinus ©   (2004-10-20 13:42) [17]

Блин... Не оно?
procedure Delay(ms: longint);
var
 TheTime: LongInt;
begin
 TheTime := GetTickCount + ms;
 while GetTickCount < TheTime do
 begin
   Application.ProcessMessages;//если нужен ВЫСОКИЙ приоритет можно эту строку закоментировать ;)
   DoSomeThing;
 end
end;


 
Zhekson   (2004-10-20 13:44) [18]

>Digitman ©   (20.10.04 13:40) [16]
>не "попроще", а как положено - точно и конкретно.
>почему бы сразу не сказать. что тебя интересует конкретно
>класс TTimer ?

принято.

Спасибо.


 
Digitman ©   (2004-10-20 13:46) [19]


> нежно


это я мощно задвинул)


 
Zhekson   (2004-10-20 13:48) [20]

>Cosinus ©   (20.10.04 13:42) [17]

вариант. спасибо.



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

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

Наверх




Память: 0.51 MB
Время: 0.041 c
1-1098175993
Manfred8
2004-10-19 12:53
2004.10.31
Написание программатора для мини АТС


8-1091337932
maxistent
2004-08-01 09:25
2004.10.31
растяжка битмапа


6-1093386512
nimble
2004-08-25 02:28
2004.10.31
TCP/IP программирование


14-1097473776
RDA
2004-10-11 09:49
2004.10.31
Script под Inno Setup для исталяции Firebird 1.5


9-1088730599
Xerx
2004-07-02 05:09
2004.10.31
А какая тут тема?