Mövzu 1: İnformatika fənni, predmeti və onun tərkib hissəLƏRI



Yüklə 2,08 Mb.
Pdf görüntüsü
səhifə31/46
tarix14.07.2018
ölçüsü2,08 Mb.
#55577
növüMühazirə
1   ...   27   28   29   30   31   32   33   34   ...   46

  61 

İNTERRUPT – icra zamanı əmələ gələn kəsilmələri emal edir. 



Qrafik operatorlar və sadə həndəsi fiqurların qurulması. 

Bütün alqoritmik dillərdə olduğu kimi Turbo Paskal dilinin də proqram, mətn və qrafik iş rejimləri 

mövcuddur.  Qeyd  edək  ki,  qrafik  rejimin  operator  və  əmrləri  ilə  işləməzdən  əvvəl  həmin  rejimə  keçidi 

təmin etmək lazımdır. Bu məqsədlə hər şeydən əvvəl standart modulların elanı hissəsində  yeni GRAPH 

modulunu  elan  etmək  tələb  olunur.  Proqram  daxilində  qrafik  rejimə  keçidi  təmin  edəcək  aşağıdakı 

prosedur və funksiyalardan istifadə edilir: 

Qrafik  rejimə  keçid  aşağıdakı  kimi  yerinə  yetirilir.  Əvvəlcə  adapterin  qrafik  rejimdə  işləməsini 

təmi edən prosedur verilir. Bu prosedurun ümumi şəkli aşağıdakı kimidir: 

         İNİTGRAPH (, ,

Burada, drayver- qrafik rejimin drayverinin tipini müəyyənləşdirən İNTEGER tipli dəyişəndir



              rejim- qrafik adapterin iş rejimini müəyyən edən İNTEGER tipli dəyişəndir; 

              yol- drayver faylının yerləşdiyi yaddaş qurğusu və qovluğu göstərən sətir tipli, yəni  

                      STRİNG tipli dəyişəndir. 

Drayveri müəyyənləşdirən sabitlər aşağıdakılardan biri ola bilər: 

        CONST 

Detect=0; - tipin avtomatik müəyyən olunması; 

CGA=1; 

MCGA=2; 


EGA=3; 

EGA64=4; 

EGAMono=5; 

İBM8514=6; 

HercMono=7; 

ATT400=8; 

VGA=9; 

PC3270=10; 



İstifadəçi  göstərilən  sabitlərdən  istifadə  etdiyi  monitora  uyğun  olanı  seçir  və  yuxarıdakı 

prosedurda  <  drayver  >  əvəzinə  yazır.  İstifadəçi  işinin  asanlaşdırmaq  məqsədilə  qrafik  rejimin 

adapterinin  tipini  Detect=0    qəbul  etmək  məsləhət  görülür.  Çünki  bu  halda  drayverin  tipi  kompüter 

tərəfindən avtomatik olaraq müəyyən olunur. 

Qeyd  etmək  lazımdır  ki,  hər  bir  qrafik  adapter  müxtəli  rejimlərdə  işləyə  bilər.  Hər  bir  monitora 

uyğun olan rejimlər xüsusi sorğuda verilmişdir. Lakin istifadəçi əgər qrafik adapterin müəyyən edilməsi 

üçün  Detect=o  qəbul  edibsə  sadəcə  olaraq  rejimin  tam  tipli,  yəni  İNTEGER  tipli  dəyişən  olmasını 

verməsi kifayət edər. Həmin dəyişən də yuxarıdakı prosedurdakı ,  əvəzinə yazılır. 

Drayverin yerləşdiyi qurğu və qovluq istifadəçi tərəfindən tapılmalıdır. Adətən istifadə etdiyimiz 

kompüterlərdə bu drayver, yəni EGAVGA.BGİ faylı C: qurğusunun BP qovluğunun BGİ altqovluğunda 

yerləşir. Yəni yuxarıdakı prosedurda < yol > əvəzinə ‘C:\BP\BGI’ yazmaq lazımdır. 

Bütün  qeyd  olunanlardan  sonra  qrafik  rejimə  keçid  yerinə  yetirilməlidir.  Keçidin  düzfün  olub 

olmamasını yoxlamaq üşçün  GRAPHRESULT standart funksiyasının qaytardığı qiymət yoxlanılmalıdır. 

Əgər onun qaytardığı qiymət  grOK və ya “0” olarsa, deməli, qrafik rejimə keçilib, əks halda,yəni başqa 

qiymət alınarsa onda keçiddə baş verən səhv  GraphErrorMsg (dəyişən) standart funksiyası ilə müəyyən 

edilərək  lazımi  tədbir  görülür.  Burad,  dəyişən-  GRAPHRESULT  funksiyasının  nəticəsinin  mənimsədil-

diyi dəyişəndir. 

Qrafik rejimdə iş qurtardıqdan sonra CLOSEGRAPH proseduru ilə rejim bağlanaraq ondan çıxılır. 

Əgər  istifadəçi  müvəqqəti  olaraq,  qrafik  rejimdən  çıxıb  mətn  rejiminə  keçmək  istəyirsə  onda    sadəcə 

olaraq RESTORECRTMODE standart prosedurunu verməlidir. İstifadəçi qrafik adapterin yeni iş rejimini 

vermək  istəyirsə  onda  SETGRAPHMODE  ()  prosedurundan  istifadə  edilir.  Burada,  rejim  yeni 

təyin olunan rejimin göstəricisidir. 

İstifadəçi  istifadə  etdiyi  monitorun  qrafik  rejimdə  ekranının  həm  üfiqi,  həm  də  şaquli 

koordinatlarının  maksimum  sayını  bilmək  istəyirsə  onda  uyğun  olaraq  GETMAXX  və  GETMAXY 

standart funksiyalarından istifadə edir. Belə ki, bu funksiyalar uyğun şəkildə üfiqi və şaquli koordinatların 

maksimum sayını qaytarır. 



Qeyd: Ekranda koordinat başlanğıcı yuxarı sol künc hesab edilir. 


  62 

Qrafik rejimdə işləyərkən istifadəçiyə tez-tez lazım olan aşağıdakı standart prosedurları verək: 

1.

 

Kursorun nyeni mövqeyinin təyin edilməsi: 



         MOVETO (X, Y) 

Burada, X və Y- İNTEGER tipli ifadələr olub uyğun olaraq üfiqi və şaquli koordinatları gğstərir. 

2.

 

Qrafik ekranın təmizlənməsi: 



CLEARDEVİCE 

3.

 



Ekranın  tərəfləri  nisbətini  müəyyənləşdirməyə  imkan  verən  X  və  Y  oxlarına  uyğun  iki 

WORD tipli ədəd qaytarır: 

GETASPECTRATİO (X, Y) 

Sadə həndəsi fiqurların qurulması:a) Nöqtə və xəttin çəkilməsi: 

         1.PUTPİXEL (X,Y, rəng) 

Ekranın (X,Y) koordinatlarında , rəng ifadəsi ilə verilmiş rəngdə nöqtəni (pikseli) çəkir.  Burada, 

X və Y- İNTEGER tipli, rəng- WORD tirli ifadə olmalıdır. Pixel- ekranda işıqlana nöqtədir. 

2.

 

GETPİXEL (X, Y) 



(X, Y) koordinatında yerləşən nöqtənin (pikselin) rənginə uyğun WORD tipli qiyməti verir. 

3. LİNE (X1, Y1, X2, Y2) 

Başlanğıcı  (X1,  Y1),  sonu  (X2,  Y2)  nöqtəsində  olan  düz  xətti  çəkir.  Burada  X1,  Y1,  X2,  Y2- 

İNTEGER tipli ifadələdir. 

4.

 

LİNETO (X, Y) 



Kursorun əvvəlcədən durduğu mövqenin koordinatları ilə (X, Y) koordinatını birləşdirən düz  

xətti çəkir. X, Y- İNTEGER tipli ifadələrdir. 

5.

 

SETLİNESTYLE (görünüş, nümunə, qalınlıq) 



Çəkiləcək  xəttin  çəkilmə  üslubunu  müəyyənləşdiri.  Burada,  görünüş-  WORD  tipli  ifadə  olub 

xəttin  görünüşünü  verir;    nümunə-  WORD tipli ifadə  olub,  xəttin  nümunəsini göstərir;  qalınlıq-  WORD 

tipli ifadə olub xəttin qalınlığını göstərir. 

Xəttin görünüşü aşağıdakılardan biri ola bilər: 

 SolidLn=0- bütöv xətt; 

 DotteLn=1- nöqtəvari xətt; 

 CenterLn=2- qırıq ştrix xətt; 

DashedLn=3- qırıq-qırıq xətt; 

UserLn=4-  istifadəçi tərəfindən müəyyən edilmiş xətt. 

Nümunə-  yalnız  sonuncu  görünüş  verildikdə  istifadə  edilir.  Qalan  görünüşlər  üçün  o  “0”  qəbul 

edilir.  



Qalınlıq- aşağıdakı iki haldan biri ola bilər: 

Norm Width=1- qalınlıq 1 pikseldir; 

Thisk Width=3 – qalınlıq 3 pikseldir. 

b)Çoxbucaqlıların çəkilməsi: 

1.

 



RECTANGLE (X1, Y1, X2, Y2) 

Yuxarı  sol  küncü  (X1,  Y1)  koordinatlı  nöqtədə,  aşağı  sağ  küncü  isə  (X2,  Y2)  nöqtədə  yerləşən 

düzbucaqlını çəkir. Burada X1. X2, Y1, Y2-İNTEGER tipli ifadələrdir. 

2.

 



BARD3D (X1, Y1, X2, Y2, dərinlik, yuxarı til) 

 Qarşı üzün sol yuxarı küncü (X1, Y1) koordinatlı nöqtədə, qarşı üzün aşağı sağ küncü (X2, Y2) 

nöqtəsində olan üçüncü dərinlik ölçüsü dərinlik (piksellərlə) qədər olan paralelepipedi çəkir. Burada, til- 

TopOn  (çəkiləcək)  və  ya  TopOff  (çəkilməyəcək)  qiymətlərindən  birini  alaraq  yuxarı  tilin  çəkilmib, 

çəkilməməsini göstərir. X1, X2, Y1, Y2, dərinlik- İNTEGER tipli ifadələrdir, yuxarı til-BOOLEAN tipli 

məntiqi ifadəolub yuxarıda göstərilən qiymət-lərdən birini ala bilər. 

3.

 

DRAWPOLY (N, koordinatlar) 



 N sayda sınma nöqtəsi və sınma nöqtələrinin koordinatları koordinatlarla verilən sınıq xətt çəkir. 

Burada  N-  WORD  topli,  koordinatlar-isə  xüsusi  PointType  tipli  ifadələrdir.  PointType  aşağıdakı  kimi 

verilir: 

Type  

    PointType=record 

                          x, y: WORD 

                        end



Yüklə 2,08 Mb.

Dostları ilə paylaş:
1   ...   27   28   29   30   31   32   33   34   ...   46




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə