Как создать меню в Паскале ? |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Как создать меню в Паскале ? |
yutkatch |
Сообщение
#1
|
Гость |
Дано много прцедур и Функций , надо составить Меню , так , что бы каждой процедуре или финкции соотвествовала даная цифра и при вводе этой цифры - выполнялась даная процедура(функция).
И еще такой вопрос , как его зациклить , что бы после выполнения некой процедуры(функции) опять появлялось МЕНЮ . И только при нажатии "Выход", программа закончила работу ?? Ув. Админы, Модераторы Я прошу , мне дать ссылку , если такое решение задачи уже есть на вашем форуме!!! Если нет , то прошу помогите разобратся с этой задачей! Сообщение отредактировано: yutkatch - |
volvo |
Сообщение
#2
|
Гость |
yutkatch
Ссылки надо искать. Для этого существует кнопка "Поиск"... Форма поиска Вот малая часть того, что поиск выдал: http://forum.pascal.net.ru/index.php...indpost&p=31026 http://forum.pascal.net.ru/index.php...indpost&p=29199 http://forum.pascal.net.ru/index.php...indpost&p=28880 |
klem4 |
Сообщение
#3
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
Цитата(yutkatch @ 26.01.05 11:34) Дано много прцедур и Функций , надо составить Меню , так , что бы каждой процедуре или финкции соотвествовала даная цифра и при вводе этой цифры - выполнялась даная процедура(функция). Очень простой, но далеко не лучший вариант : Код var ch:char; Begin ch:=readkey; case ch of '1' : Имя_процедуры1; '2' : Имя_функции2; ... end; Сообщение отредактировано: klem4 - -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
yutkatch |
Сообщение
#4
|
Гость |
Сенкс .....!
|
klem4 |
Сообщение
#5
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
!!! то что я написал, годится только в том случае, если кол-во процедур у тебя не более 10! так как char воспринимает только один символ, тоесть в случае с цифрами (0..9)
Тогда по простому еще можно так Код var num:byte; begin Readln(num); case num of 1: Имя_процедуры 2: ... end; Это сосвем примитивные способы, но в случае маленьких ,не сложных программ, годятся , мне кажется Сообщение отредактировано: klem4 - -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
volvo |
Сообщение
#6
|
Гость |
yutkatch
Цитата как его зациклить , что бы после выполнения некой процедуры(функции) опять появлялось МЕНЮ Что-то типа этого: Код var num:byte; Done: Boolean; begin done := False; repeat { Здесь - вывод меню } Readln(num); case num of 1: Имя_процедуры 2: ... 9: Done := True; { Выход } end; until done; { Если выбран выход - цикл заканчивается... } end. Сообщение отредактировано: volvo - |
Werwolf86 |
Сообщение
#7
|
Новичок Группа: Пользователи Сообщений: 31 Пол: Мужской Репутация: 0 |
Давай мыло...вышлю)) правда есть две процедурки на асме))
;) |
Nemo |
Сообщение
#8
|
Группа: Пользователи Сообщений: 9 Пол: Мужской Репутация: 0 |
Завести массив указателей, а потом вызывать их по индексам (индекс - ввденное число)
|
Altair |
Сообщение
#9
|
Ищущий истину Группа: Пользователи Сообщений: 4 825 Пол: Мужской Реальное имя: Олег Репутация: 45 |
Не рационально в плане использования памяти. (4x(кол-во функций)) байт займет такой массив...
-------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
volvo |
Сообщение
#10
|
Гость |
Nemo, в следующий раз прежде чем что-то постить, подумайте, какой должна быть программа, чтобы использование Вашего меню было рационально...
|
Nemo |
Сообщение
#11
|
Группа: Пользователи Сообщений: 9 Пол: Мужской Репутация: 0 |
Цитата Nemo, в следующий раз прежде чем что-то постить, подумайте, какой должна быть программа, чтобы использование Вашего меню было рационально... Можно поподробней: что не так? |
volvo |
Сообщение
#12
|
Гость |
Цитата что не так? Пример. У меня есть программа из 4-х функций (25 строк), и я хочу в нее добавить простейшее меню... Есть мне смысл пользоваться таким меню? Каков полный размер Вашего исходника? |
Nemo |
Сообщение
#13
|
Группа: Пользователи Сообщений: 9 Пол: Мужской Репутация: 0 |
Размер 21.1 KB. Но это из-за использования объекта TBigCur. Я не предлагал целиком использовать мое меню, я лишь хотел показать, как можно вызывать функцию по ее индексу (это нажатие клавиши или что угодно). Тут нужно уже самому думать, как это лучше применить чтобы использование моего "меню было рационально... "
|
klem4 |
Сообщение
#14
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
Nemo , я думаю Volvo имел в виду не размер исходника в килобайтах, а кол-во строк в программе
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Nemo |
Сообщение
#15
|
Группа: Пользователи Сообщений: 9 Пол: Мужской Репутация: 0 |
Цитата Nemo , я думаю Volvo имел в виду не размер исходника в килобайтах, а кол-во строк в программе Странно, конечно размер измерять в строках, но пусть даже так... |
klem4 |
Сообщение
#16
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
Цитата Странно, конечно размер измерять в строках, но пусть даже так... возможно, что я и не прав. -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Jahnerus |
Сообщение
#17
|
Уникальный Группа: Пользователи Сообщений: 64 Пол: Мужской Репутация: 2 |
;) Кажется принято измерять размер исходника количеством использованных операторов (не беру в расчёт "+","-" и т.д. в одном выражении)... и если следовать нормальному стилу программирования и не пихать всё в одну строчку то можно сказать что и количеством строк.
-------------------- Век живи, век учи С © by Jahnerus
|
Текстовая версия | 11.01.2025 5:32 |