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

Вниз

задержка   Найти похожие ветки 

 
Noway ©   (2004-03-30 18:39) [0]

Как в Дельфи по ставить задержку?
В Паскале можно было написать Delay(число).


 
новичок_из_сыктывкара ©   (2004-03-30 18:41) [1]

sleep (число);


 
имя   (2004-03-30 18:41) [2]

Sleep(мсек)


 
Dmyk   (2004-03-30 20:18) [3]

Только учитывай, что sleep тормозит ВСЮ программу, в том числе сообщения о перерисовке окна, что очень неприятно. Чтобы такого не было... Чисто теоретически можно пропробывать таймер + EnableWindow, но я не гарантирую, что оно будет работать. Правда, sleep можно использовать в тех же консольных программах...


 
$tranger ©   (2004-03-30 20:23) [4]

Посмотри в ЧаВо и в кладовке модуль CRT


 
YurikGl ©   (2004-03-30 20:34) [5]

Проще пользовать Timer


 
TUser ©   (2004-03-30 21:03) [6]


> sleep тормозит ВСЮ программу

Это не совсем так - sleep тормозит весь поток, в котором он вызван.


 
Dimaxx ©   (2004-03-30 22:27) [7]

Чтобы не тормозить поток используйте SleepEx со вторым параметром True.


 
Piter ©   (2004-03-30 23:19) [8]

sleep по-моему говорит системе сколько времени поток не нуждается в выполнении...  и не факт что ему передатут управление по истечении этого времени...


 
Anatoly Podgoretsky ©   (2004-03-31 12:22) [9]

sleep является наиболее близким аналогом, за исключением гарантий, но и отсутствие sleep точно также не дает этих гарантий, система многозадачная, в отличии от ДОС


 
V-Isa ©   (2004-03-31 15:39) [10]

Какой sleep?
Предлагаю такой вариант:

Function Pause(ms:Integer);
...
Begin
...
Получаем текущее время в переменную A;
Repeat
 Получаем текущее время в переменную B;
 Application.ProcessMessages;
Until B-A>=ms;
...
End;


 
infom ©   (2004-03-31 15:48) [11]

Function Pause(ms:Integer);
var a:longint;
Begin
A:= GetTickCount;
Repeat
Application.ProcessMessages;
Until GetTickCount-A>=ms;
End;


 
VMcL ©   (2004-03-31 15:59) [12]

>>V-Isa ©  (31.03.04 15:39) [10]
>>infom ©  (31.03.04 15:48) [11]

Ну, допустим, передал я в ваши процедуры задержку в 50 миллисекунд. Где гарантии того, что Application.ProcessMessages не будет выполняться, скажем, 2 минуты?

См. [9].


 
Amoeba ©   (2004-03-31 16:52) [13]

Это из RxLib:

procedure Delay(MSecs: Longint);
var
 FirstTickCount, Now: Longint;
begin
 FirstTickCount := GetTickCount;
 repeat
   Application.ProcessMessages;
   { allowing access to other controls, etc. }
   Now := GetTickCount;
 until (Now - FirstTickCount >= MSecs) or (Now < FirstTickCount);
end;


 
Amoeba ©   (2004-03-31 16:56) [14]


> Где гарантии того, что Application.ProcessMessages не будет
> выполняться, скажем, 2 минуты?

Не надо фантазировать.


 
Anatoly Podgoretsky ©   (2004-03-31 17:11) [15]

Amoeba ©   (31.03.04 16:56) [14]
А поставь плохой CD увидишь и синий экран.


 
Ega23 ©   (2004-03-31 17:28) [16]

2 Anatoly Podgoretsky

Кстати, вы не могли бы объяснить причину такой плохой реализации работы с CD? Уже давно задавался вопросом, но как-то не сподобился выяснить...



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

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

Наверх




Память: 0.5 MB
Время: 0.027 c
6-1076925108
Anatoliy
2004-02-16 12:51
2004.04.18
netbeui


1-1080574755
Эли
2004-03-29 19:39
2004.04.18
Copy in WebBrowser - кто глючит?


14-1079977864
$tranger
2004-03-22 20:51
2004.04.18
С чем едят АССЕМБЛЕР?


1-1080337442
garry79
2004-03-27 00:44
2004.04.18
Как принудительно закрыть Excel евский файл?


1-1080804059
Dmitrij_K
2004-04-01 11:20
2004.04.18
Как можно распаковать все html файлы из *.chm файла