program menu2;
uses Crt;
const
NORM=$17; { цвет невыделеного пункта }
SEL=$70; { цвет выделенного пункта }
N=3;
var
menu:array[1..N] of string[12];{ названия пунктов меню }
punkt:integer; { номер выделенного пункта }
ch:char; { введенный символ }
x,y:integer; { координаты первой строки меню }
Procedure punkt1;
begin
ClrScr;
writeln('Процедура 1.Нажмите <Enter> для продолжения.');
readln;
end;
Procedure punkt2;
begin
ClrScr;
writeln('Процедура 2.Нажмите <Enter> для продолжения.');
readln;
end;
Procedure MenuToScr;{ вывод меню на экран }
var i:integer;
begin
ClrScr;
for i:=1 to N do begin
GoToXY(x,y+i-1);
write(menu[i]);
end;
TextAttr:=SEL;
GoToXY(x,y+punkt-1);
write(menu[punkt]);{ выделим строку меню }
TextAttr:=NORM;
end;
{ основная программа }
begin
menu[1]:=' Действие 1 ';
menu[2]:=' Действие 2 ';
menu[3]:=' Выход ';
punkt:=1;
x:=5;
y:=5; TextAttr:=NORM;
MenuToScr;
repeat
ch:=ReadKey;
if ch=char(0) then begin
ch:=ReadKey;
case ch of
chr(80):{ стрелка вниз }
if punkt<N then begin
GoToXY(x,y+punkt-1);
write(menu[punkt]);
punkt:=punkt+1;
TextAttr:=SEl;
GoToXY(x,y+punkt-1);
write(menu[punkt]);
TextAttr:=NORM;
end;
chr(72):{ стрелка вверх }
if punkt>1 then begin
GoToXY(x,y+punkt-1);
write(menu[punkt]);
punkt:=punkt-1;
TextAttr:=SEl;
GoToXY(x,y+punkt-1);
write(menu[punkt]);
TextAttr:=NORM;
end;
end;
end
else
if ch=chr(13) then begin { нажата клавиша <Enter> }
case punkt of
1:punkt1;
2:punkt2;
3:ch:=chr(27);{ выход }
end;
MenuToScr;
end;
until ch=chr(27);{ 27 - код <Esc> }
end.
Похожие записи/страницы:
- Программа предназначена для сортировки численного массива по неубыванию методом вставок. Данные в массив…
- Создать вертикальное меню - Pascal(Паскаль)
- Составьте программу вывода на экран горизонтального меню, состоящего из четырех пунктов и Выход. Название…
- Написать программу, реализующую игру «Угадай число». Играют двое. Один задумывает число, второй угадывает. На…
- Создать программу для начальника отдела кадров, которая со-держит информацию о сотрудниках: фамилия, должность,…
- Составить программу вывода на экран горизонтального меню, включающего пункты 1,2,3 и выход. Сформируйте курсор.…
- Составить программу, выводящую на экран меню детского кафе (наименование изделия, вес, стоимость) - Pascal(Паскаль)
- Вывести номер координаты пункта В наиболее удаленного от пункта А - Pascal(Паскаль)