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

Вниз

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

 
redlord   (2004-09-10 18:51) [0]

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


 
Суслик ©   (2004-09-10 18:55) [1]

для начала надо определиться со следующими аспектами:
1) что есть прога? Т.е. в чем должна выражаться пауза? В том, что интерфейс перестал реагировать на пользователя?
2) Кто выполняет отмену? Другой поток? Пользователь? Другой процесс?

Определитесь с задачей.
Тогда можно дать конкретный ответ.


 
Луарвик   (2004-09-10 18:58) [2]

sleep(1000) секндная пауза в работе процедуры...


 
Суслик ©   (2004-09-10 19:02) [3]


> sleep(1000) секндная пауза в работе процедуры...

и вы знаете как ее прервать?


 
МЯУ   (2004-09-10 22:13) [4]

есть какой-то SleepEx, ему можно передавать параметр bAlertable: LongBool. Наверно этот слип можно прервать откуда-нить. Но в хелпе про него ничё не написано (у миня по крайней мере)


 
Vit@ly ©   (2004-09-10 22:21) [5]

Попробуй создать бесконечный цикл типа
Repeat
Application.ProcessMessa..
// а здесь обработка нажатия чего-либо
// или в другом месте
Until True;


 
Anatoly Podgoretsky ©   (2004-09-10 22:54) [6]

Разбивай паузу на микропаузы.


 
KADAN ©   (2004-09-10 23:05) [7]

procedure TForm1.btnSetpauseClick(Sender: TObject);
begin // код паузы
 timer1.Enabled:=true;
 caption:="paused";
 while not cancel do begin
   sleep(100);
   application.ProcessMessages; // это для реагирования на сообщения (чтоб окошко возилось и кнопки нажимались)
 end;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin // эта процедурка вызывается таймером и кнопкой отмены паузы
 Timer1.Enabled:=false;
 cancel:=true;
 caption:="unpaused";
end;


хотя вполне может быть я перемудрил, переменная Cancel и не нужна вовсе (можно заменить на "not timer1.enabled")... но это для наглядности.



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

Форум: "Основная";
Текущий архив: 2004.09.26;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.032 c
4-1092264455
Adil
2004-08-12 02:47
2004.09.26
Ком порт


6-1090364380
MIGUR
2004-07-21 02:59
2004.09.26
ЧЕКЕР


14-1094335114
Incognito (c)
2004-09-05 01:58
2004.09.26
Как программно узнать?


3-1093424651
Snip
2004-08-25 13:04
2004.09.26
Опять InterBase


14-1094796322
dr Tr0jan
2004-09-10 10:05
2004.09.26
Функция "Grad"





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский