FoxPro Club Главная

Конференция Решения Фотоальбом Сайт М.Дроздова Статьи Файловый архив Книга Visual FoxPro 9.0 Русский Help для Visual FoxPro
Пользователей: 9239
Вход
Генерация меню

Одна из самых нудных, но необходимых, задач - это разграничение прав доступа к системе. Для каждого типа рабочего места (то, что когда-то называлось АРМ'ом) нужно описать и сгенерировать свое меню. Предлагается следующий подход. Создается базовое меню, которое содержит все опции и на его основе с помощью прилагаемой программы генерируются меню для соответствующих АРМ'ов. Так как меню в FoxPro - это DBF-таблица, то права доступа записываются прямо в нее, в поле Comment. Необходимое условие - в рабочей системе должен быть классификатор рабочих мест, который содержит как минимум ID (Char или Integer), наименование рабочего места и имя соответствующего меню. В каталоге HOME() должен быть файл Genmenu.fxp. Этот классификатор используется как при генерации меню, так и при запуске системы для вызова нужного меню. На VFP7 не проверял - попробуйте. Все исходники прилагаются.


 
Прислал: shn   Категория: Инструменты разработчика

Сделайте оценку этого решения Плохо Удовлетворительно Так себе Хорошо Отлично Текущая оценка: (4.891) Вложение [34.23]kb
Дополнения пользователей
Генерация меню
[+][?]
Alef Buslowicz
06.12.01 20:59:23

Я не очень понял... ещё не разбирался с материалом. Но могу рассказать, как сам это делал. 
Имеем исходное меню, построенное в MenuDesigner. Брал файл *.mpr и делал его синтаксический разбор
(выдирал название, признак PAD-POPUP-BAR, вышестоящие и тому подобное). По этому файлу строил
таблицу структуры меню. Далее для каждой группы пользователей определял роль, а для ролей список
доступных пунктов меню (из той самой таблицы структуры). Потом при инициализации приложения
проверял что за пользователь и в соответствии с этим просто гасил коммандой SET SKIP OF нужные
пункты меню. Всё реализовывал на VFP 5.0. Если нужны подробности, исзодники и т.п. пишите
(ales-ss@tut.by).
[Дополнить]



© 2000-2017 Fox Club 
При размещении любых материалов с сайта на других ресурсах- прямая ссылка на www.foxclub.ru обязательна
Яндекс.Метрика