Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 02.03.2010, 19:52
Nothing Nothing вне форума
Прохожий
 
Регистрация: 23.02.2010
Сообщения: 32
Репутация: 9
По умолчанию Цикл

Можно ли как нибудь остановить цикл во время его выполнения? Если да, то как?
Ответить с цитированием
  #2  
Старый 02.03.2010, 19:58
Аватар для Лунтик-Некрофил
Лунтик-Некрофил Лунтик-Некрофил вне форума
Начинающий
 
Регистрация: 28.09.2009
Сообщения: 165
Репутация: 12
По умолчанию

Код:
break;//остановить
continue;//продолжить
__________________
Алкоголик-аморал, явная угроза обществу
Блин, я уже местный, а все равно нифига не знаю...
Ответить с цитированием
  #3  
Старый 03.03.2010, 01:22
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

break - не останавливает, а прерывает. Остановить цикл можно только вместе с нитью программы, поэтому вынесите ваш цикл в отдельную нить, и вот там уже можно останавливать и запускать цикл по необходимости.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #4  
Старый 03.03.2010, 10:15
Аватар для NIch
NIch NIch вне форума
Продвинутый
 
Регистрация: 02.06.2008
Адрес: Бендеры ПМР
Сообщения: 754
Репутация: 2446
По умолчанию

или укажи какик то условия при выполнении которых цикл прервется, но в runtime ты не сможешь ими управлять, т.е. это будет как бы предусловием цикла...
__________________
В начале был Бит, потом Байт и только потом появилось Слово...
Ответить с цитированием
  #5  
Старый 03.03.2010, 14:26
Nothing Nothing вне форума
Прохожий
 
Регистрация: 23.02.2010
Сообщения: 32
Репутация: 9
По умолчанию

Можно ли запихнуть одну процедуру в другую? доустим у меня выполняется цикл, а при нажатии на кнопку "стоп" этот цикл останавливался, а при нажатии на кнопку "продолжить" он опять возобновлялся?
Ответить с цитированием
  #6  
Старый 03.03.2010, 14:58
Аватар для NIch
NIch NIch вне форума
Продвинутый
 
Регистрация: 02.06.2008
Адрес: Бендеры ПМР
Сообщения: 754
Репутация: 2446
По умолчанию

Страдалецъ сказал выше, что надо использовать нити (потоки), смотри в сторону TThread...
В 2-х словах...
Винда многопоточная ОС, т.е. создается впечатление, что все приложения работают параллельно, но на самом деле по очереди.
Так и любое приложение (процесс) выполняет одну задачу, и для выполнения другой задачи ему нужен другой поток.
В твоем случае один поток это интерфейс, другой поток цикл.
Приложение использует как минимум 1 поток, но может создавать еще. Смотри в диспетчере задач, многие приложения многопоточные.
Ничего сложного в них нет...
http://www.delphikingdom.com/asp/vie...catalogid=1370
__________________
В начале был Бит, потом Байт и только потом появилось Слово...
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 11:54.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter