Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 8 
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Member
Статус: Не в сети
Регистрация: 18.03.2003
Откуда: Moscow
как реализовать возможность прерывания выполнения программы при нажатии любой кнопки на клавиатуре?

_________________
Forewarned is forearmed.



Партнер
 

Member
Статус: Не в сети
Регистрация: 21.09.2004
Откуда: Санкт-Петербург
А на каком языке надо?
В общем случае запуск программы необходимо выполнить в цикле, и прерывать его по нажатии клавиши.
Например:
(не помню как там точно на паскале)
var
kod : integer;
repeat
...
kod := readkey;
...
until keypressed;

В Делфах можно поставить на событие OnKeyPress у формы (или другого компонента, тут кнопки) соответвующую реакцию.
Например вот так:
var
Form1: TForm1;
kod : boolean;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
repeat
Form1.Caption:=IntToStr(StrToInt(Form1.Caption)+1);
application.ProcessMessages;
until kod;
kod :=false;
end;

procedure TForm1.Button1KeyPress(Sender: TObject; var Key: Char);
begin
kod :=true;
end;

end.
Только не забудь поместить перед запуском в Form1.caption какое-нибудь числовое значение.


 

Member
Статус: Не в сети
Регистрация: 18.03.2003
Откуда: Moscow
ой =)...вот я дурак.На сях нада.На СИ++ причём не борланды и визуал студио...а самый что ни на есть обычный Си++

_________________
Forewarned is forearmed.


 

Member
Статус: Не в сети
Регистрация: 21.09.2004
Откуда: Санкт-Петербург
На си я тебе не смогу посоветовать. Попробуй тут http://progc.narod.ru/links.htm может попадешь на ссылки какие дельные.

_________________
Безжалостна глубь океана!
Но твари, скользящие в ней..... хороши к холодному пиву! <<Fishing Overclan>>


 

Member
Статус: Не в сети
Регистрация: 25.01.2003
Откуда: UA
Код:
while(1)
{
   .. идет программа
  if(kbhit())
  {
    getch();
    break;
  }
}


 

Member
Статус: Не в сети
Регистрация: 18.03.2003
Откуда: Moscow
КБхит-функция борланда.
Мне нужно на ANSI C++.

_________________
Forewarned is forearmed.


 

Member
Статус: Не в сети
Регистрация: 25.01.2003
Откуда: UA
Хи-хи. kbhit() и getch() стандартные функции ANSI C, определены в conio.h
Более стандартных вещей просто не бывает.


 

Member
Статус: Не в сети
Регистрация: 18.03.2003
Откуда: Moscow
Верно!!! Спасибо большое !!!

_________________
Forewarned is forearmed.


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 8 
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan