Лекция №7 uses Graph

End.

Begin

End

end;

sum(a,b,a_b);

sum(c,d,c_d);

print(a_b,'A+B');

print(c_d,'C+D');

for i:=1 to n do

for j:=1 to n do begin s:=0;

for k:=1 to n do s:=a_b[i,k]*c_d[k,j];

p[i,j]:=s

end;

print(p,' P');

for i:=1 to n do sled:=sled+p[i,i];

writeln(' sled=',sled:4:1)

Работа с графикой в Турбо Паскале

Множество графических процедур и функций среды программирования Borland Pascal собраны в модуле Graph. Подключение библиотеки графических функций и процедур к программе осуществляется строкой

uses Graph;

приведенной после заголовка программы или в общем списке подключаемых модулей.

Модули, указанные в разделе uses, должны находится или в рабочем каталоге, или в каталоге, указанном в строке UNITS окна диалога Options/Directories. Допустим модуль graph.tpu содержится в подкаталоге
c:\tp70\units,

Тогда именно эту строку следует занести в поле ввода UNITS, не забыв сохранить настройки. Если этого не сделать, то при компиляции программы появится сообщение: Error 15: File not found (Graph.tpu).

Взаимодействие программы и видеосистемы в графических режимах обеспечивают драйверы, в которых применяется графический интерфейс фирмы Borland – Borland Graphics Interface (BGI). Драйверы, поставляемые с Borland Pascal, собраны в файлах, имеющих расширение BGI: CGA.BGI, EGAVGA.BGI, HERC.BGI и др. Каждый из этих драйверов обеспечивает работу в нескольких графических режимах. Поддерживаемые графические режимы группируются в файлах *.BGI по принципу схожести организации видеопамяти.

Графическая библиотека Borland Pascal обеспечивает все графические режимы, которые были актуальны на время её создания. Для использования наиболее современных режимов, например SVGA, необходимо подключение поставляемых отдельно драйверов. В излагаемом материале мы ограничимся возможностями 16-цветного режима VGA с высоким разрешением.

Инициализация графического режима

В Турбо Паскале предусмотрена процедура

procedure InitGraph(var GraphDriver: Integer; var GraphMode: Integer;

PathToDriver: string);

Аргументы имеют целочисленный тип и определяют графический режим. Чтобы не запоминать целочисленные именаи GraphMode, в модуле предусмотрены константы графического режима, имена которых совпадают с названием режима. Наиболее простой способ выбора необходимого графического драйвера и режима – автоматический. Чтобы графический режим определялся автоматически, номер графического драйвера GraphDriver, передаваемый в процедуру, должен равняться 0 или константе Detect=0. Пример инициализации графического режима:

program graph1;

uses Graph,Crt;

var GraphDriver, GraphMode: integer;

const path='c:\tp70\bgi';

begin

GraphDriver:=detect;

InitGraph(GraphDriver,GraphMode,path);

if GraphResult <> GrOk then begin

writeln('Графический режим не установлен ');

Halt

end;

end.

Установка цвета

Драйвер EGAVGA.BGI позволяет использовать 16 цветов. Каждому цвету присвоен код - целое число, которое используется процедурами и функциями Паскаля. Для того чтобы не запоминать эти коды, определено 16 констант, имена которых говорят сами за себя:

Black Черный   DarkGray Темно-серый  
Blue Синий   LightBlue Голубой  
Green Зеленый   LightGreen Светло-зеленый  
Cyan Циан-морская волна   LightCyan Светлый циан  
Red Красный   LightRed Ярко-красный  
Magenta Фиолетовый   LightMagenta Светло-фиолетовый  
Brown Коричневый   Yellow Желтый  
LightGray Светло-серый   White Белый  

Цвет выводимых в графическом режиме на экран линий и символов можно задать процедурой
SetColor(Color:word);,
аргумент которой – целое число от 0 до 15 или имя одной из приведенных выше констант. Если процедура SetColor не вызвана, используется белый цвет. Установка цвета действует на те линии и символы, которые выводятся на экран после её вызова, но не меняет цвет объектов, выведенных на экран до её вызова.

Процедура SetBkColor(Color:word), устанавливает цвет фона для всего экрана. Если процедура установки цвета фона не вызвана, экран будет черным.

Пример программы, в которой используются процедуры и функции графического модуля: построение прямоугольника, окружности, вывод текста, прорисовка прямой линии и др.


program Rectan_Circle_Line;


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: