Установочные процедуры

  • docx
  • 30.11.2021
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала Л3-00098.docx

Установочные процедуры

I.   Процедуры setcolorsetbkcolor устанавливают текущий цвет для выводимых линий, символов и цвета фона.

Формат обращения: setcolor (цвет); setbkcolor (цвет); где цвет Ч выражение типа word, задающее текущий цвет символов (setcolor) или фона (setbkcolor). В модуле graph определены следующие константы для задания цвета:

const 

black= 0;   {черный}

blue = 1;   {синий}

green= 2;   {зеленый}

cyan= 3;   {голубой}

red= 4;   {красный}

magenta= 5;   {фиолетовый}

brown= 6;   {коричневый}

lightgrey= 7;  {светло-серый}

darkgrey= 8;   {темно-серый}

lightblue= 9;   {ярко-синий}

lightgreen= 10; {ярко-зеленый}

lightcyan=11; {ярко-голубой}

lightred= 12; {розовый}

lightmagenta= 13; {малиновый}

yellow= 14; {желтый}

white= 15; {белый}

II. Процедура setlinestyle устанавливает стиль вычерчиванемых линий.

Формат обращения: setlinestyle (вид,образец,толщина); Здесь параметры имеют следующие значения:

Ч  вид Ч выражение типа word, означающее вид линии. Вид линии определяется следующими константами:

const

solidln    = 0; {сплошная линия}

dottedln = 1; {точечная линия}

centerln  = 2; {штрихпунктирная линия}

dashedln = 3; {пунктирная линия}

userbitln = 4; {вид линии определяется пользовантелем};

Чобразец Ч выражение типа word, указывающее обранзец линии. Для всех видов линий от 0 до 3 это значенние задается равным нулю; для пользовательского вида задается собственный шаблон;

Чтолщина Ч выражение типа word, задающее толщину линии. Параметр толщина может принимать одно из двух значений:

const

normwidth = 1; {толщина в одну точку}

thickwidth = 3; {толщина в три точки}

III. Процедура setfillstyle устанавливает стиль (тип и цвет) заполнения фигур.

Формат обращения: setfillstyle (тип,цвет); Здесь параметры имеют следующие значения:

Ч  тип Ч переменная типа word, определяющая тип занполнения.

Тип заполнения определяется следующими константами:

const

emptyfill      = 0; {заливка цветом фона}

solidfill        = 1; {заливка назначенным цветом}

linefill         = 2; {штриховка линиями}

itslashfill     = 3; {штриховка //////}

slashfill       = 4; {штриховка утолщенными /////}

bkslashfill    = 5; {штриховка \\\\\\}

itbkslashfill  = 6; {штриховка утолщенными \\\\\\}

hatchfill      = 7; {штриховка ++++++}

xhatchfill     = 8; {штриховка хххххх}

interleavefill = 9; {штриховка в клетку}

widedotfill   =10; {штриховка редкими точками}

closedotfill   =1 1 ; {штриховка частыми точками}

userfill        =12; {штриховка определяется пользователем}

Ч цвет Ч переменная типа word, задающая цвет заполннения.

Если параметр тип имеет значение 12, то рисунок узонра определяется программистом и задается в процедунре setfillpattern, которая может использоваться без setнfillstyle.

IV. Процедура setfillpattern устанавливает образец и цвет заполнения.

Формат обращения:

setfillpattern (тип, цвет); где цвет Ч переменная типа word, задающая цвет занполнения;

тип Ч переменная типа fillpatterntype, которая в модуле graph имеет описание: type fillpatterntype=array[1..8] of byte; Свой тип заполнения пользователь, таким образом, заданет в матрице 8x8 точек: восемь элементов массива, кажндый из которых задается двумя шестнадцатеричными цинфрами (10101010 Ч восемь двоичных цифр, задаются АА Ч двумя шестнадцатеричными). Следующий фрагмент пронграммы позволяет установить стиль лшахматной доски╗: ... const fkfillpatterntype = ($AA,$55,$AA,$55,$AA,$55, $АА,$55); ... setbkcolor(...); ... setcolor(...); ... setfillpattern(fk,red);

V.   Процедура setviewport устанавливает прямоугольное окно на графическом экране. Формат обращения: setviewport(x1,y1,x2,y2,pr); где х1,у1,х2,у2 Ч выражения типа integer, задающие конординаты левого верхнего и правого нижнего углов окна; рr Ч выражение типа boolean, определяющее лотсечку╗ не умещающихся в окне элементов изображения. Если аргумент рг задать равным true, элементы изображения, не умещающиеся в пределах окна, отсекаются, в пронтивном случае границы окна игнорируются.

VI. Процедура setwritemode устанавливает способ взаимондействия вновь выводимых линий для linelinetolinerelrectangledrawpoly с существующим изображением.

Формат обращения: setwritemode (0 или 1); где 0 Ч обозначает лпереслать╗, а 1 Ч лисключающее или╗ (см. putimage). ...setwritemode(l);

x1: = 0; у1: = 200;

for i:=1 to 10 do 

   begin

      rectangle(x1,y1,x1 + 100,y1 + 100);

      delay(I000);

      rectangle(x1,y1,x1 + 100,y1 + 100);

      x1:=x1+50;

end;...{Прямоугольник будет двигаться от левого к правому краю экрана}

 

3.11.6. Информационные процедуры и функции

I. Процедура detectgraph  возвращает тип  драйвера и режим его работы.

Формат обращения: detectgraph (драйвер, режим); где драйвер Ч переменная типа integer, определяющая тип драйвера;  режим Ч переменная типа integer, вознвращающая   максимально  возможный  для  данного адаптера номер графического режима.

II. Функция graphresult возвращает значение типа integer, в котором закодирован результат последнего обращенния к графическим процедурам.

Формат обращения: graphresult.

Если ошибка не обнаружена, значением функции будет нуль, в противном случае Ч отрицательное число, уканзывающее номер ошибки. После обращения к функции graphresult признак ошибки сбрасывается, поэтому понвторное обращение к ней вернет нуль.

III. Функция grapherrormsg возвращает значение типа string, в котором по указанному коду ошибки дается соответствующее текстовое сообщение.

Формат обращения: grapherrormsg (код); где код Ч это значение ошибки, возвращенной функнцией graphresult.

IV. Функции getmaxxgetmaxygetxgety возвращают значенния типа integer, содержащие максимальные или текущие координаты экрана или окна по горизонтали и вертикали. Формат обращения: getmaxxgetmaxy,  getxgety.

V. Процедура getaspectratio возвращает два числа, познволяющие оценить соотношение сторон экрана. Формат обращения: getaspectratio (x,y);

где х,у Ч переменные типа word, позволяющие вычиснлить отношение сторон графического экрана в точках. Этот коэффициент может использоваться при постронении правильных геометрических фигур.

VI. Функции getmaxcolorgetcolorgetbkcolor возвращанют значения типа word, содержащие код максимально допустимого, текущего цвета символа и фона. Формат обращения: getmaxcolorgetcolorgetbkcolor.

VII. Процедура getlinesettings возвращает текущий стиль линий.

Формат обращения: getlinesettings(стиль);

где стиль Ч переменная типа linesettingstype, которая определена в модуле graph как: type linesettingstype = record

                                        linestyle:word;{вид линии}

                                        pattern :word; {образец)

                                    end;

Информация о виде, образце и толщине линии привендена в пункте 3.11.5(11).

VIII. Процедура getfillsettings возвращает текущий стиль заполнения.

Формат обращения: getfillsettings (стиль); где стиль Ч переменная типа fillsettingstype, который определен в модуле graph как: type fillsettingstype = record

pattern:word; {тип заполнения} colonword  {цвет}

end;

Назначение полей тип и цвет приведены в пункте 3.11.5(111).

IX. Процедура getfillpattern возвращает образец заполненния, установленный ранее процедурой setfillpatternФормат обращения: getfillpattern (образец);

где образец Ч переменная типа fillpatterntype, в котонром возвращается образец заполнения. Информация о назначении образца заполнения пользонвателя приведена в пункте 3.11.5(IV). Если пользовантель не установил свой образец, то массив лобразец╗ будет заполнен восемью байтами со значением FF шестнадцатеричное.

X. Процедура getarccoords возвращает координаты трех точек: центра, начала и конца дуги для фигур arcellipse и пр.; она позволяет, например, организовать вращение линий, параллелепипедов и других фигур. Формат обращения: getarccoords (переменная типа запись); где переменная типа запись должна иметь стандартнный тип arccoordstype, поля которого объявлены в мондуле graph как type arccoordstype = record x,y,xstartystart,xend,yendinteger end;