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

Вниз

Пауза на программу?   Найти похожие ветки 

 
Артем К.   (2004-09-17 04:36) [0]

Здравствуйте, уважаемые мастера!

Подскажите пожалуйста, как установить "паузу" на программу, т.е. чтобы определенное количество времени, программа, как-бы, подвисала.

Заранее спасибо!


 
Fedia   (2004-09-17 04:39) [1]

Функция sleep(1000{на одну секунду});


 
Артем К.   (2004-09-17 04:52) [2]

>>Fedia

Спасибо!


 
SiDChik ©   (2004-09-28 13:17) [3]

а теперь скажите как поставить паузу чтоб только ход выполнения тормозился а не программа..........
Ответе на мыло


 
Amoeba ©   (2004-09-28 13:40) [4]


> SiDChik ©   (28.09.04 13:17) [3]

А сам хоть понял, что спросил?


 
Apl   (2004-09-28 14:08) [5]

Создатй поток и меняй ему приоритет и получишь желаемые тормоза


 
Fedia   (2004-09-28 23:04) [6]

Если я правильно понял вопрос.
Ответ от Defunct ©   (18.09.04 21:25) [1] Var Flag: Boolean;
Procedure Suspend(AFlag:Boolean);
Begin
Flag := AFlag;
While Flag Do
Begin
  Sleep(10);
  Application.ProcessMessages;
End;
End;

Suspend(True); - остановит программу
Suspend(False); - продолжит.
С условием, что приложение не использует доп. потоков.


 
KSergey ©   (2004-09-29 06:14) [7]

> Suspend(True); - остановит программу

Навсегда...


 
Fedia   (2004-09-29 06:29) [8]

KSergey ©   (29.09.04 06:14) [7]
>Навсегда...
Я бы так не утверждал. Советую для начала попробовать.


 
Fedia   (2004-09-29 06:41) [9]

Или это был тонкий юмор :)


 
KSergey ©   (2004-09-29 07:43) [10]

> [8] Fedia   (29.09.04 06:29)
> >Навсегда...
> Я бы так не утверждал. Советую для начала попробовать.

А что пробовать-то? Укажите мне, пожалуйста, при каких условиях сей цикл прервется в данном случае???


 
KSergey ©   (2004-09-29 07:44) [11]

Прошу прощения
Только сейчас разглядел, что Flag объявлен снаружи


 
KSergey ©   (2004-09-29 07:45) [12]

К стати, тогда лучше вот это

> Begin
>   Sleep(10);
>   Application.ProcessMessages;
> End;

заменить на

Begin
  WaitMessage;
  Application.ProcessMessages;
End;


 
46_55_41_44 ©   (2004-09-29 13:25) [13]

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;

Взято из RxLib - VCLutils.pas



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

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

Наверх




Память: 0.49 MB
Время: 0.051 c
14-1096471177
Nous Mellon
2004-09-29 19:19
2004.10.17
Споим преподавателей наших мозгопожирателей! Со вкусом... :)


1-1096344191
Ozone
2004-09-28 08:03
2004.10.17
Задача про регулярные грамматики


14-1096265624
TUser
2004-09-27 10:13
2004.10.17
Нейронные сети


3-1095696686
Sigetta
2004-09-20 20:11
2004.10.17
Восстановление индекса


4-1094849129
Destroyer
2004-09-11 00:45
2004.10.17
Как найти адрес нужный памяти в чужом приложении?