Горизонтальное меню с выпадающим меню - Free Pascal
Формулировка задачи:
помогите сделать горизонтальное меню с выпадающим меню. Нужно чтобы при выборе какого нибудь пункта в горизонтальном меню под тем пунктом меню которое выбрали появлялось выпадающее меню с различным выбором если можно для образца мне код с комментариями чтоб я по образцу смог своё написать пожауйста
Решение задачи: «Горизонтальное меню с выпадающим меню»
textual
Листинг программы
procedure SubMenyu(p:byte;var k:byte;kol1,kol2,w:byte);{создание и вывод на экран выпадающего меню} //добавить параметр p:byte; var kod: char; i:byte; begin window(1,1,80,25); textbackground(0); clrscr; for i:=1 to kol2 do{восстановим главное меню} begin gotoxy(12*(i-1)+1,1); write(glav[i]); end; gotoxy(12*(p-1)+1,2);//изменить k:=1; {выведен первый пункт меню} repeat for i:=1 to kol1 do begin if i=k then {выделенный пункт} begin textbackground(3); textcolor(9); end else {остальные} begin textbackground(0); textcolor(15) end; gotoxy(12*(p-1)+1,i+1);{ставим курсор}//изменить case w of 1:write(vvod[i]);{выводим пункты} 2:write (sort[i]); 3:write(vyvod[i]); end; end; repeat kod:=readkey; until Kod in [#13, #72, #80]; case kod of #72: begin{стрелка вверх} k:=k-1; if k=0 then k:=kol1;{если выше верха, вниз} end; #80: begin {стрелка вниз} k:=k+1; if k>kol1 then k:=1;{если ниже низа, вверх} end; end; until kod=#13;{нажат Enter, выходим из меню в выбранную процедуру} end;
Объяснение кода листинга программы
- Создание и вывод на экран выпадающего меню.
- Восстановление главного меню.
- Вывод первого пункта меню.
- Проверка нажатой клавиши и изменение положения курсора.
- Вывод пунктов меню.
- Проверка нажатой клавиши и изменение выбранного пункта меню.
- Проверка нажатой клавиши и переход к следующему пункту меню.
- Проверка нажатой клавиши и возврат в главное меню.
- Ввод и обработка нажатой клавиши.
- Переход к предыдущему пункту меню.
- Переход к следующему пункту меню.
- Проверка нажатой клавиши и выход из меню в выбранную процедуру.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д