
Министерство образования Российской Федерации
Тульский государственный университет
Кафедра "ТЕХНОЛОГИЯ МАШИНОСТРОЕНИЯ"
ИНФОРМАТИКА
Лабораторная работа №21
Использование библиотеки интерфейса для создания горизонтального меню.
Методические указания
для подготовки бакалавров по направлению 552900 - "Технология, оборудование и автоматизация машиностроительных производств" дневного обучения
Тула 2001.
1. Понятие интерфейса
Интерфейс – совокупность аппаратных и программных средств, обеспечивающих связь с пользователем.
Каждая компьютерная программа также включает в себя пользовательский интерфейс, позволяющий вводить и выводить информацию, а также программный код, обеспечивающий ее обработку
Пользовательским интерфейсом в программе называется визуализированная часть программы, позволяющая представлять информацию пользователю и принимать ее от него. Существует множество типов пользовательского интерфейса. Среди них можно выделить: символьный и графический. Символьный интерфейс представляет собой представляемую информацию в виде отдельных символов. Графический представляет собой набор графических объектов.
Виды интерфейса:
Последовательно-логический интерфейс, предполагает использование системы меню (вертикальные, горизонтальные, выпадающие) и окна
Релятивистский интерфейс (табличный интерфейс). Функции изображены на экране монитора и перебор их осуществляется оставаясь в рабочей зоне.
Визуальный (графический интерфейс).
Пользовательский интерфейс программ для Windows состоит из меню, одной или нескольких панелей инструментов (наборов кнопок с рисунками) для ускорения выполнения действий, и рабочей области, представленной в виде документа или развернутого листа.
Экранная форма — это то, что образует окно (или окна), которое пользователь вашей программы видит на экране.
Экранная форма предоставляет пользователю инструменты для взаимодействия с программой посредством ввода данных или активации различных ее функций. Экранные формы включают в себя все элементы пользовательского интерфейса, необходимые для программы.
Меню бывают горизонтальными, вертикальными и выпадающими. Вертикальное меню более удобное, т.к. оно обеспечивает наиболее наглядный способ представления выбора, но имеет большой недостаток: занимает много места. Горизонтальное меню более компактное (обычно занимает одну строку), но менее информативное.
Для устранения недостатков вертикальных меню их делают всплывающими. Для горизонтального меню используют строку, которая называется информационной и в которой поясняется назначение каждого пункта меню. Информация в командной строке появляется только при соответствующем выборе пункта меню. В настоящее время стандартным считается использование выпадающего меню, где главное меню является горизонтальным, а вспомогательное – вертикального типа.
2. Описание вызываемой процедуры
Описание вызываемой процедуры производится при помощи оператора DECLARE
DECLARE SUB menuSV0 (cen%, vid%, a$(), yp1%, xp1%, lpol%, otst%, l%, t$, ten%, cSimPol%, cFonPol%, cSimm%, cFonm%, cSimK%, cFonK%, cod%)
DECLARE SUB menuG (a$(), ym%, k$(), yk%, tip%, cod%)
Подпрограмма горизонтального меню выбора
Описание значений параметров, используемых при вызове горизонтального меню:
a$() - массив пунктов меню;
ym% - номер строки горизонтального меню;
k$() - массив контекстной подсказки по каждому пункту меню;
yk% - номер строки контекста;
tip% - тип цветовой гаммы 0,1,2,3,4,5,6;
cod% - выходной параметр : номер выбранного пункта меню (0 -ESC ).
Описание массива пунктов меню
Для описание пунктов меню используется оператор DIM,
DIM a$(n),
где размерность символьного массива (n) определяет количество выводимых пунктов меню. Нулевое значение массива используется для вывода названия меню:
DIM a$(n), k$(n)
DIM a1$(n), a2$(n), a3$(n), a4$(n), a5$(n)
Присвоение значений элементов пунктов меню производится по следующей схеме:
a$(0) = " menu: " ‘Название меню
a$(1) = "1111" ‘Название первого пункта меню
a$(2) = "2222"
a$(3) = "3333"
a$(4) = "4444"
a$(5) = "5555"
k$(0) = " Контекстная помощь "
k$(1) = "1 - ххххххх"
k$(2) = "2 - &&&&&&&&"
k$(3) = "3 - *****"
k$(4) = "4 - $$$$$$$$$"
k$(5) = "5 - #######"
Тоже для последующих меню
a1$(0) = " menu2: "
a1$(1) = "tttttttttttttt"
a1$(2) = "ffffffff"
……………….
Пример вызова процедуры:
DO
CALL menuG(a$(), 1, k$(), 25, 1, cod%)
COLOR 0, 3
LOCATE 3, 10
PRINT " Номер выбранного пункта меню cod%="; cod%
LOCATE 4, 10
PRINT " Для завершения программы нажмите ESC !!!"
SELECT CASE cod%
CASE 1
COLOR 0, 3
CLS
LOCATE 12, 10
PRINT " Пример вызова процедуры вертикального меню"
CALL menuSV0(1, 1, a1$(), 5, 10, 1, 0, 0, "1", 1, 14, 1, 14, 1, 15, 4, cod%)
CASE 2
CALL menuSV0(1, 1, a2$(), 10, 20, 1, 0, 0, "1", 2, 14, 2, 14, 1, 15, 4, cod%)
CASE 3
CALL menuSV0(0, 0, a3$(), 15, 30, 1, 0, 0, "1", 3, 14, 4, 14, 1, 15, 4, cod%)
CASE 4
CALL menuSV0(1, 1, a4$(), 5, 50, 1, 0, 0, "1", 4, 14, 5, 14, 1, 15, 4, cod%)
CASE 5
CALL menuSV0(0, 0, a5$(), 15, 10, 1, 0, 0, "1", 0, 14, 6, 14, 1, 15, 4, cod%)
CASE ELSE
END SELECT
LOOP UNTIL cod% = 0
LOCATE 25, 1
PRINT " Нажми любую клавишу !!! ";
c$ = INPUT$(1)