Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Управление цветом в текстовом режиме(модуль CRT)

Глава 13. Процедуры и функции с параметрами | Подпрограммы. Локальные и глобальные переменные | Массивы как параметры | Индукция. Рекурсия. Стек | Структура процедур и функций | Совместимость типов | Форматы вывода данных | Синтаксисические диаграммы Паскаля | Глава 15. Другие возможности Паскаля | Вставка в программу фрагментов из других программных файлов |


Читайте также:
  1. III. Управление Программой
  2. T-Factory 6 - управление производственным бизнесом в реальном времени
  3. V. Управление образовательным учреждением
  4. V. Управление общеобразовательным учреждением
  5. XY-управление
  6. Автоматическое управление
  7. Автоматическое управление памятью ссылочных данных

Если вам не нужно рисовать на экране картинки, то вам не нужен и графический режим. Тем более, что вывод текста в текстовом режиме можно сделать достаточно красиво и удобно. Делается это с помощью модуля CRT. Вот какие процедуры он предлагает для этого:

TextColor(Yellow) Выбор цвета текста
TextBackground(Blue) Выбор цвета фона под текстом. Я имею в виду цвет не всего экрана, а той узенькой полоски, на которой появляется текущий текст
ClrScr Очистка экрана. Если в программе предварительно была выполнен оператор TextBackground (Blue), то после выполнения ClrScr весь экран станет синим
GotoXY(61,14) Поместить курсор в 61 столбец 14 строки

 

До сих пор вы не умели управлять положением текстового курсора на экране. При помощи процедуры 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. Мы рассмотрим четыре процедуры этого модуля, которые работают с временем и датой:

GetTime Узнать время
SetTime Установить время
GetDate Узнать дату
SetDate Установить дату

Чтобы воспользоваться этими процедурами, вы должны придумать имена переменным, обозначающим дату и время:

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 «Определитель дня недели»: Вы вводите любую дату. Компьютер должен определить день недели и напечатать его в виде “ понедельник ”, “ вторник ” и т.д. При этом вы не должны испортить календарь, то есть после того, как ваша программа завершит работу, календарь компьютера должен показывать правильную дату, а не ту, что вы ввели.


Дата добавления: 2015-11-14; просмотров: 33 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Дополнительные процедуры и функции модуля Graph| Нерассмотренные возможности Паскаля

mybiblioteka.su - 2015-2024 год. (0.006 сек.)