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

Вниз

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

 
KLAUS   (2005-01-30 20:02) [0]

Всем привет!
Возникла небольшая проблемка, в ходе выполнения программы мне нужно сделать задержку скажем на секунд 10, затем прога дальше проверяет некоторое значение, если не верно, то вновь происходит задержка.
Делаю через sleep(5000), но прога тогда начинает при старте виснуть .
Есть ли аналог sleep?
И ещё, возможно ли сделать типа, есть label  ( допустим в Form1.Create) и код кот. он выполняет, и чтоб я к нему обратился скажем после нажатия на Button?


 
dimaxx ©   (2005-01-30 20:09) [1]

Используй SleepEx(5000,True)


 
ТехникПТО ©   (2005-01-30 21:06) [2]

попробуй юзать Timer... скажем юзай переменую i:integer;
и время таймера поставь 1000 и на событие таймер поставь i:=i+1;
If i=10 then  то что тебе нада :)


 
Fay ©   (2005-01-31 04:14) [3]

2 ТехникПТО ©   (30.01.05 21:06) [2]
> время таймера поставь 1000 и на событие таймер поставь i:=i+1;
1) i := i + 1 - Это называется Inc(i);
2) А всё вместе это называется "время таймера поставь 10000".

8)


 
ТехникПТО ©   (2005-01-31 09:04) [4]


> Fay ©

а фдруг он не знает что такео inc :)
ну а 10000 верно... я ему общий вариант подсказал ;)


 
Erik1 ©   (2005-01-31 11:19) [5]

Application.ProcessMessage в цикле крутить, можно в нем Sleep(1) поставить.


 
КаПиБаРа ©   (2005-01-31 11:22) [6]


>Задержка
>Всем привет!
> Возникла небольшая проблемка,


В который раз меня радует такое начало. Даже серце замирает :)


 
Diabolik ©   (2005-01-31 11:26) [7]

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


 
MakedoneZ ©   (2005-01-31 11:47) [8]

Неттт ребята по задержкам я специалист...вот тот раз моя девушка залетела и вот задержка была,что это я тут отошел от темы...

Procedure A_Very_Long_Delay();

var i,p: VeryVeryVeryVeryVeryVeryLongInt;
 
begin
 
 P:=1;
 for i:=1 to 10000000000000000000000000000000000000000 do
  P:=P*i

end;


 
ЮЮ ©   (2005-01-31 11:52) [9]

>MakedoneZ ©   (31.01.05 11:47) [8]
При таком несерьезном подходе к задержкам, неудевительно то, что случилось с твоей девушкой :)


 
MakedoneZ ©   (2005-01-31 11:58) [10]

А с девушкой было так прихожу к ее врачу,а он выдает мне
"Run Time Error". :)


 
Gloomer ©   (2005-01-31 12:21) [11]

>MakedoneZ ©   (31.01.05 11:47) [10]
Не думаю, чтобы эта информиация была нужна KLAUS"у

>KLAUS   (30.01.05 20:02)
Не нравится sleep, напиши сам. Например

procedure MyDelay(Sec:integer); //Задержка на Sec секунд
var DelayTime:cardinal;
begin
DelayTime:=GetTickCount()+Sec*1000;;
  repeat
     Application.ProcessMessages;
  until GetTickCount()>DelayTime;
end;


 
Чапаев ©   (2005-01-31 12:32) [12]


for i:=1 to 10000 do begin
 Sleep(1);
 Application.ProcessMessages;
end;

не катит. Внимательно прочтите хелп по sleep(). Sleep() осуществляет задержку на время НЕ МЕНЬШЕ заданного в параметре. В Win9x вот этот вот фрагмент задержит программу на 55*10000, в WinNT задержка будет 15*10000 (не факт. В НТ можно длительность такта и изменить).

Рекомендую копать в сторону timeSetEvent(). Даёт задержку вплоть до 1 мс даже в 9х.



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

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

Наверх




Память: 0.47 MB
Время: 0.037 c
4-1104059945
pomashok
2004-12-26 14:19
2005.02.13
управление громкостью


3-1105982109
denis24
2005-01-17 20:15
2005.02.13
adoquery.parameters


1-1106899380
Mishenka
2005-01-28 11:03
2005.02.13
PopupMenu для заголовков столбцов в DbGridEh


3-1105600202
РВА
2005-01-13 10:10
2005.02.13
Ошибка при вводе данных


10-1072978552
Hino
2004-01-01 20:35
2005.02.13
Обмен данными по локальной сети





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