Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
| Daniil |
7.6.2006, 8:48
Сообщение
#1
|
|
Пользователь Группа: Пользователи Сообщений: 29 Регистрация: 4.5.2006 Из: Pоссия Пользователь №: 10 336 |
долго изучал код в http://www.opeople.ru/topic5344.html но так и не понял как создавать начальное меню
допустим нам дано 3 возм. варианта (начать загрузить выход) при выборе каждого своя процедура |
| PolPoll |
7.6.2006, 14:55
Сообщение
#2
|
![]() :) Группа: Главные администраторы Сообщений: 5 858 Регистрация: 24.11.2005 Из: Москва Пользователь №: 5 327 |
Примерно так. надо проверить...
Код uses crt; type menuitems=array [1..3] of string; const mainmenu:menuitems = (' начать ', ' загрузить ', ' Выход '); Procedure menu(var m:menuitems; kol: byte; var num: byte); var i,y: byte; ch: char; Begin window(25,8,65,20); textbackground(0); clrscr; textcolor(12); writeln(' +------+ '); writeln('+----------! MENU !-----------+'); writeln('! +------+ !'); { writeln(' ХННННННё '); writeln('ЙННННННННННµ Њ…Ќћ ЖННННННННННН»'); writeln('є ФННННННѕ є'); } for i:=1 to kol do writeln('! !'); { for i:=1 to kol do writeln('є є'); } window(25,10+kol+1,65,10+kol+1); write('+-----------------------------+'); { write('ИНННННННННННННННННННННННННННННј'); } window(26,10+2,54,10+kol); textcolor(3); for i:=2 to kol-1 do writeln(m[i]); textcolor(4);write(m[kol]); window(26,10+1,54,10+1); textcolor(15); textbackground(9); clrscr; write(m[1]); i:=1; y:=11; repeat ch:=readkey; case ch of #80: begin window(26,y,54,y);textcolor(3);textbackground(0);clrscr; write(m[i]); if i=kol then begin window(26,y,54,y);clrscr;textbackground(0);textcolor(4);write(m[kol]); i:=1;y:=11; end else begin inc(i);inc(y);end; window(26,y,54,y);textcolor(15);textbackground(9);clrscr;write(m[i]); end; #72: begin window(26,y,54,y);textcolor(3);textbackground(0);clrscr;write(m[i]); if i=1 then begin i:=kol;y:=10+kol; end else begin i:=i-1;y:=y-1; if i=kol-1 then begin window(26,10+kol,54,10+kol);textcolor(4);clrscr;write(m[kol]); end; end; window(26,y,54,y);textcolor(15);textbackground(9);clrscr;write(m[i]); end; end; until (ch=#13); num:=i; end; var r: byte; begin textbackground(0); clrscr; repeat window(1,1,80,25); textbackground(0); clrscr; menu(mainmenu,3,r); window(1,1,80,25); textbackground(0); clrscr; Case r of 1: вызвать процедуру начать; 2: вызвать процедуру загрузить; end; until r=3; end. |
| Daniil |
8.6.2006, 14:19
Сообщение
#3
|
|
Пользователь Группа: Пользователи Сообщений: 29 Регистрация: 4.5.2006 Из: Pоссия Пользователь №: 10 336 |
будем изучать.Спасибо.
|
![]() ![]() |
|
Текстовая версия | Сейчас: 6.2.2012, 7:42 |