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

Александр Цветков - Язык программирования 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(имя файла) – устанавливает в качестве образца для закраски кистью образец, хранящийся в файле, при этом текущий цвет кисти при закраске игнорируется.

Перейти на страницу:

Откройте для себя мир чтения на siteknig.com - месте, где каждая книга оживает прямо в браузере. Здесь вас уже ждёт произведение Александр Цветков - Язык программирования PASCAL, относящееся к жанру Программирование. Никаких регистраций, никаких преград - только вы и история, доступная в полном формате. Наш литературный портал создан для тех, кто любит комфорт: хотите читать с телефона - пожалуйста; предпочитаете ноутбук - идеально! Все книги открываются моментально и представлены полностью, без сокращений и скрытых страниц. Каталог жанров поможет вам быстро найти что-то по настроению: увлекательный роман, динамичное фэнтези, глубокую классику или лёгкое чтение перед сном. Мы ежедневно расширяем библиотеку, добавляя новые произведения, чтобы вам всегда было что открыть "на потом". Сегодня на siteknig.com доступно более 200000 книг - и каждая готова стать вашей новой любимой. Просто выбирайте, открывайте и наслаждайтесь чтением там, где вам удобно.

Комментарии (0)