КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Управление цветом в текстовом режиме(модуль CRT)Если вам не нужно рисовать на экране картинки, то вам не нужен и графический режим. Тем более, что вывод текста в текстовом режиме можно сделать достаточно красиво и удобно. Делается это с помощью модуля CRT. Вот какие процедуры он предлагает для этого:
До сих пор вы не умели управлять положением текстового курсора на экране. При помощи процедуры GotoXYвы сможете помещать курсор в произвольную точку экрана, а значит и текст печатать в произвольном месте экрана. Вспомним, что в текстовом режимеэкран обычно разделен на 25 строк по 80 столбцов. Строки пронумерованы сверху вниз, столбцы - слева направо. Чтобы поместить курсор в 61 столбец 14 строки, достаточно записать GotoXY(61,14).
Задача: Закрасить экран красным цветом и посредине экрана желтыми буквами на синем фоне написать “Вход”. Программа: USES CRT; BEGIN TextBackground (Red); ClrScr; TextColor (Yellow); TextBackground (Blue); GotoXY(38,13); WriteLn(‘Вход’) END. Работа с датами и временем (модуль DOS) Каждый компьютер имеет часы и календарь. Каждый пользователь может спросить у компьютера, сколько времени и какое сегодня число, а при желании и подправить то и другое. Для работы с временеми датойна Паскале необходим новый для вас модуль DOS. Мы рассмотрим четыре процедуры этого модуля, которые работают с временем и датой:
Чтобы воспользоваться этими процедурами, вы должны придумать имена переменным, обозначающим дату и время: God год (с 1980 по 2099) Mes месяц (1-12) Den день месяца Den_Ned номер дня недели (от 0 (воскресенье) до 6 (суббота)) Chas час Min минута Sec секунда Sotki сотые доли секунды
Все эти переменные должны быть целочисленными, однако не типа Integer, к которому вы привыкли, а типа Word. Таково требование упомянутых процедур. Переменная типа Word должна быть целым числом из диапазона 0 - 65535. Вот программа, которая узнает у компьютера, какое сегодня число и сколько времени: USES DOS; VAR God, Mes, Den, Den_Ned, Chas, Min, Sec, Sotki : Word; Begin GetDate(God, Mes, Den, Den_Ned); WriteLn(‘Сегодня ’ , Den, ‘ . ‘ ,Mes, ‘ ‘ ,God, ‘ года‘); GetTime(Chas,Min,Sec,Sotki); WriteLn(‘Сейчас ’ , Chas,' час. ' ,Min, ' мин. и ' ,Sec, ' сек.') End.
Задание 133 «Быстрота реакции»: Определите быстроту своей реакции: На экране через случайный промежуток времени (секунды через 2 - 4) возникает квадрат. Как только он возник, быстрее нажимайте на какую-нибудь клавишу. Пусть компьютер вычислит, сколько сотых долей секунды прошло между этими двумя событиями. Возможно, вас не удовлетворит работа GetTime в этой программе. Попробуйте сделать определитель быстроты реакции, не связываясь с процедурами модуля DOS. Например, засеките по секундомеру, сколько времени ваш компьютер выполняет пустой цикл for i:=1 to 10000000 do; и создайте на этой основе свою единицу времени.
А вот как установить дату и время: SetDate(1997, 5, 22) -установить дату 22 мая 1997 года SetTime(23, 58, 32, 93) -установить время 23 часа 58 мин 32 сек и 93 сотых Имейте в виду, что эти процедуры устанавливают дату и время не только для Паскаля, а для всего компьютера. Будьте осторожны, а не то файлы, сохраненные вами, будут иметь неверный атрибут времени.
Задание 134 «Определитель дня недели»: Вы вводите любую дату. Компьютер должен определить день недели и напечатать его в виде “понедельник”, “вторник” и т.д. При этом вы не должны испортить календарь, то есть после того, как ваша программа завершит работу, календарь компьютера должен показывать правильную дату, а не ту, что вы ввели.
|