Министерство образования и науки Российской Федерации
Федеральное агентство по образованию
Новосибирский государственный технический университет
Лабораторная работа №5
«Организация меню в прикладных программах»
Факультет : АВТ
Группа : АП-119
Студенты : Преподаватель :
Лубенцов Д. Трошина Г. В.
Мазитов Т.
Новосибирск, 2004 г.
Цель работы.
Изучение возможностей создания различного рода меню в прикладных программах.
Задание по варианту.
Осуществить множественный выбор с помощью меню. Определить символьный массив А длиной 10 элементов, содержащий фамилии. Сформировать на его основе другой массив В, в который пользователь должен занести выбранные им произвольно из А некоторые фамилии. Отсортировать массив В.
Реализация главной формы приложения:
DEFINE pad _name OF Surnames PROMPT 'Список фамилий A:' style 'BU' AT 2,2
CLEAR
DIMENSION A(10) && Создание массива А
store "Иванов" to a(1)
store "Сидоров" to a(2)
store "Громов" to a(3)
store "Верлов" to a(4)
store "Данилин" to a(5)
store "Чернов" to a(6)
store "Бонерт" to a(7)
store "Васильев"to a(8)
store "Петров" to a(9)
store "Стрелков"to a(10)
DEFINE pad _go OF Surnames PROMPT 'Занести' AT 15,2
DEFINE pad _sort OF Surnames PROMPT 'Отсортировать' AT 17,2
DEFINE pad _close OF Surnames PROMPT 'Выход' AT 19,2
DIMENSION B(10)
_res=1
ON PAD _name OF Surnames ACTIVATE POPUP fams
DEFINE POPUP fams &&название списка
FOR i=1 to 10
DEFINE BAR i OF fams PROMPT A(i) &&Вывод на экран фамилий из массива А
ON SELECTION BAR i OF fams;
DO choice WITH BAR(), PROMPT()
ENDFOR
ON SELECTION PAD _go OF Surnames DO sel &&вызов процедуры при клики на кнопку
ON SELECTION PAD _sort OF Surnames DO sort
ON SELECTION PAD _close of Surnames Do closes
ACTIVATE MENU Surnames
PROCEDURE choice
PARAMETER nBar, txt
DEFINE BAR nBar OF fams PROMPT txt SKIP FOR .T. &&строка становиться недоступной при повторном
выборе
STORE txt TO B(_res)
_res=_res+1
ENDPROC
PROCEDURE sel && Процедура вывода массива В
CLEAR && Очистка
? 'Список фамилий В:' FONT'' STYLE 'BU' AT 30 && Отображение текста на заданной позиции
for i=1 to _res-1
? B(i) AT 31 && Вывод списка фамилий в массиве B
endfor
ENDPROC
procedure closes && Процедура выхода
quit
endproc
PROCEDURE sort && Процедура сортировки
? 'Список:' AT 20,2 && Отображение текста на заданной позиции
CLEAR && Очистка
= ASORT(B,1,_res-1,0) && Функция сортировки
DO sel && Вызов процедуры sel
endproc
Заключение.
Платформа Microsoft Visual FoxPro предоставляет множество инструментов, позволяющих реализовать достаточно удобный пользовательский интерфейс, используя который, даже не подготовленный пользователь сможет работать с базой данных, вносить в нее изменения и дополнения по средствам элементарных манипуляций.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.