Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.08.2007, 18:09   #1
trafbite
Форумчанин
 
Регистрация: 21.07.2007
Сообщений: 103
Вопрос delay в delphi

Знаю, что в паскале можно было использовать delay (задуржку) без всяких дополнительных описаний... А в делфи ругается. Поскажите как можно применить задержку в делфях?
trafbite вне форума Ответить с цитированием
Старый 03.08.2007, 19:18   #2
andrey4623
Форумчанин
 
Аватар для andrey4623
 
Регистрация: 31.05.2007
Сообщений: 266
По умолчанию

я просто писал delay(1000)
andrey4623 вне форума Ответить с цитированием
Старый 03.08.2007, 19:49   #3
Alex21
With best regards
Участник клуба
 
Регистрация: 20.04.2007
Сообщений: 1,448
По умолчанию

Sleep(milliseconds:Cardinal);
Alex21 вне форума Ответить с цитированием
Старый 03.08.2007, 20:14   #4
trafbite
Форумчанин
 
Регистрация: 21.07.2007
Сообщений: 103
По умолчанию

Цитата:
я просто писал delay(1000)
вот на это и ругается...
Цитата:
Sleep(milliseconds:Cardinal);
Так это, насколько я знаю, просто подвешивает графическую оболочку программы, не не приостанавливает процесс ее выполнения. Т.к. у меня цикл вида:

for i:=1 to 10 do begin
sum:=a+b;
sleep(1000);
end;

Здесь, по идее, перед каждым следующим сложением прога должна затормозить на 1 секунду, но этого не происходит. А происходит следующее: она сначала прогоняет весь цикл, а потом "спит".
trafbite вне форума Ответить с цитированием
Старый 03.08.2007, 20:31   #5
Alex21
With best regards
Участник клуба
 
Регистрация: 20.04.2007
Сообщений: 1,448
По умолчанию

Sleep - (также как и Delay) - задержка выполнения программы на N мс.

У вас одно и тоже сложение выполняется 10 раз, т.е. результат один.
Вот нагладный пример: (на кнопку повесьте)
Код:
for i:=1 to 10 do begin
Form1.Caption:=Form1.Caption+'*';
sleep(1000);
Alex21 вне форума Ответить с цитированием
Старый 03.08.2007, 20:41   #6
Tayfun
Форумчанин
 
Аватар для Tayfun
 
Регистрация: 24.06.2007
Сообщений: 351
По умолчанию

А если попробовать Timer использовать-?
Я не маюсь бездельем, я от него тащусь!
Tayfun вне форума Ответить с цитированием
Старый 03.08.2007, 20:44   #7
Alex21
With best regards
Участник клуба
 
Регистрация: 20.04.2007
Сообщений: 1,448
По умолчанию

для чего?_________
Alex21 вне форума Ответить с цитированием
Старый 03.08.2007, 20:50   #8
trafbite
Форумчанин
 
Регистрация: 21.07.2007
Сообщений: 103
По умолчанию

Да, одно и тоже действие. Это просто пример неудачный. Вообще, у меня прога должа в цикле 10 раз просматривать одну и туже интернет страничку. Т.е. просмотрела, подождала, например, 10 сек, опять просмотрела и т.д. Но она сначала этот цикл как-то непонятно прогоняет, потом загружает страничку, а потом спит. Это происходит один раз...
trafbite вне форума Ответить с цитированием
Старый 03.08.2007, 20:52   #9
trafbite
Форумчанин
 
Регистрация: 21.07.2007
Сообщений: 103
По умолчанию

Вот код, может подскажете что неправильно:

for i :=1 to 5 do begin
{New(PIInfo);
PIInfo^.dwAccessType := INTERNET_OPEN_TYPE_PROXY;
PIInfo^.lpszProxy := PChar('203.69.39.251:80');
PIInfo^.lpszProxyBypass := PChar('');
UrlMkSetSessionOption(INTERNET_OPTI ON_PROXY, piinfo, SizeOf(Internet_Proxy_Info), 0);
Dispose(PIInfo); }
webbrowser1.navigate('http://ya.ru');
sleep(5000);
end;
trafbite вне форума Ответить с цитированием
Старый 03.08.2007, 21:04   #10
Alex21
With best regards
Участник клуба
 
Регистрация: 20.04.2007
Сообщений: 1,448
По умолчанию

вводим переменную View:byte;
в FormCreate пишем:
View:=0;
Добавляем таймер, ставим задержку сколько надо(10000 = 10 сек), пишем
Код:
if view<10 then
  begin
    inc(view);{увеличиваем на 1 за каждый цикл}
    Form1.Caption:=Form1.Caption+'*';{сюда основной код}
  end
  else
begin
  Timer2.Enabled:=false;
   view:=0;
end;
Sleep не нужен!
Alex21 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа-тест в Delphi) скиньте))а то програмку здавать преподу надо,и самой хочется понять Delphi Верчик Помощь студентам 9 02.03.2009 17:46
Delphi. Как нарисовать в Delphi два движущиеся шара с определенной скоростью? redred Общие вопросы Delphi 10 11.12.2007 10:43
delay Jocker Паскаль, Turbo Pascal, PascalABC.NET 4 25.10.2007 17:56
Как открыть БД, написанную в Delphi если нf другой машине Delphi нет? dagarik БД в Delphi 7 22.10.2007 17:54