• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

таймер

  • Автор темы darkcoder
  • Дата начала
D

darkcoder

Привет
Подскажите как сделать чтобы программа ничего не делала n секунд.
Timer1.Enable:=true;
Timer1.Interval:=1000;
while Timer1.Enable=true do..
Почему сваливается б бесконечный цикл(из цикал не вызывает событие ontimer)?
Как сделать правильно?

Второй вопрос, то же самое только время 'спячки' должно случайно выбираться в диапазоне от 10 до 60 секнуд?
Спасибо!
 
M

morpheus

<!--QuoteBegin-darkcoder+5:12:2007, 13:29 -->
<span class="vbquote">(darkcoder @ 5:12:2007, 13:29 )</span><!--QuoteEBegin-->Подскажите как сделать чтобы программа ничего не делала n секунд.
[snapback]88487" rel="nofollow" target="_blank[/snapback]​
[/quote]
Что то не совсем понял... разьясните-ка ... что бы понять к чему это
 
S

Silver Wind

Наверное надо использовать Sleep(n) - WinAPI-функция, приостанавливающая поток, вызвавший ее на n милисекунд.
Если хочется чего-то подобного с использованием таймера, то такой таймер надо в отдельный поток выносить.
Еще, как вариант, можно использовать цикл с GetTickCount().

Да и еще один не маловажный момент. При использовании Sleep или цикла с GetTickCount программа не будет реагировать на действия пользователя и выглядеть зависшей. Если пауза на доли секунд, секунду, то, наверное, это не страшно, а вот если интервал большой стоит задуматься о другом решении этой задачи.
 
M

morpheus

Думаю обычного Sleep тут хватить
 
D

darkcoder

Почему с использованием такой конструкции окно появляется не сразу а после того как программа отработает то есть через 5 сек?

Код:
procedure TForm2.FormCreate(Sender: TObject);
begin
Memo1.Lines.Clear;
Memo1.Lines.Add('1');
sleep(5000);
Memo1.Lines.Add('2');
end;

Так как делать то чтоб правильно было? Может есть рабочий примерчик на TTimer?
 
M

morpheus

<!--QuoteBegin-darkcoder+5:12:2007, 14:35 -->
<span class="vbquote">(darkcoder @ 5:12:2007, 14:35 )</span><!--QuoteEBegin-->FormCreate
[snapback]88499" rel="nofollow" target="_blank[/snapback]​
[/quote]
Юзайте OnShow

зачем Вам именно таймер ?
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!