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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.04.2011, 18:52   #1
Egor2
 
Регистрация: 21.03.2011
Сообщений: 7
По умолчанию Алгоритм меню

Привет.Упущение преподователей и моё.Программу написать могу, а вот с алгоритмом проблема.Если кто захочет мне помочь оповестите , как вам будет удобнее скинуть мне его. спасибо.

Код:
program Menutitle;
uses Graph,Crt;
var
Mode,Driver:integer;
k:char;
a:byte;
Label
1,2,3,4,5,6,7,8;
begin
Driver:=9;
Mode:=2;
initgraph(Driver,Mode,'d:\turbo\bp70\bgi\');
6:
cleardevice;
{setbkcolor(0);
setlinestyle(0,0,1);
setcolor(15);
outtextXY(290,10,'’');
settextstyle(8,0,2);
outtextXY(20,125,'');
outtextXY(280,150,'PASCAL');
outtextXY(200,175,'‘');
outtextxy(170,200,'‘');
outtextxy(230,225,'');
outtextxy(300,460,'2011');
readkey;}
cleardevice;
outtextXY(290,90,'Меню');
outtextXY(120,130,'1. Задача 1');
outtextXY(120,170,'2. задача 2');
outtextXY(120,210,'3. задача 3');
outtextXY(120,250,'4. ‚задача 4*');
outtextXY(120,290,'5. ‚Выход');
rectangle(115,120,540,160);
a:=3;
repeat
k:=readkey;
Case k of
#72: begin
     setcolor(black);
     rectangle(115,a*40,540,(a+1)*40);
     a:=a-1;
     if a=2 then a:=7;
     setcolor(white);
     rectangle(115,a*40,540,(a+1)*40);
     end;
#80: begin
     setcolor(black);
     rectangle(115,a*40,540,(a+1)*40);
     a:=a+1;
     if a=8 then a:=3;
     setcolor(white);
     rectangle(115,a*40,540,(a+1)*40);
     end;
end;
until k=#13;
Case a of
3:Goto 8;
4:Goto 8;
5:Goto 8;
6:Goto 6;
7:Goto 7;
end;
7:
cleardevice;
setcolor(white);
OuttextXY(250,200,'‚');
OuttextXY(270,240,'');
outtextXY(330,240,'');
Rectangle(250,220,320,260);
Repeat
k:=readkey;
Case K of
#75: begin
     setcolor(black);
     rectangle(320,220,370,260);
     setcolor(white);
     rectangle(250,220,320,260);
     a:=1;
     end;
#77: begin
     setcolor(black);
     rectangle(250,220,320,260);
     setcolor(white);
     rectangle(320,220,370,260);
     a:=0;
     end;
end;
until k=#13;
If a=0 then goto 6;
8:
end.
Egor2 вне форума Ответить с цитированием
Старый 08.04.2011, 19:21   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

1) программа имеет ряд опечаток

2) с алгоритмом чего у Вас проблемы то?

вывести текст.
ожидаем нажатие клавиш
нажали клавишу "стрелка вниз" - рисуем выделенный пункт ниже
нажали клавишу "стрелка вверх" - рисуем выделенный пункт выше
цикл крутим пока не нажали клавишу "ENTER"

всё..
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создать меню и подключить свое меню OgE®_M@G Microsoft Office Excel 9 26.11.2010 07:41
меню как на сайте p&g (меню ввиде таблицы) ilma55 WordPress и другие CMS 0 19.09.2010 19:09
И сново sendMessage =) Как нажать пункт верхнего меню и меню правой кнопки? TwiX Win Api 9 15.10.2009 01:57
Для доступа к пунктам главного меню клавиши ALT + подчеркнутая буква меню в офис 2007? Окоча Юра Microsoft Office Word 1 24.02.2009 12:29
Меню с Items в виде набора Bitmap (как меню редактирования в Word'е) chandrasecar Мультимедиа в Delphi 7 14.01.2009 09:20