IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Работа в графике, интерфейс пользователя
Katrinka
сообщение 17.12.2006 21:32
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 17
Пол: Женский
Реальное имя: Катя

Репутация: -  0  +


Как в паскале в графическом режиме сделать так, чтобы програма не реагировала на нажатие клавиш, отличных от некоторых определенных клавиш?
(в графич. режиме выводится меню и слева рисуется прямоугольник. При нажатии на кнопку меню, программа выводит в этом прямоугольнике некоторый текст, затем пользователь вводит некоторый другой тект. Так вот, если после этого нажать какую-нибудь клавишу кроме стрелок, то прога начинает очень глючить. Что делать?)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 5)
volvo
сообщение 17.12.2006 21:33
Сообщение #2


Гость






Показать программу...
 К началу страницы 
+ Ответить 
Bokul
сообщение 17.12.2006 21:34
Сообщение #3


Гуру
*****

Группа: Пользователи
Сообщений: 1 117
Пол: Мужской
Реальное имя: Богдан

Репутация: -  11  +


Цитата
Как в паскале в графическом режиме сделать так, чтобы програма не реагировала на нажатие клавиш, отличных от некоторых определенных клавиш?

Не читать их... smile.gif
Хочешь больше - выкладывай код. wink.gif


--------------------
Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Katrinka
сообщение 17.12.2006 21:48
Сообщение #4


Новичок
*

Группа: Пользователи
Сообщений: 17
Пол: Женский
Реальное имя: Катя

Репутация: -  0  +


Вот процедура, считывающая ввод пользователем:


function get_menu(start:integer;
const menu_str:array of string;
const size:integer):integer; far;
var _stop:boolean;
begin
_stop:=false;
repeat
show_menu(start,menu_str,size);
case readkey of
#0:
case readkey of
#72: {vverh}
if start>1 then dec(start);
#80: {vniz}
if start<size then inc(start);
end;
#13: {enter}
_stop:=true;
end;
until _stop;
get_menu:=start;
end;
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 17.12.2006 21:57
Сообщение #5


Гость






Это ничего не дает... По крайней мере показывай еще, где и как
Цитата
пользователь вводит некоторый другой тект
, ибо проблема возникает именно после этого...
 К началу страницы 
+ Ответить 
Katrinka
сообщение 17.12.2006 22:10
Сообщение #6


Новичок
*

Группа: Пользователи
Сообщений: 17
Пол: Женский
Реальное имя: Катя

Репутация: -  0  +


Процедура, осуществляющая ввод-вывод

procedure vvod_vivod(var a,b,epsilon:real); far;
var st11,st22,st33:string;
cod1,cod2,cod3:integer; j:real;
begin
moveto(23*d+tw,15*d);
OutText('Vvedite predeli integrirovania');

moveto(12*d+tw,16*d);
OutText('a= ');
repeat
moveto(11*d+tw,17*d);
st11:=Get_Input(11*d+tw,d*17);
until st11<>'';
val(st11,a,cod1);

moveto(11*d+tw,18*d);
OutText('b= ');
repeat
moveto(11*d+tw,19*d);
st22:=Get_Input(11*d+tw,d*19);
until st22<>'';
val(st22,b,cod2);

if a>b then
begin
j:=a; a:=b; b:=j;
end;
moveto(11*d+tw,21*d);
OutText('Vvedite tochnost');

moveto(11*d+tw,23*d);
OutText('epsilon= ');
repeat
moveto(11*d+tw,24*d);
st33:=Get_Input(11*d+tw,d*24);
until st33<>'';
val(st33,epsilon,cod3);


end;
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 18.07.2025 13:51
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"