![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Есть у меня некая процедура, которую нужно выполнять в цикле, но с задержкой. Как эту задержку внести в цикл? Если сделать просто:
Код:
procedure Sending; var i: Integer; Begin for i:= 0 to database.Count - 1 do sent_msg; sleep(10000); End; |
|
#2
|
|||
|
|||
|
application.ProcessMessages; может исправить проблему?
![]() |
|
#3
|
||||
|
||||
|
Цитата:
Код:
procedure Sending;
var
i: Integer;
begin
for i := 0 to database.Count - 1 do
begin
sent_msg;
Sleep(100);
Application.ProcessMessages;
end;
end; |
| Этот пользователь сказал Спасибо poli-smen за это полезное сообщение: | ||
arach (06.10.2012)
| ||
|
#4
|
|||
|
|||
|
Задержка заработала, но форма очень сильно зависает sleep(10000);
Если выполнить в отдельном потоке висеть форма не будет? ![]() |
|
#5
|
||||
|
||||
|
Цитата:
Код:
var
j: Integer;
begin
for j := 1 to 100 do
begin
Sleep(100);
Application.ProcessMessages;
end;
end;Цитата:
|
| Этот пользователь сказал Спасибо poli-smen за это полезное сообщение: | ||
arach (06.10.2012)
| ||
|
#6
|
|||
|
|||
|
Если я напишу sleep(100), то меня забанит сервер
![]() |
|
#7
|
|||
|
|||
|
Создал отдельный поток - все отлично!
![]() |
|
#8
|
||||
|
||||
|
Цитата:
Код:
for i := 1 to database.count - 1 do
sent_msg;
for j := 1 to 100 do
begin
Sleep(100);
Application.ProcessMessages;
end;
end;З.Ы. все же лучше использовать потоки. |