KnigaRead.com/
KnigaRead.com » Компьютеры и Интернет » Программирование » Александр Цветков - Язык программирования PASCAL

Александр Цветков - Язык программирования PASCAL

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн Александр Цветков, "Язык программирования PASCAL" бесплатно, без регистрации.
Перейти на страницу:

- 8 -

Тема №2 Использование модуля CRT

Язык Паскаль имеет специальную библиотеку работы с экраном в текстовом режиме. Она называется CRT[5]. Эта библиотека содержит набор подпрограмм, позволяющих задавать цвет выводимых букв, цвет фона, устанавливать курсор в желаемую позицию. В текстовом режиме считается, что окно содержит 25 строк по 80 колонок. В каждой позиции может быть один символ (буква, цифра, специальные знаки). Графические объекты (прямые, окружности и т.п.) в текстовом окне не допустимы. Модуль CRT эмулирует текстовый терминал первых персональных компьютеров.


Подключение библиотеки к программе осуществляется предложением Uses:


Program Card;

Uses CRT; { Это предложение вставляется сразу после Program }


Далее могут идти описания переменных, затем begin и тело программы.


Рассмотрим использование подпрограмм этой библиотеки на примере создания заставки программы.


Program Card;

Uses CRT; { Подключить модуль CRT }

begin

ClrScr; { Очистить экран }

TextColor (White); { Установить белый цвет букв }

TextBackGround (Blue); { Установить синий цвет фона }

GotoXY (36,13); { Поставить курсор в 36 колонку, 13 строку }

write (' Привет '); { Вывести текст }

ReadKey; { Ожидать нажатия любой клавиши }

end.


Наберите текст этой программы и выполните её.


Разберем действия отдельных процедур:


* ClrScr – очищает экран или текущее окно (от англ. Clear Screen), закрашивая его текущим цветом фона, установленным процедурой TextBackGround. По умолчанию – цвет экрана белый.

* TextColor (цвет) – устанавливает текущий цвет букв, который будет использоваться операторами write и writeln. По умолчанию используется светло-серый цвет букв.

* TextBackgroud (цвет) – устанавливает текущий цвет фона, который будет использоваться операторами write и writeln.

* GotoXY (колонка, строка) – переводит курсор в указанную позицию; вывод, осуществляемый последующим оператором write или writeln будет начинаться с этой позиции. Обычно экран в текстовом режиме содержит 80 колонок и 25 строк.

* ReadKey – ожидание нажатия на любую клавишу (далее мы рассмотрим другое применение этой подпрограммы).


- 9 -

В качестве цвета может использоваться число от 0 до 15, но лучше пользоваться определенными в модуле CRT константами:


Таблица цветов

Black

Черный

DarkGray

Темно-серый

Blue

Синий

LightBlue

Светло-синий

Green

Зеленый

LightGreen

Светло-зеленый

Cyan

Небесно голубой

LightCyan

Ярко-голубой

Red

Красный

LightRed

Светло-красный

Magenta

Малиновый

LightMagenta

Светло-малиновый

Brown

Коричневый

Yellow

Желтый

LightGray

Светло-серый

White

Белый


Рассмотрим еще несколько полезных подпрограмм.


* Window (x1,y1,x2,y2) – создание окна вывода. В случае задания окна, все операторы write и writeln выводят только в него, процедура ClrScr будет очищать только это окно.

* WhereX, WhereY – две функции, позволяющие узнать координаты местонахождения курсора. Пример использования : GotoXY(WhereX+10,WhereY+2).


Задание №2:

Напишите программу «Визитная карточка», которая выводила бы на экран хорошо оформленные ваши личные данные: имя, фамилию, год рождения, адрес, телефон.

Используйте разные цвета, хорошо скомпонуйте.


Задание №2*:

Модуль Sounds содержит процедуры и функции для работы со звуком:

n:=LoadSound(fname) – загружает звук из файла с именем fname в оперативную память и возвращает описатель звука в целую переменную n (звуковой файл должен может иметь любой формат);

PlaySound(n) – начинает проигрывание звука с описателем n;

StopSound(n) – останавливает проигрывание звука с описателем n;

RewindSound(n) – "перематывает" звук с описателем n на начало ;

DestroySound(n) – удаляет звук с описателем n из оперативной памяти, описатель звука при этом становится недействительным ;

SoundLength(n) – возвращает длительность звука с описателем n в миллисекундах.


Используйте его возможности для «улучшения» программы «Визитная карточка»

Пример использования модуля sound:


Program Player;

Uses Sounds, CRT;

var n: integer;

begin

n:=LoadSound ('C:WINDOWSMEDIAringin.wav '); // укажите расположение файла

PlaySound (n);

Sleep(SoundLength (n));

DestroySound (n);

end.

- 10 -

Тема №3 Графический модуль GraphABC


Система ABC Pascal обладает великолепной графической библиотекой. Для ее модключения после заголовка программы необходимо написать Uses GraphABC. Модуль GraphABC содержит константы, типы, процедуры и функции для рисования в графическом окне. Они подразделяются на несколько групп:

* Графические примитивы

* Действия с кистью

* Действия с цветом

* Действия со шрифтом

* Действия с точками и прямоугольниками

* Действия с рисунками

* Действия с пером

* Действия с графическим окном


Рассмотрим сразу пример:

Program Gr01;

Uses GraphABC;

begin

SetWindowSize(256,256);

SetPenColor(RGB(0,0,255));

Line(0,0, WindowWidth, WindowHeight)

Line(0,WindowHeight, WindowWidth, 0)

end.


Процедура SetWindowSize устанавливает размер графического окна 256×256 пикселей.

Процедура SetPenColor определяет цвет рисования линий. Функция RGB возвращает цвет, заданный своими Red, Green, Blue компонентами. Процедура Line рисует линию из точки, заданной первой парой координат, в точку, заданную второй парой координат. Функции WindowWidth и WindowHeight возвращают текущие значения ширины и высоты графического окна (следовательно, если вы поменяете размер окна в процедуре SetWindowSize, то линии все равно будут проводиться из угла в угол).


Оконные координаты

* Координата x растет слева на право от 0 до значения WindowWidth

* Координата y растет сверху вниз от 0 до значения WindowHeight


- 11 -


Задание цвета

Как известно восприятие цвета у человека трехцветное. Основываясь на этом, в графических библиотеках используется именно такое трехкомпонентное представление цвета. Цвет задается с помощью функции rgb(Red, Green,Blue)

Здесь

* Red – число от 0 до 255, соответствующее интенсивности красной компоненты

* Green – число от 0 до 255, соответствующее интенсивности зеленой компоненты

* Blue – число от 0 до 255, соответствующее интенсивности синей компоненты


Функция формирует целое число (integer), которое может использоваться везде в графической библиотеке, где требуется указание цвета. Есть несколько предопределенных цветов:


clBlack – черный

clCream – кремовый

clPurple – фиолетовый

clAqua – бирюзовый

clWhite – белый

clOlive – оливковый

clMaroon – темно-красный

clFuchsia – сиреневый

clRed – красный

clTeal – сине-зеленый

clNavy – темно-синий

clGray – серый

clGreen – зеленый

clLime – ярко-зеленый

clBrown – коричневый

clLightGray – светло-серый

clBlue – синий

clMoneyGreen – цвет зеленых денег

clSkyBlue – голубой

clDarkGray – темно-серый

clYellow – желтый



Задание стиля и цвета пера

* SetPenColor(цвет) – устанавливает цвет пера, задаваемый параметром color.

* SetPenWidth(ширина) – устанавливает ширину пера.

* SetPenStyle(стиль) – устанавливает стиль пера (сплошной, пунктир и т.п.), возможные значения указаны в таблице (стиль применим только к ширине пера 1 пиксел)


psSolid

psDash

psDashDot

psClear

psDot

psDashDotDot


Текущее перо используется для рисования линий, прямоугольников, ломаных, окружностей, эллипсов, дуг и т.п.


Пример:

Program Gr02;

Uses GraphABC;

Var i : integer;

begin

SetWindowSize(512,512);

SetPenStyle(psDash);

SetBrushStyle(bsClear);

Circle (256,256,WindowHeight div 2);

end.

- 12 -


Задание стиля и цвета кисти

* SetBrushColor(цвет) – устанавливает цвет кисти

* SetBrushPicture(имя файла) – устанавливает в качестве образца для закраски кистью образец, хранящийся в файле, при этом текущий цвет кисти при закраске игнорируется.

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*