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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.03.2010, 18:55   #1
Андрей.12
Программист
Пользователь
 
Регистрация: 12.10.2009
Сообщений: 77
По умолчанию процедура выполнялась определенное кол-во времени

как сделать так чтобы процедура выполнялась определенное кол-во времени, а потом выходить из нее
Андрей.12 вне форума Ответить с цитированием
Старый 28.03.2010, 19:00   #2
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

Цитата:
Сообщение от Андрей.12 Посмотреть сообщение
как сделать так чтобы процедура выполнялась определенное кол-во времени, а потом выходить из нее
Используй таймер...
Перемешивай дело с бездельем и не сойдешь с ума...
Grag вне форума Ответить с цитированием
Старый 28.03.2010, 19:12   #3
Андрей.12
Программист
Пользователь
 
Регистрация: 12.10.2009
Сообщений: 77
По умолчанию

а можно небольшой примерчик или статью
Андрей.12 вне форума Ответить с цитированием
Старый 28.03.2010, 19:53   #4
Chudo4258
Форумчанин
 
Аватар для Chudo4258
 
Регистрация: 19.02.2009
Сообщений: 622
По умолчанию

самый элементарный способ.
Код:
Procedure Имя (переменные);
begin
 тут твой код;
 sleep(1000);// 1 секунда
end;
если в ДЕЛФИ, то можно использовать компонент TIMER.
Жми на весы!!!
Chudo4258 вне форума Ответить с цитированием
Старый 28.03.2010, 20:03   #5
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

плохой способ, зависнет вся программа на 1 сек)
NiCola999 вне форума Ответить с цитированием
Старый 28.03.2010, 21:27   #6
Chudo4258
Форумчанин
 
Аватар для Chudo4258
 
Регистрация: 19.02.2009
Сообщений: 622
По умолчанию

Цитата:
Сообщение от NiCola999 Посмотреть сообщение
плохой способ, зависнет вся программа на 1 сек)
зато самый элементарный, но если не подходит такой, дак можно таймер.
Жми на весы!!!
Chudo4258 вне форума Ответить с цитированием
Старый 28.03.2010, 23:04   #7
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

можно без и таймера...
1)зафискировать время t
2)цикл пока currentTime-t<=delay выполнять ф-ию

пример на с++:
Код:
#include <time.h>
#include <iostream>
using namespace std;

int main(){
    size_t t = clock();
    long double tmp, delay = 5;
    while((tmp = (long double)(clock() - t)/CLOCKS_PER_SEC) <= delay)
        cout << "complete: " << tmp/delay*100 << "%" << endl;    
    cin.get();
    return 0;
}
хотя... чесно говоря помоему то что я написал и есть sleep(delay) =)))

Последний раз редактировалось NiCola999; 28.03.2010 в 23:29.
NiCola999 вне форума Ответить с цитированием
Старый 29.03.2010, 11:13   #8
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

Цитата:
Сообщение от NiCola999 Посмотреть сообщение
плохой способ, зависнет вся программа на 1 сек)
В любом случае, пока будешь в теле процедуры, вся программа будет ждать выхода из нее... Иначе используй потоки... Я бы еще рекомендовал Application.ProcessMessages, чтобы не тормозить все остальные процессы.
Перемешивай дело с бездельем и не сойдешь с ума...

Последний раз редактировалось Grag; 29.03.2010 в 12:45.
Grag вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
макрос - подсчитать для каждой строки кол-во ячеек с «+», кол-во ячеек с «-» Vadim_abs Microsoft Office Excel 36 14.07.2009 12:08
Найти кол-во целых чисел в первой последовательности и кол-во нечетных во второй. DjDeniels-61 Помощь студентам 7 28.06.2009 13:04
Кто нибудь может подсказать как нарастить Дату определенное кол-во раз? •ScReam•™ Помощь студентам 2 18.06.2009 01:18
Как сделать так,чтобы при нажатии на кнопку выполнялась процедура? Bolgarin Общие вопросы Delphi 10 03.06.2008 23:48
Определенное время Lonix Общие вопросы Delphi 11 18.03.2007 09:37