IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Меню, Организация
сообщение
Сообщение #1


Профи
****

Группа: Пользователи
Сообщений: 865
Пол: Мужской
Реальное имя: Вячеслав

Репутация: -  20  +


Привет!
Вот делаю меню, но чуть не получается wacko.gif
У меня есть главное меню с 2-мя пунктами. Из этих пунктов "появляется" еще одно подменю, из этого другое и т.д. У меня не получется сделать связь между менюшками и подменюшками. То есть если я нажму "ВЫХОД" из подменю, то я должен вернуться в "надменю". Вот мой вариант
main_menu(m_mas[1]); //в 1-й элемент массива я ложу то что "выбрали", т.е. 1-й или 2-й пункт меню
repeat
case m_mas[1] of
1:begin
menu_group(m_mas[2]); //здесь так же
menu_predmet(m_mas[2],m_mas[3]);
dob_prosm(m_mas[4]);
case m_mas[4] of
1:begin
menu_mes(m_mas[5]);
find_oc(m_mas[2],m_mas[3],m_mas[5]);
end;
2:begin
menu_mes(m_mas[5]);
add_oc(m_mas[2],m_mas[3],m_mas[5]);
end;
3:menu_predmet(m_mas[2],m_mas[3]); // тут по идее я должен вернуться в "надменю"
end;
end;
2:begin
menu2(m_mas[2]);
case m_mas[2] of
1:begin
menu_variant(m_mas[3]);
case m_mas[3] of
1:add_group;
2:begin
menu_group(m_mas[4]);
change_group(m_mas[4]);
end;
3:begin
menu_group(m_mas[4]);
del_group(m_mas[4]);
end;
4:menu2(m_mas[2]); //тут тоже надо вернуться в "надменю"
end;
end;
2:begin
menu_variant(m_mas[3]);
case m_mas[3] of
1:add_u4;
2:begin
prosm_pred(m_mas[4]);
change_u4(m_mas[4]);
end;
3:begin
prosm_pred(m_mas[4]);
del_u4(m_mas[4]);
end;
4:menu2(m_mas[2]);
end;
end;
3:begin
menu_variant(m_mas[3]);
case m_mas[3] of
1:begin
menu_group(m_mas[4]);
add_student(m_mas[4]);
end;
2:begin
menu_group(m_mas[4]);
change_student(m_mas[4]);
end;
3:begin
menu_group(m_mas[4]);
del_student(m_mas[4]);
end;
4:menu2(m_mas[2]);
end;
end;
4:main_menu(m_mas[1]);
end;
end;

end;
until m_mas[1]=3
Если я захожу в подменю, то чтобы вернуться назад, надо 2 раза нажать "выход" .А надо чтобы с одного нажатия.
Надеюсь на помощь smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Что-то ты перемудрил по-моему... Вот так как-то должно быть (menu оформи не процедурами, а функциями, пример - по ссылке в моей подписи):

repeat
menu_res := main_menu; { рисуем основное меню и в menu_res берем выбор пользователя }
case menu_res of
1:
repeat
menu_second := sub_menu_1; { <--- рисуем первое подменю и получаем выбор пользователя }
case menu_second of
{ тут делаешь что тебе нужно в зависимости от выбора пользователя }
end;
until menu_second = 3; { <-- выход из подменю 1}
2:
repeat
menu_second := sub_menu_2; { <--- рисуем второе подменю и получаем выбор пользователя }
case menu_second of
{ тут делаешь что тебе нужно в зависимости от выбора пользователя }
end;
until menu_second = 3; { <-- выход из подменю 2}
end;
until menu_res = 3; { <--- Пока не надо выйти из основного меню }
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Профи
****

Группа: Пользователи
Сообщений: 865
Пол: Мужской
Реальное имя: Вячеслав

Репутация: -  20  +


Цитата
Что-то ты перемудрил по-моему
Ну это как всегда smile.gif
Спасибо, все получилось good.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 27.11.2020 15:55
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name