Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.10.31;
Скачать: [xml.tar.bz2];

Вниз

Отсчёт времени(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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.034 c
14-1097179489
lak
2004-10-08 00:04
2004.10.31
моей маме жарко :)


1-1098102176
MikePol
2004-10-18 16:22
2004.10.31
Возвращаемое значение


1-1097693061
Colonel
2004-10-13 22:44
2004.10.31
StayOnTop


3-1096964741
Григорьев Антон
2004-10-05 12:25
2004.10.31
ADOQuery не хочет работать со строковым параметром


14-1097743171
vuk
2004-10-14 12:39
2004.10.31
Я плакал.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский