Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Программная пауза 
:(
    Опции темы
Natashechka
Дата 20.4.2013, 18:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Доброго времени суток! Будьте добры, подскажите. Мне необходимо поставить паузу, так, чтобы для продолжения работы программы нужно было нажать какую-либо клавишу. Мне нужно именно для С++ Builder, знаю, что есть 

system ("pause"); 

но в этом случае вылазит командная строка, а мне такого "счастья" не нужно.
PM MAIL   Вверх
wolver17
Дата 20.4.2013, 20:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Sleep(int milliseconds); - задержит тебе работу на опред. к-во милисекунд
getch() - ну это задержка вывода инфы на экране
или ф-ция getchar() - ожидает нажатие клавиши
Код

char c;
 
    c = getchar();   
    putchar(c);
    
    fflush(stdin);
    getchar();



PM MAIL   Вверх
Alexeis
Дата 20.4.2013, 20:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

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



Если программа ничего не делает, то она уже стоит на паузе. Фактически засыпает на функции GetMessage до прихода сообщения (в т.ч. от клавиатуры).


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
wolver17
Дата 20.4.2013, 20:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Natashechka, вы делаете в BC++ проект или консольное приложение?
Если проект - то любая ф-ция обработчик компонентов формы после завершения своих действий - будет ожидать действий пользователя, т.е. если вы напр. нажали кнопку на форме - она выполнит те действия, что были описаны в ней, и передаст управление обратно вам. А вы опять потом что-то нажмёте, что вам требуется. И тут несовсем понятно зачем вам пауза?))
Если же это консолька - типо Турбо с++, без формы, то выбирайте какой-то вариант задержки с предлож. выше, или что будут предложены ниже кем-то другим...
PM MAIL   Вверх
Natashechka
Дата 20.4.2013, 20:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Программа сравнивает цвета:

Код

void __fastcall TForm1::Button1Click(TObject *Sender)
{
const c=25;
int k,r,g,b,f,r1,g1,b1,n,n1,p;
float a,s,m;
double q,t;
 
k=Edit1->Text.ToInt(); 
t=1.0/3.0;
q=pow(k,t);        
a=255/q;             
 
Label2->Caption=q;
Label4->Caption=a;
 
for (r=0; r<=255; r=r+c)
 for (g=0; g<=255; g=g+c)
  for (b=0; b<=255; b=b+c)
   {s=0;
    for (f=1; f<=q; f++)
    {
     s=s+a;
     if (r<s) {r1=s-a/2;
      break;}
    }
    s=0;
    for (f=1; f<=q; f++)
    {
     s=s+a;
     if (g<s) {g1=s-a/2;
      break;}
    }
    s=0;
    for (f=1; f<=q; f++)
    {
     s=s+a;
     if (b<s) {b1=s-a/2;
      break;}
    }
    n=r+g*256+b*65536;
    n1=r1+g1*256+b1*65536;
    Canvas->Brush->Color=n;
    Canvas->Rectangle(225,25,250,50);
    Canvas->Brush->Color=n1;
    Canvas->Rectangle(300,25,325,50);}
 
}


Модератор: используйте кнопочку "Код"


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

Добавлено @ 20:49
Цитата(wolver17 @ 20.4.2013,  20:40)
Natashechka, вы делаете в BC++ проект или консольное приложение?
Если проект - то любая ф-ция обработчик компонентов формы после завершения своих действий - будет ожидать действий пользователя, т.е. если вы напр. нажали кнопку на форме - она выполнит те действия, что были описаны в ней, и передаст управление обратно вам. А вы опять потом что-то нажмёте, что вам требуется. И тут несовсем понятно зачем вам пауза?))
Если же это консолька - типо Турбо с++, без формы, то выбирайте какой-то вариант задержки с предлож. выше, или что будут предложены ниже кем-то другим...

Во время цикла программа рисует два квадрата, в которых сравниваются цвета, но без паузы они безостановочно меняются. Таким образом, чтобы спокойно пользователь мог просмотреть цвета, в после каждого прохода цикла нужна пауза. Т.е. Нажимаем какую-либо клавишу, либо кнопку имеющуюся на форме  и программа снова запускает цикл.

Это сообщение отредактировал(а) Alexeis - 22.4.2013, 08:08
PM MAIL   Вверх
Avazart
Дата 22.4.2013, 03:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Natashechka, Я вам ответил на другом форуме на котором вы тоже создали тему ....
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

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

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

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

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


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

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


 




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


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

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