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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.01.2009, 09:12   #1
Volkogriz
Форумчанин
 
Аватар для Volkogriz
 
Регистрация: 11.10.2007
Сообщений: 384
Вопрос Как остановить процесс

Доброе время суток!
Как прерват процесс по нажатию кнопки отмена?
Подскажите пожалуцсто!!!
PHP код:
procedure FindFiles(StartFolderMaskstring; List: TStrings;
  
ScanSubFoldersBoolean True);
var
  
SearchRecTSearchRec;
  
FindResultInteger;
begin
  
List.BeginUpdate;
  try
    
StartFolder := IncludeTrailingBackslash(StartFolder);
    
FindResult := FindFirst(StartFolder '*.*'faAnyFileSearchRec);
    try
      while 
FindResult do
        
with SearchRec do
        
begin
          
if (Attr and faDirectory) <> 0 then
          begin
            
if ScanSubFolders and (Name <> '.') and (Name <> '..'then
              FindFiles
(StartFolder NameMask, List, ScanSubFolders);
          
end
          
else
          
begin
            
if MatchesMask(NameMaskthen
              
List.Add(StartFolder Name);
            
application.ProcessMessages;
              
end;
          
FindResult := FindNext(SearchRec);
        
end;
    finally
      
FindClose(SearchRec);
    
end;
  finally
    List.
EndUpdate;
  
end;
end
Зарание благодарен!
С уважением,
Volkogriz!!!
Не количеством плюсов измеряется репутация человека...!
Volkogriz вне форума Ответить с цитированием
Старый 15.01.2009, 10:40   #2
Баламут
Баламучу слегка...
Участник клуба
 
Аватар для Баламут
 
Регистрация: 01.11.2006
Сообщений: 1,585
По умолчанию

Так, например
Код:
...
public
    _break: boolean;
...

procedure TForm1.Button1Click(Sender: TObject);
var
  i: integer;
begin
  i := 0;
  _break := true;
  while _break do begin
    i := i + 1;
    Label1.Caption := IntToStr(i);
    Sleep(100);
    Application.ProcessMessages;
  end;
  ShowMessage('ПРЕВЕД!!!');
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  _break := false;
end;
Баламут вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как остановить поток? Никки Win Api 3 06.12.2007 22:04
Остановить процесс Shurik Hacker Win Api 4 20.07.2007 08:05
Как остановить цикл без Application.ProcessMessages Alar Общие вопросы Delphi 0 29.10.2006 20:18
как корректно остановить цикл. Alar Общие вопросы Delphi 0 29.10.2006 10:42