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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.05.2012, 18:10   #1
AndreyKolesov
 
Регистрация: 16.04.2012
Сообщений: 4
По умолчанию Менюшка. Паскаль

Ребята, выручайте!
Вот что-то навоял, но мне нужно сделать горизонтальное, зигзаг меню, где количество объектов и строк равны 4, меню располагается в верху экрана и мне нужно управлять клавишами " " и "N".
Выручите мя, пожалуйста...
Вот, что имею:

Uses crt;
{procedura ystanovki jveta simvolov v zadannom okne}
procedure ChangeScreen(xb,yb,xh,yh:integer;
color:integer);
begin
textcolor(color);
window(xb,yb,xh,yh);
clrscr;
end;

procedure Left;
begin
writeln(' Levaya ');
write(' chast ');
end;

procedure stop;
begin
writeln(' Centr ');
write(' ');
end;

procedure right;
begin
writeln(' Pravaya ');
write(' chast ');
end;
{procedura vivoda na ekran soobsheniya}

procedure CaseStep (Step:integer);
begin
Case Step of
1:Left;
2:Stop;
3:Right;
end;
end;

var
Ch:char;
Step:integer; {peremennaya dlya opredeleniya vibrannogo obekta}
begin
{nachalnaya ystanovka menu}
textbackground (1);
Clrscr;
ChangeScreen(15,14,25,16,0);Left;
ChangeScreen(30,14,40,16,0);Stop;
ChangeScreen(45,14,60,16,0);Right;
Step:=1;
ChangeScreen(Step*15,14,Step*15+10, 16,15);
CaseStep(Step);
repeat
Ch:=Readkey;
{analiz najatoi klavishi}
If Ch=#0 then
begin
Ch:=Readkey;
case Ch of
{vibor obekta pri dvijenii vlevo}
#75:begin
ChangeScreen(Step*15,14,Step*15+10, 16,0);
CaseStep(Step);
Dec(Step);
If Step <1 then Step:=3;
ChangeScreen(Step*15,14,Step*15+10, 6,15);
CaseStep(Step);
end;
{vibor obekta pri dvijenii vpravo}
#77:begin
ChangeScreen(Step*15,14,Step*15+10, 16,0);
CaseStep(Step);
Dec(Step);
If Step > 3 then Step:=1;
ChangeScreen(Step*15,14,Step*15+10, 16,15);
CaseStep(Step);
end;
end;
end;
until (Ch = #27) or (Ch = #13);
ChangeScreen(1,1,80,25,15);
GotoXY(30,11);
If Ch = #13 then
Case Step of
1:Writeln('Vipolnyaetsa programma dlya levogo obekta');
2:Writeln('Vipolnyaetsa programma dlya centralnogo obekta');
3:Writeln('Vipolnyaetsa programma dlya pravogo obekta');
end
else writeln('Zapusk programm ne vipolnyaetsa');
GotoXY(50,25);
write('Najmite lubuyu klavishy ...');
Ch:=Readkey;
end.
AndreyKolesov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С#. Консольная менюшка. ZaVyLoN Общие вопросы .NET 4 02.11.2010 15:13
Менюшка на форме как у винды ---FISHER--- Общие вопросы Delphi 1 09.08.2009 17:06
Пропала менюшка при вставке... (( Bu$ter Microsoft Office Excel 7 23.05.2008 14:39
Менюшка формы.. Roberto Win Api 2 27.04.2008 10:55