КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Рассмотрим выполнение отдельных функций по работе с текстовым экраном при помощи подпрограмм из библиотеки CRT
Использование библиотеки CRT для создания текстового пользовательского интерфейса Вопросы для проверки знаний. End. Begin Write("Vvedite chislo elementov n="); ReadLn(n); Write("Vvedite znachenie peremennoi A="); ReadLn(A); chT="Znachenie index i="; WriteLn(chT, i:8); WriteLn("Znachenie A= ",A," Znachenie B= ", B:10:2); WriteLn(R, S:8); Ввод и вывод структурированных величин будет рассмотрен отдельно. 1. Назовите операторы ввода в языке Паскаль. 2. Назовите операторы вывода в языке Паскаль. 3. В чем отличие пар операторов read, readln и write, writeln? 4. В чем заключается асинхронный буферизованный ввод с клавиатуры? 5. Что называют эхо-повтором при вводе с клавиатуры? 6. Можно ли с помощью оператора readln ввести с клавиатуры величину: а) символьную, б) целую, в) логическую? 7. Можно ли с помощью оператора write вывести на экран величину: а) символьную, б) целую, в) логическую? 8. В чем заключается форматированный вывод и в каких случаях его применяют? Практические задания. 1. Разработать список вывода, обеспечивающий при использовании оператора Write вывод на экран для двух любых чисел a и b сообщения смешанного вида (содержащего числа и строковые величины): ” a x b = a × b ”. Например, для заданных чисел 4 и 7 должно быть получено сообщение” 4 x 7 = 28 ”. В текстовом режиме весь экран разбит на 80х25 знакомест (25 строк по горизонтали, 80 столбцов по вертикали). Функции работы с клавиатурой (не содержат входных параметров). KeyPressed. Возвращает значение типа Boolean, указывающее состояние буфера клавиатуры: False означает, что буфер пуст, a True - что в буфере есть хотя бы один символ, еще не прочитанный программой. ReadKey. Возвращает значение типа Char, которое равно содержимому буфера клавиатуры. Если он пуст, функция ожидает нажатия на любую клавишу. В отличие от read и readln ввод не сопровождается эхо-повтором вводимых символов на экране. Функция ReadKey часто используется в конце программы для того, чтобы сохранить на мониторе содержание пользовательского экрана до тех пор, пока пользователь не оценит результаты расчета и не нажмет какую-нибудь клавишу для возврата в основное оно программы. Процедуры задания цвета выводимых символов и фона. 1. TextColor(Color: Byte). Определяет цвет выводимых символов. 2. TextBackground(Color: Byte). Определяет цвет фона. Единственным параметром процедур является цвет, имеющий тип Byte. Его можно задать по наименованию либо с помощью нужного числового кода, соответствие их дано в Таблице 4.1. Примеры: TextColor(7); { Светло-серый} TextColor(LightGray); { Светло-серый} TextColor(White+Blink); {Белые мигающие символы} Таблица 4.1. Коды цветов
Все цветовые настройки предварительно заносятся в специальную переменную TextAttr модуля CRT и используются для в выводе только при обращении к процедурам Write или WriteLn. Процедуры очистки экрана, окна или отдельных строк (не содержат входных параметров). 1. ClrScr - о чистка всего экрана или окна, после обращения к ней они заполняются установленным цветом фона и курсор устанавливается в левом верхнем углу. 2. ClrEol - очистка текущей строки - от текущей позиции курсора до правого края экрана (окна). 3. DelLine - удаление строки, в которой находится курсор. 4. InsLine - очистка текущей строки целиком, курсор остается на прежней позиции. Пример использования ClrScr: TextBackground(red); {Установка красного цвета фона} ClrScr; {Заполнение экрана красным цветом} Процедура Window задания окна (активной области ввода/вывода) - прямоугольной области экрана, в которую осуществляется весь вывод. Сразу после вызова процедуры курсор помещается в левый верхний угол окна, а само окно очищается (заполняется цветом фона). По мере вывода курсор, как обычно, смещается вправо и при достижении правой границы окна переходит на новую строку, а если он к этому моменту находился на последней строке, содержимое окна сдвигается вверх на одну строку, т.е. осуществляется «прокрутка» окна. Обращение имеет вид: Window(XI,Y1,X2,Y2: Byte); где (XI,Y1) - координаты левого верхнего (X2,Y2) - правого нижнего углов окна. В координатах экрана левый верхний угол экрана имеет координаты (1,1), горизонтальная координата увеличивается слева направо, а вертикальная - сверху вниз. Обращение к процедуре Window игнорируется, если какая-либо из координат выходит за границы экрана или если нарушается одно из условий: Х2>Х1 и Y2>Y1. Каждое новое обращение к Window отменяет предыдущее определение окна. Пример задания окна с границами(XI, Y1) =(20, 5) и (X2, Y2) = (90,35): Window(20,5,90,35); Границы текущего окна запоминаются в двух глобальных переменных модуля CRT: переменная WindMin типа Word хранит X1 и Y1 (XI - в младшем байте), а переменная того же типа WindMax - Х2 и Y2(X2 - в младшем байте). В отличие от обращения к Window координаты, хранящиеся в переменных WindMin и WindMax, соответствуют началу отсчета (0,0). Процедуры и функции работы с курсором. Процедура GotoXY переводит курсор в нужное место экрана или текущего окна, которое задается координатами X,Y. Обращение к GotoXY игнорируется, если задаваемые координаты X,Y выходят за границы экрана (окна). Пример. Перевод курсора в точку с координатами X=2, Y=6: GotoXY(2,6); Функции WhereX и WhereY возвращают, соответственно, горизонтальную и вертикальную координаты курсора (значения типа Byte). Процедуры работы со звуком. 1. Sound(hz: Word) - включение звукового сигнала с частотой hz Герц. 2. NoSound - выключение звукового сигнала. Процедура ожидания. Delay(ms: Word) - приостанавливает исполнение программы на ms миллисекунд. Практически время задержки зависит от тактовой частоты процессора ПК. Пример кода для создания звука частотой 150 Гц в течении 0,5 секунды = 500 миллисекунд Sound(150); { Звук с частотой 150 Гц } В приведенных выше примерах были рассмотрены статические методы Практически время задержки зависит от тактовой частоты процессора ПК.
Дата добавления: 2014-01-04; Просмотров: 264; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |