Программа


'Описание параметров меню:
  QuantityMenuPoint = 4  ' Количество пунктов меню
  ExitPoint = QuantityMenuPoint  ' Пункт меню "Выход"
  MaxLengthMenuPoint = 17   ' Максимальная длина пункта меню
DIM MenuList$(QuantityMenuPoint)   ' Массив для списка пунктов меню
  ' Список пунктов меню:
    DATA "[1] Первый пункт меню","[2] Второй пункт меню","[3] Третий пункт меню","[4] ВЫХОД            "
  FOR i% = 1 TO QuantityMenuPoint ' Цикл инициализации массива
    READ MenuList$(i%)               ' Инициализация массива
  NEXT i%

DEF FnMenu%      ' Функция вывода меню
  CLS             ' Очистка экрана
  ExitMenuFlag$ = "No"  ' Сброс флага "Выход"
  FOR MenuMeter = 1 TO QuantityMenuPoint  ' Цикл вывода пунктов меню
    PRINT MenuList$(MenuMeter) ' Вывод пункта меню
  NEXT MenuMeter
  DO ' Цикл опроса клавиатуры
    MenuPoint = ASC(INPUT$(1)) ' Сканинг клавиатуры
    IF MenuPoint = 27 THEN MenuPoint = ExitPoint ELSE MenuPoint = MenuPoint - ASC("0")
    ' Если нажата Esc, то - определение пункта выхода, иначе - определение номера пункта
  LOOP UNTIL 0 < MenuPoint AND MenuPoint <= QuantityMenuPoint
                             ' Выход из цикла при получении корректного ответа
  IF MenuPoint = ExitPoint THEN FnMenu% = 255 ELSE FnMenu% = MenuPoint
                                                ' Определение значения функции
END DEF

ExitFlag$ = "No"  ' Сброс флага "Выход"
  DO   ' Цикл работы программы
    SELECT CASE FnMenu%        ' Выбор действия по ответу на меню
      CASE 1
      CASE 2
      CASE 3
      CASE 255
        ExitFlag$ = "Yes"  ' Подъем флага "Выход"
    END SELECT
  LOOP UNTIL ExitFlag$ = "Yes"
END


Бесплатные примеры программ
Примеры написанных программ
Помощь студентам по программированию