Нужно сделать меню. Допустим выглядит так : 1. Факториал 2. Сумма чисел 3. Сумма ряда
Нужно сделать так : при нажатии клавиши вниз( вверх) выделяется нижний( верхний ) элемент меню. Затем при нажатии клавиши Enter запускается соответствующая программа, которая запускает нужный модуль, и затем выполняется сама программа. Как сделать модуль, я разобрался. Подскажите, как сделать меню ?
uses crt,modul; const menu :array[1..4] of string=( ' Посчитать факториал нечетных чисел от 1 до 9 ', ' Перевод из р-ичной системы счисления в десятичную ', ' Задача на множество из букв ', ' Выход '); var curchoice :byte; status :byte; temp :byte; ch :char;
procedure z3; begin slova; writeln('Нажмите Enter...'); end;
procedure z2; var n:string; syst:longint; begin clrscr; writeln('Выберите систему :'); readln(syst); writeln('В ',syst,'-ичной системе можно использовать только цифры от 0 до ',syst-1,' !' ); writeln('В противном случае результат будет неверным!'); writeln('Число :'); readln(n); todecr(n,syst); textcolor(12); writeln; writeln('Ответ : ',todecr(n,syst)); textcolor(15); writeln('Нажмите Enter...'); readln; end;
procedure povtor; begin clrscr; curchoice:=1; status:=0; textcolor(11); for temp:=1 to 4 do writeln(menu[temp]); repeat gotoxy(1,curchoice); textcolor(15); textbackground(13); write(menu[curchoice]); textbackground(0); if keypressed then
case readkey of #72: if curchoice>1 then begin textcolor(11); textbackground(0); gotoxy(1,curchoice); write(menu[curchoice]); dec(curchoice); end; #80: if curchoice<4 then begin textcolor(11); textbackground(0); gotoxy(1,curchoice); write(menu[curchoice]); inc(curchoice); end; #27: status:=4; #13: begin status:=curchoice; if status = 1 then begin z1; povtor; end; if status = 2 then begin z2; povtor; end; if status = 3 then begin z3; povtor; end; end end;
until status=4;
end;
begin povtor; textcolor(13); textbackground(0); end.
Подскажите, как сместить меню в центр экрана, что-то не получается. И можно ли убрать мигающий курсор ?
procedure povtor; begin clrscr; curchoice:=1; status:=0; textcolor(11); for temp:=1 to 4 do writeln('':15, menu[temp]);
только тогда может понадобиться изменять еще несколько значений... Иначе подсвечиваться будет некрасиво...
А теперь - вопрос... Я тебе что, просто так дал ссылку? Я же написал на сайте, как делать НЕ надо, и ты тут же делаешь именно так, от чего я предупреждал !!! Что, пока сам не нарвешься на проблему - никого слушать не хочешь? А потом придешь, и будешь удивляться: все правильно, а вылетает
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.