![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Есть процедура. Которая может выполняться ну очень долго в силу большого объёма исходного материала. Ну например, какое-нибудь копирование, парсинг, постинг.
Так вот вопрос - как поставить выполнение на паузу, и как остановить. В качестве примера, приведу код процедуры с которой мне вчера помогли - копирование с задержкой: Код:
procedure TForm1.FakeCheck; var i:integer; begin for i := 0 to Memo3.Lines.Count - 1 do begin StatusBar1.Panels.Items[0].Text:= Memo3.Lines[i]; delay(2); //тут задержка в секундах ProgressBar1.Position:=Round(1000 * i/Memo3.Lines.Count-1); end; end; Нужно обрабатывать её тремя кнопками. Запуск, Пауза, Стоп Если с запуском, всё прозрачно, то как её остановить, или прервать - только мысли. Например, использовать конструкцию вроде Form1.Tag := 0; при запуске. По нажатию на кнопку паузы менять значение допустим на единицу, ну а при 2 - останавливать. ![]() |