Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.01.29;
Скачать: [xml.tar.bz2];

Вниз

Как сделать постоянное выполнение комманд   Найти похожие ветки 

 
dabreezy   (2006-01-13 12:11) [0]

Добрый день
Как сделать так, чтобы пока программа работает, постоянно выполнялись какие либо действия, а не пока что то нажато.


 
Reindeer Moss Eater ©   (2006-01-13 12:14) [1]

чтобы пока программа работает, постоянно выполнялись какие либо действия

Пока программа работает, и так уже постоянно выполняются действия


 
dabreezy   (2006-01-13 12:17) [2]

Я наверное не правильно написал, у меня запускается 30 потоков, и надо чтобы постоянно контролировалось завершился ли хотябы один или все


 
Reindeer Moss Eater ©   (2006-01-13 12:19) [3]

Зачем постоянно контролировать 30 потоков, если каждый из них в состоянии сам сообщить о том, что он завершил работу?


 
Ega23 ©   (2006-01-13 12:20) [4]

Поставь в основном потоке таймер и по нему проверяй лист своих потоков.
Или на OnIdle проверку повесь.


 
Reindeer Moss Eater ©   (2006-01-13 12:23) [5]

Тогда уж лучше создавть 30 потоков в 31 потоке и в нем же делать waitformultiplyobjects


 
dabreezy   (2006-01-13 12:24) [6]


> Reindeer Moss Eater ©   (13.01.06 12:19) [3]
> Зачем постоянно контролировать 30 потоков, если каж

А куда он сообщит, в какую процедуру?


 
Reindeer Moss Eater ©   (2006-01-13 12:25) [7]

А куда он сообщит, в какую процедуру?

<Цитата>

Куда тебе надо, туда и сообщит.
Хоть в прокуратуру по факсу.


 
Digitman ©   (2006-01-13 12:29) [8]


> dabreezy   (13.01.06 12:24) [6]


Класс TThread представляет событие OnTerminate.
Для означенной цели можно воспользоваться в т.ч. и им.


 
dabreezy   (2006-01-13 13:20) [9]

Спасибо за ответы. Только я так и не понял :(
Например можно написать: procedure TForm1.FormCreate(Sender: TObject);
будет выполнятся только когда форма создается, а как сделать так чтобы выполнялось всегда


 
dabreezy   (2006-01-13 13:23) [10]

Всем спасибо. Легче всего это сделать через таймер/


 
Digitman ©   (2006-01-13 13:28) [11]


> Легче всего это сделать через таймер/


и дурней всего.


> как сделать так чтобы выполнялось всегда


программа НИКОГДА не "стоит на месте".
она ВСЕГДА выполняется, в ЛЮБОЙ момент времени.


 
dabreezy   (2006-01-13 13:37) [12]

Так как сделать чтобы выполнялись определенные команды каждый момент, а не при открытии и щелчке на кнопках? Таймер выполняется всегда, например если поставить значение 1 milesecond


 
Desdechado ©   (2006-01-13 13:40) [13]

1 мс ты никогда не достигнешь, в лучшем случае 10 мс
если ты каждые 10 мс будешь что-то выполнять, я твоему компу не завидую, умрет он


 
Digitman ©   (2006-01-13 13:41) [14]


> Таймер выполняется всегда, например если поставить значение
> 1 milesecond


Угу.

А если , например, 3 milesecond, то это уже "не всегда" ?


> как сделать чтобы выполнялись определенные команды каждый
> момент


Они, "команды" эти самые, и так выполняются "каждый момент", ВНЕ зависимости от твоего желания или нежелания.


 
dabreezy   (2006-01-13 13:43) [15]

Так где написать скажем if fl=1 then aaa=0 к примеру, чтобы выполнялось это постоянно?


 
Digitman ©   (2006-01-13 13:45) [16]

в любом месте.

while True do


 
evvcom ©   (2006-01-13 13:46) [17]


> будет выполнятся только когда форма создается, а как сделать
> так чтобы выполнялось всегда

А ты это дело оберни в бесконечный цикл, и будет твой formcreate выполняться "всегда", пока его не убьют. :-)


 
dabreezy   (2006-01-13 13:49) [18]

Аааа. вот как. Это то я и хотел узнать спасибо большое.


 
VirEx ©   (2006-01-13 20:22) [19]


>  [11] Digitman ©   (13.01.06 13:28)
>
> программа НИКОГДА не "стоит на месте".
> она ВСЕГДА выполняется, в ЛЮБОЙ момент времени.

Sleep
SuspendThread


 
n0p ©   (2006-01-13 20:37) [20]


> 1 мс ты никогда не достигнешь, в лучшем случае 10 мс

55 мс...

Ну минимум всегда работает цикл обработки сообщений %)


 
SergP ©   (2006-01-14 11:00) [21]


> n0p ©   (13.01.06 20:37) [20]
>
> > 1 мс ты никогда не достигнешь, в лучшем случае 10 мс
>
> 55 мс...
>
> Ну минимум всегда работает цикл обработки сообщений %)


ИМХО
55 это в WIN 95/98/ME
в 2000/XP вроде бы 10



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.01.29;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.046 c
2-1136810258
BiggieSmalls
2006-01-09 15:37
2006.01.29
И еще немного реестра


4-1132324773
Arazel
2005-11-18 17:39
2006.01.29
Hook Shell_TrayWnd, Помогите не в службу, а в дружбу.


2-1137397081
pavel_guzhanov
2006-01-16 10:38
2006.01.29
проблемы с вычислением десятичного логарифма


5-1123132016
Layner
2005-08-04 09:06
2006.01.29
Здравствуйте! Подскажите, как добавить методы Drag&amp;Drog


15-1136959135
Барлог(с)
2006-01-11 08:58
2006.01.29
И снова про "Начинающим"





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский