А. А. Медатов, М. З. Носиров, М. К


Download 392.5 Kb.
bet35/39
Sana20.12.2022
Hajmi392.5 Kb.
#1034416
1   ...   31   32   33   34   35   36   37   38   39
Bog'liq
Turbo Pascal услубий кулланма

GRAPH модули
1. Турбо паскалнинг график режими.
Турбо паскалда график ва турли шакллар чизишга имконият яратиш учун Graph модули яратилган. Graph модули типлар, константалар, ўзгарувчилар, процедура ва функцияларни ўз ичига олади ва керакли шаклларни чизишда турли хил адаптерлардан фойдаланади.
График адаптерлар бир-биридан экраннинг максимал ҳолдаги нуқталари сони, яъни горизонтал ва вертикал ҳолда максимал сонда жойлаштирилиши мумкин бўлган нуқталари сони билан ва бир вақтнинг ўзида экранда максимал сонда кўрсатилиши мумкин бўлган ранглар сони билан фарқланади.
Кўп тарқалган график адаптерлар CGA (Color Graphics Adapter), MCGA (Multi-Color Graphics Array), EGA (Enhanced Graphics Adapter), VGA (Video Graphics Array) ва бошқаларни мисол келтириш мумкин. Компьютерда қандай адаптер ўрнатилганлигидан қатъи назар Турбо паскалнинг ихтиёрий процедура ва фукцияларидан фойдаланишимкони мавжуд. Чунки адаптерлар автоматик равишда график драйверлар ёрдамида созланади. Бундай драйверлар файл кўринишида бўлиб, уларнинг кенгайтмаси .bgi (Borland Graphics Interface) кўринишида бўлади. Масалан EGA/VGA адаптерлари билан ишловчи драйверлар EGAVGA.BGI файлида жойлашган бўлади.
Турбо паскал график режимига ўтказилганда
Ундан фойдаланиш учун энг аввал дастур бошида program дан сўнг uses Graph; ёзилади.
Экранни матнли режимдан график режимга ўтказиш учун
InitGraph(D,R,P); процедурасидан фойдаланилади, бу ерда D-драйвер номери, R-режим номери, P-драйвер ёзилган файлга йўл, агар у берилмаса (яъни ‘‘ бўлса), файл жорий каталогдан қидирилади.
D ва R ўзгарувчи параметрлар, агар D=0 деб берилса, у ҳолда керакли драйвер ва оптимал график режим автоматик тарзда танланади.
График режимдан матнли режимга ўтиш closeGraph; процедураси орқали бажарилади.

GRAPH модулининг асосий процедура ва функциялаига қуйидагилар киради:




Arc- маркази X,Y нуқтада, радиуси R бўлган айлананинг А дан В гача бўлган ёйи чизилади.
Бичими: Arc(X,Y:integer; A,B,R:word)


Bar - жорий ранг бўйича ичи бўялган,бурчакларининг координаталари X1,Y1 ва X2,Y2 нуқталарда бўлган тўғри тўртбурчак чизилади.
Бичими: Bar(X1,Y1,X2,Y2:integer)


Bar3 - жорий ранг бўйича ичи бўялган, бурчаклари X1,Y1 ва X2,Y2 координаталарда бўлган, баландлиги D бўлган параллелепипед чизилади. Агар T-рост бўлса , параллелепипеднинг юқориси чизилади, акс ҳолда чизилмайди.
Бичими: Bar3D(X1,Y1,X2,Y2:integer;D:word;T:boolean)


Circle- маркази X, Y , радиуси R га тенг бўлган айлана чизиш.
Бичими: Circle(X,Y:integer;R:word)


Closegrapg- график режимдан чиқиш;
Бичими: CloseGraph;


Drawpoly-томони N та бўлган кўп бурчак чизиш, P массив ўзгарувчи бўлиб, бурчакларнинг координаталарини кўрсатади
Бичими: DrawPoly(N:word;var P);


Ellipse-маркази X;Y, баландлиги RX ва кенглиги RY бўлган эллипснинг бошланғич ва охирги бурчаклари A,B бўлган ёйини чизиш.
Бичими: Ellipse(X;Y:integer,A,B,RX,RY:word)


Fillpoly-ичи бўялган N бурчак чизиш, P-бурчаклар кординаталарини кўрсатувчи массив ўзгарувчи.
Бичими: FillPoly(N:word;var P)


Floodfill- чегараланган сохани жорий рангга бўяйди.
Бичими: FloodFill(X,Y:integer;B:word)


Getcolor-жорий ранг кодини берувчи функция.
Бичими: GetColor:word;


Getimage- кўрсатилган экран сохасининг нусхасини чўнтакка oлади.
Бичими: GetImage(X1,Y1,X2,Y2;integer; var A)


Getpixel-кўрсатилган нуқта рангининг кодини берувчи функция.
Бичими: GetPixel(X,Y:integer):word;


Initgraph- график режимни ўрнатиш
Бичими: InitGraph(D,M:integer;P:string);


Line- тўғри чизиқ чизиш.
Бичими: Line(X1,Y1,X2,Y2:integer);


Linerel-жорий нуқтага нисбатан олинган X,Y кординатали нуқтагача тўғри чизиқ чизади.
Бичими: LineRel(X,Y:integer);


Lineto-жорий нуқтадан кўрсатилган нуқтагача тўғри чизиқ чизади.
Бичими: LineTo(X,Y:integer);


Moveto-жорий кўрсатгични кўрсатилган нуқтага кўчиради
Бичими: MoveTo(X,Y:integer);


Outtext- сатрни экранга чиқариш.
Бичими: OutText(S: string);


Outtextxy- сатрни экраннинг X,Y нуқтасига чиқариш.
Бичими: OutTextXY(X,Y:word;S: string)


Pieslice- маркази X,Y да, радиуси R бўлган доира сектори чизиш.
Бичими: PieSlice(X,Y:integer;S,E,R:word);


Putimage- чўнтакка олинган экран сохасини экраннинг кўрсатилган нуқтасига чиқаради.
Бичими: PutImage(X,Y,var A,B:word);


Putpixel- X,Y координатали нуқта чизади.
Бичими: PutPixel(X,Y:integer;C:word);


Rectangle- тўғри тўртбурчак чизади.
Бичими: Rectangle(X1,Y1,X2,Y2:integer);


Setbkcolor- фон учун ранг бериш.
Бичими: Setbkcolor(r:word);


Setcolor-ёзувга ранг бериш.
Бичими: SetColor(r:word);


Setfillstyle-соханинг ичини тўлатиш турини бериш.
Бичими: SetFillStyle(S,r:word);


Setgraphmode-кўрсатилган график режимга ўтиш ва экранни тозалаш.
Бичими: SetgraphMode(M:integer);


Settextstyle-матн ёзиш учун шрифт, ёзув йўналиши ва ўлчовини аниқлаш.
Бичими: SetTextStyle(F,D,S:word)

Graph модулининг процедура ва функцияларига қуйидаги мисолни келтириш мумкин:


program mmm;
uses graph;
var
gm,gd:integer;
begin
gd:=detect; initgraph(gd,gm,’’);
setcolor(4);
setbkcolor(7);
rectangle(20,17,350,160);
circle(340,150,100);
end.

Бу дастур бажарилиши натижасида экран график режимга ўтказилади, жигар ранг фонда қизил рангли, координаталари (20,17) ва (350,160) бўлган тўғри тўртбурчак, ҳамда маркази (340, 150)да, радиуси 100 га тенг бўлган айлана чизилади.




Мустахкамлаш учун саволлар:
1. GRAPH модулининг асосий вазифаси нима.
2. GRAPH модулининг асосий процедуралари.
3. GRAPH модулига мисол келтиринг.


Таянч тушунчалар: rectangle, line, circle, putpixel, arc, bar, set color, initgraph

Адабиётлар [1],[2]





Download 392.5 Kb.

Do'stlaringiz bilan baham:
1   ...   31   32   33   34   35   36   37   38   39




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling