Главная страница
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.029 c
4-1096123510
XProger
2004-09-25 18:45
2004.10.31
Panel на Win API


6-1092902393
Дмитрииий
2004-08-19 11:59
2004.10.31
Socket operation on non socket


14-1097137128
Игорь Шевченко
2004-10-07 12:18
2004.10.31
Вопрос к бывшим владельцам старого железа


14-1096930070
NiceManiac
2004-10-05 02:47
2004.10.31
Ламоразмы и обшибки.


8-1091459942
Driver
2004-08-02 19:19
2004.10.31
Вывод звука