Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> создание паузы через поток 
:(
    Опции темы
Killerkod
Дата 15.12.2010, 13:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 23.1.2008

Репутация: нет
Всего: нет



В общем пишу программу, много функций, не имеют отношения к делу, эти функции выполняются в цикле через определенное количество времени.
например:
while i=1 do
load_file;
sleep(60000);
end;
т.е. программа качает файл, ждет 60 секунд и качает опять.
переменная i меняется при нажатии кнопок Старт и Стоп, т.е. нажали Старт i:=1 и процесс пошел, нажали Стоп i:=0 и процесс кончился. Естественно при таком раскладе на форме ничего нажать не получиться, надо выносить в потоки, а все процедуры выносить в потоки долго будет и не легко, т.к. программа большая по коду. Вот меня интересует, как можно функцию sleep вынести в отдельный поток так, чтобы программа скачала файл, и поток ожидания запустился, при этом остальные функции ждали пока поток завершится.
Либо вопрос, если так сделать нереально, то можно ли в потоке подключать функции, которые были прописаны в главном разделе программы (unit1). Т.е. чтобы не переписывать все заново в файл потока. Ну и как это реализоватьsmile
заранее спасибо!smile
PM MAIL   Вверх
Snowy
Дата 15.12.2010, 13:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



А не проще кинуть на форму таймер, установить ему период в минуту, и load_file засунуть в OnTimer?
PM MAIL   Вверх
CodeMonkey
Дата 15.12.2010, 13:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1839
Регистрация: 24.6.2008
Где: Россия, Тверь

Репутация: 38
Всего: 89



Таймер уже подсказали.
Sleep с прокачкой сообщений.
Вынос кода в поток.

Выбирайте любое.

Это сообщение отредактировал(а) CodeMonkey - 15.12.2010, 13:40


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Killerkod
Дата 15.12.2010, 18:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 23.1.2008

Репутация: нет
Всего: нет



спасибо, только вот насчет прогресс бара не понял как реализовать... ведь в программе это не единственная функция, их много...

CodeMonkey, за ссылки спасибо, только сюда не заходит, ошибка - Sleep с прокачкой сообщений.

попробуем погуглить еще чтонибудь...
PM MAIL   Вверх
Killerkod
Дата 16.12.2010, 13:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 23.1.2008

Репутация: нет
Всего: нет



еще появился вопрос, ведь если я в таймер ставлю запуск процедуры где выполняется скачивание, то таймер один раз отпашет и запустит процедуру, а потом... ведь если сделать цикл, где таймер будет запускаться в цикле, пока не нажали кнопку стоп, то программа опять будет вешаться... отпишите по подробнее про Sleep с прокачкой сообщений.
ссылка не открывается
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0449 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.