Mirsaid Aripov, Nurillo Otaxanov


Color hususiyatining qiymatlari 11.2-jadval



Download 9,81 Mb.
bet126/209
Sana16.01.2022
Hajmi9,81 Mb.
#371485
1   ...   122   123   124   125   126   127   128   129   ...   209
Bog'liq
DELPHI dasturlash titli 2018

Color hususiyatining qiymatlari 11.2-jadval

Konstanta

Rang

Konstanta

Rang

clBlack

Qora

clSilver

Kumush rang

clMaroon

Kashtan rang

clRed

Qizil

clGreen

YAshil

clLime

Salat rang

clOlive

Zaytun rang

clBlue

Moviy

clNavy

To`q ko`k

clFuchsia

To`q qizil

clPurple

Qizil

clAqua

Feruza rang

clTeal

Ko`kimtir yashil

clWhite

Oq

clGray

Kul rang







Width hususiyati chiziq qalinligini piksellarda ko`rsatadi. Masalan:

Canvas. Pen. Width :2

buyrug’i qalinligi 2 piksel bo`lgan chiziqni anglatadi.



Style hususiyati chiziq ko`rinishini (stilini) bildiradi. Chiziq uzluksiz yoki uzlukli (uzuq-uzuq) ko`rinishlaridan birida bo`ladi. 11.3-jadvalda stillarni belgilovchi nomlangan konstantalar ro`yxati keltirilgan. Punktir chizig’ining qalinligi 1 pikseldan katta bo`la olmaydi. Agar Pen.width ning qiymati 1 dan katta bo`lsa, u holda punktir chizig’i uzluksiz bo`ladi.

Ren.width hususiyatining qiymatlari 11.3-jadval

Konstanta

Chiziqning ko`rinishi

psSolid

Uzluksiz chiziq

psDash

Uzun shtrixli punktir chiziq

psDot

Kalta shtrixli punktir chiziq

psDashDot

Uzun va kalta shtrixli punktir chiziq

psDashDotDot

Bitta uzun, ikkita kisqa shtrixli punktir chiziq

psClear

Chiziq ko`rinmaydi. (soha chegarasi ko`rinmasligi kerak bo`lgan hollarda qo`llanadi)

Mode hususiyati nuqta rangiga bog’liq ravishda piksellar rangining qanday bo`lishini belgilaydi. Agar ko`rsatilmagan bo`lsa, chiziqlar Pen.Color hususiyatida ko`rsatilgan rang bilan chiziladi. Ammo, dasturchi fon rangiga nisbatan inversion rangni ham belgilashi mumkin. Bunda fon rangiga bog’liq bo`lmagan holda chiziqning to`la ko`rinishi ta`minlanadi.

Pen.Mode hususiyati. 1.4 –jadval

Konstanta

Chiziqning rangi

pmBlack

Qora, Pen.Color hususiyatiga bog’liq emas

pmWhite

Oq, Pen.Color hususiyatiga bog’liq emas

pmCopy

Chiziq rangi Pen.Color hususiyatiga ko`ra tanlanadi.

pmNotCopy

Chiziq rangi Pen.Color hususiyatiga inversion.

pmNot

Chiziq rangi xolst rangiga nisbatan inversion.

Cho`tka. Canvas.Brush metodidan yopiq sohalarga fon berish uchun foydalaniladi. Cho`tkaning ikkita hususiyati mavjud: Color hususiyati fon uchun rang, Style esa sohaga fon berish uchun stil belgilaydi. Stil nomlari va ularni belgilovchi parametrlar 11.5-jadvalda berilgan.

Konturning yopiq ichki sohasi bo`yalgan yoki fon berilgan bo`lishi mumkin. Birinchi holda soha to`laligicha fonni yopadi, ikkinchisida esa esa shtrixlanmagan joylarda fon ko`rinib turadi. Color ning hususiyatlari sifatida 11.2-jadvalda keltirilgan ranglardan foydalanish mumkin.



Brush.style hususiyatining qiymatlari 11.5-jadval

Konstanta

Sohani to`ldirish tipi (foni)

bsSolid

Uzluksiz fon bilan to`ldirish

bsClear

Soha bo`yalmaydi

bsHorizontal

Sohaga gorizontal shtrixli fon berish

bsVertical

Sohaga vertikal shtrixli fon berish

bsFDiagonal

Sohaga old tomonga qiyshaygan shtrixli fon berish

bsBDiagonal

Sohaga orqaga qiyshaygan shtrixli fon berish

bsCross

Kataksimon shtrixovkali fon

bsDiagCross

Qiyshiq chiziqli kataksimon fon

Namuna sifatida 11.1-listingda sohaga fon berish stillari namoyish qilingan bo`lib, ekranga (11.2-rasm) qora rangli va foni turli stillarda bo`lgan sakkizta to`g’ri to`rtburchak chiqariladi.



11.2-rasm. Sohaga fon berish stillari dasturining oynasi

11.1-listing. Fon berish stillari.

procedure TForm1.Image1Click(Sender: TObject);

const

bsName: array[1..8] of string  ('bsSolid','bsClear','bsHorizontal',

'bsVertical','bsFDiagonal','bsBDiagonal', 'bsCross','bsDiagCross');

var

x,y: integer;  To`rtburchak chap yuqori burchagi koordinatalari

w,h: integer;  to`rtburchakning kengligi va balandligi

bs: TBrushStyle;  fon berish stili

k: integer;  fon berish stili rangi

i, j: integer;

begin

w : 40; h : 40;  soha (to`rtburchak) o`lchamlari

y : 20;

for i : 1 to 2 do

begin

x : 10;

for j : 1 to 4 do

begin

k : j  (i-1)*4;

case k of

1: bs : bsSolid;

2: bs : bsClear;

3: bs : bsHorizontal;

4: bs :­ bsVertical;

5: bs : bsFDiagonal;

6: bs : bsBDiagonal;

7: bs : bsCross;

8: bs : bsDiagCross;

end;

 to`rtburchak yasash



Canvas.Brush.Color : clGreen;  bo`yash uchun rang

Canvas.Brush.Style : bs;  fon uchun stil

Canvas . Rectangle (x, y, xw, yh) ;  stil nomini chiqarish

Canvas.Brush.Style : bsClear;

Canvas.TextOut(x, y-15, bsName[k]);

x : x  w  30;

end;

y : y  h  30;

end;

end;

end.

11.1-listingda matnni Canvas ga chiqarish uchun TextOut metodi qollangan. Bu metodni umumiy ko`rinishda qo`yidagicha yozish mumkin:



Ob’yekt.Canvas.TextOut(x, y, Matn);

Bu yerda ob’yekt - sirtiga matn chiqariladigan ob’yekt nomi; x, y –nuqta koordinatalari; Matn - belgili o`zgaruvchi yoki matn bo`lib, qiymati sirtning (x, y) koordinatali nuqtasidan boshlab ekranga chiqariladi. Matnni ekranga chiqarishda shrift Canvas ob’yektining Font hususiyati yordamida ko`rsatiladi. Font tipidagi ob’yektlar Size, Style va Color kabi hususiyat-larga ega bo`lib, ulardan TextOut va TextRect metodlarida foydalaniladi.



Diqqat!: Matn chiqariladigan soha cho`tkaning joriy rangi bilan bo`yalgan bo`ladi. SHuning uchun matnni ekranga chiqarishdan avval Brush.Color hususiyatiga bsClear qiymatini berish yoki cho`tkaga sirt rangi bilan bir hil qiymatni o`zlashtirish lozim.

Quyidagi dastur parchasi forma sirtiga matnlarni chiqarish uchun Textout funksiyasidan foydalanishga namuna bo`la oladi.



with Form1.Canvas do begin

 shrift xarakteristikalarini belgilash



Font.Name : 'Time New Roman';

Font.Size : 14;

Font.Style : [fsltalic, fsBold] ;

Brush.Style : bsClear;  matnni chiqarish sohasi bo`yalmaydi

TextOut(0, 10, 'Borland Delphi 7');

end;

Matn Textout metodi bilan sirtga chiqarilganidan so`ng, chiqarish ko`rsatkichi (qalam) sohaning o`ng yuqori burchagiga joylashadi.

Ayrim hollarda, uzunligi noma`lum bo`lgan axborotdan keyin qandaydir matnni chiqarishga to`g’ri keladi. Masalan, biror sonni xarflar bilan yozgandan keyin “so`m” so`zini chiqarish kerak bo`lisin. Bu holda chiqarilgan matnning o`ng tomon koordinatasini aniqlash lozim. TextOut metodi bilan chiqarilgan matnning o`ng tomondagi koordinatasini PenPos metodi bilan aniqlash mumkin. Quyidagi dastur parchasi matn satrlarini ikkita TextOut yordamida chiqarishni namoyish qiladi.

with Form1.Canvas do begin

TextOut(0, 10, 'Borland ') ;

TextOut(PenPos.X, PenPos.Y, 'Delphi 7');

end;

12.3. Sodda grafik elementlarni chizish uchun metodlar

Ixtiyoriy tasvirni sodda grafik elementlar (nuqta, chiziq, aylana, yoy va x.k.) to`plami deb qarash mumkin. Shuning uchun, biror tasvirni hosil qilish uchun dastur bu tasvirni tashkil qiluvchi sodda grafik elementlarni chizishni ta`minlashi lozim.



Chiziqlar. To`g’ri chiziqlarni chizish uchun LineTo metodidan foydalaniladi. Bu metodni umumiy ko`rinishda quyidagicha yoziladi:

Komponent.Canvas.LineTo(x,u)

LineTo metodi qalamning joriy pozitsiyasi va ko`rsatilgan koordinatali nuqtalarni birlashtiruvchi kesma yasaydi.

Boshlang’ich nuqtani (qalamni) xolstning kerakli pozitsiyasiga o`rnatish uchun MoveTo metodidan foydalaniladi. CHiziqning ko`rinishi Pen komponentasi hususiyatlari bilan aniqlanadi.

Koordinatalar o`qi va raqamli to`r tasvirini (11.4-rasm) hosil qilish dasturi 11.2-listingda keltirilgan.

11.2-listing. Koordinata o`qlari va raqamlangan to`r

procedure TForm1.FormPaint(Sender: TObject);

var

x0,y0:integer;  koordinata o`qlarining boshlang’ich nuqtasi

dx,dy: integer;  to`ning qadami (piksellarda)

h,w: integer;  to`r sohasininrg balandligi va kengligi



11.4-rasm. Koordinata to`ri dasturining oynasi

x, y: integer;

lx, ly: real;  to`r chiziqlarini raqamlash (X va Y bo`yicha)

dlx, dly: real;  chiziqlarini belgilash qadami (X va Y bo`yicha)

cross: integer;  raqamlanmagan to`r chiziqlarining hisoblagich

dcross: integer;  raqamlanmagan chiziqlar miqdori

begin

x0 : 30; y0 : 220;  o`qlar (40,250) nuqtadan boshlanadi.

dx : 40; dy : 40;  koordinata to`rining qadami 40 piksel

dcross : 1;

dlx : 0.5;  X o`qini belgilash qadami

dly : 1.0;  U o`qini belgilash qadami: 1, 2, 3 va x.k.

h : 200;

w : 300;

with form1.Canvas do

begin

cross : dcross;

MoveTo(x0,y0); LineTo(x0 , y0-h);  X o`qi

MoveTo(x0, y0); LineTo(x0  w, y0);  Y o`qi

 X o`qi bo`yicha bo`laklash, to`r va raqamlash



x : x0  dx;

lx : dlx;

repeat

MoveTo(x,y0-3); LineTo(x,y0  3);  bo`laklash

cross : cross-1;

if cross  0 then  raqamlash

begin

TextOut(x-8, y0  5, FloatToStr(lx));

cross : dcross;

end;

Pen.Style : psDot;

MoveTo(x, y0-3); LineTo(x, y0-h);  to`r chiziqlari

Pen.Style : psSolid;

lx : lx  dlx;

x : x  dx;

until (x>x0  w);

 Y o`qi bo`yicha bo`laklash, to`r va raqamlash



y : y0-dy;

ly : dly;

repeat

MoveTo(x0-3, y); LineTo(x0  3,y);  bo`laklash

TextOut(x0-20, y, FloatToStr(ly));  raqamlash

Pen.Style : psDot;

MoveTo(x0  3, y); LineTo(x0  w, y);  to`rning chiziqlari

Pen.Style : psSolid;

y : y-dy;

ly : ly  dly;

until (y

end;

end;

end.

Ushbu dasturning o`ziga hos tomoni shundaki, u to`r qadamlari va raqamlash usulini belgilashga imkon beradi. Bundan tashqari, dastur X o`qi to`rining har bir chizig’ini emas, balki oralatib ham raqamlay oladi.



Siniq chiziq. Polyline metodi kanvada siniq chiziq yasash uchun xizmat qiladi. Uning parametri har bir elementi sinish nuqtalari koordinatalarini anglatuvchi Tpoint tipidagi massivdan iborat bo`lib, sinish nuqtalarini ketma-ket kesmalar bilan birlashtiradi.

Polyline metodidan yopiq konturlarni chizish uchun ham foydalanish mumkin. Buning uchun metodning parametri bo’lgan massivning birinchi va oxirgi elementlari bir hil bo`lishi lozim. Namuna uchun 11.3-listingdagi dasturni ko`raylik. Bu dastur ilova oynasi sirtida sichqoncha tugmasi chertilgan joyda besh yulduz tasvirini (11.5-rasm) yasaydi. Yulduz chizilgan rang sichqonchaning qaysi tugmasi chertilishiga bog’liq. Sichqoncha tugmasini chertish (MouseDown xodisasi) yulduz chizish protsedurasi StarLine ni chaqiradi va unga parametr sifatida sichqoncha chertilgan nuqta koordinalarini uzatadi. StarLine protsedurasi parametr sifatida yulduz markazi koordinatalari hamda xolstni oladi. Dastlab, yulduzning uchlari va chuqurligi koordinatalari hisoblanadi va p massivga yoziladi va PolyLine metodiga parametr qilib uzatiladi. P massiv elementlarini hisoblashda qutb koordinatalaridan foydalananiladi.

11.3-listing. Yopiq kontur (yulduz) chizish

procedure StarLine(x0, y0, r: integer; Canvas: TCanvas);

 x0, y0 – Yulduz markazi koordinatasi

 r – yulduz radiusi

var

p : array[1..17] of TPoint;  uch chuqurliklari massivi

a: real;  Uchlar uchun burchak

i: integer;

begin

a : 0;  o`ng uchdan yasashni boshlash uchun

for i : 1 to 16 do

begin

if (i mod 2  0) then

begin  chuqurlik koordinatalari

p[i].x : x0  Round(r  2*cos(a*2*pi  360));

p[i].y : y0-Round(r  2*sin(a*2*pi  360));

end

else

begin  uchning koordinatalari

p[i].x : x0  Round(r*cos(a*2*pi  360));

p[i].y : y0 - Round(r*sin(a*2*pi  360));

end;

a : a  22.5;

end;

p[17].X : p[1].X;  Yulduz konturini yopish uchun

p[17].Y : p[1].Y;

Canvas.Polyline(p);  yulduzni chizish

end;

 sichqoncha tugmalarini chertilishi



procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

begin

if Button  mbLeft  chap tugma chertilganmi ?

then Form1.Canvas.Pen.Color : clBlack

else Form1.Canvas.Pen.Color : clRed;

StarLine(x, y, 30,Form1.Canvas);

end;

end.

Eslatma: P massivning o`lchami uchlar va chuqurliklar sonidan bittaga ko`p hamda birinchi va oxirgi elementlari ustma-ust tushadi.

Aylana va ellips. Ellips yoki aylana tasvirini chizish uchun Ellipse metodidan foydalaniladi. Metodni quyidagicha yozish mumkin:

Ob’yekt.Canvas.Ellipse(x1, y1, x2, y2]

Bu yerda ob’yekt - sirtida tasvir yasaladigan ob’yekt nomi; x1, y1, x2, y2 — aylana yoki ellipsga tashqi chizilgan to`g’ri to`rtburchak koordinatalari.



11.5-rasm. Yulduz

koordinatalari. Agar to`g’ri to`rtburchak kvadratdan iborat bo`lsa aylana, aks holda ellips chiziladi. (11.6-rasm).

Chiziq rangi, qalinligi va stili Pen hususiyati bilan aniqlanadi. Shaklning ichki rangi va fon stili Brush hususiyati bilan belgilanadi.



11.6-rasm. Chiziladigan figura Ellipse metodi parametrlariga bog’liq



Yoy. Yoylarni Arc metodi bilan yasash mumkin. Bu metodni umumiy ko`rinishda quyidagicha yozish mumkin:

Ob’yekt.Canvas.Arc(x1, y1, x2, y2, x3, y3, x4, y4)

Bu yerda x1, y1, x2, y2 - chizilayotgan yoyning asosi bo`lgan ellips (aylana) parametrlari; x3, y3 - yoyning boshlanish nuqtasini, x4, y4 - lar esa tugash nuqtasini belgilaydigan parametrlar. Yoy rangi, qalinligi va stili Canvas ning Pen hususiyatlari bilan ko`rsatiladi.



To`g’ri to`rtburchak. To`g’ri to`rtburchaklar Rectangle metodi bilan chiziladi. Bu metodning umumiy ko`rinishi quyidagicha:

11.7-rasm. Yoy ellips (aylana) ning ma`lum bir qismidan iborat.



Ob’yekt.Canvas.Rectangle(x1, y1,x2, y2)

Bu yerda Ob’yekt - sirtida rasm chiziladigan ob’yekt nomi; x1, y1 va x2, y2 - to`g’ri to`rtburchakning chap yuqori va o`ng quyi burchak koordinatalari.



RoundRec metodi uchlari yoysimon bo`lgan to`g’ri to`rtburchak yasash uchun foydalaniladi. Bu metod umumiy ko`rinishda

Ob’yekt.Canvas.RoundRec(x1, y1, x2, y2, x3, y3)

tarzida ishga tushiriladi. 11.8-rasm).



11.8-rasm. RoundRec metodi uchlari yoysimon to`g’ri to`rtburchak chizadi

To`g’ri to`rtburchak chiziqlarining rangi, qalinligi va stili Pen hususiyatining qiymatlari bilan aniqlanadi. Ichki rangi va fon stili esa Canvas ning Brush hususiyatlari bilan belgilanadi.

To`g’ri to`rtburchak yasash uchun yana ikkita metod mavjud bo`lib, ular qalam o`rniga mo`yqalamdan foydalanadi. FillRect metodi bo`yalgan to`g’ri to`rtburchak, FrameRect metodi esa faqat to`rtburchak konturini yasaydi. Metodlarning har ikkisida faqat bitta parametr - TRect tipidagi struktura qatnashadi. Bu struktura maydonlari to`rtburchakli soha koordi-natalarini saqlaydi. Ularni Rect funksiyasi yordamida aniqlash mumkin.



Ko`pburchak. Polygon metodi ko`pburchak chizish uchun xizmat qiladi. Metodning parametri Tpoint tipdagi massivdan iborat. Bu massiv-ning har bir elementi burchak uchlarini ko’rsatuvchi x va y maydonlaridan iborat yozuvdan iborat. Polygon metodi koordinatalari massivda ko`rsatil-gan nuqtalarni kesmalar bilan birlashtiradi. Chiziqlarining rangi, qalinligi va stili Pen hususiyati bilan, ichki rangi va fon stili esa Brush hususiyati bilan belgilanadi. Yopiq soha mo`yqalamning joriy rangi va stilida bo`yaladi. Quyidagi protsedura Polygon metodi bilan uchburchak yasaydi.

procedure TForm1.Button2Click(Sender: TObject);

var

pol: array[1..3] of TPoint; burchak uchlarining koordinatalari

begin

pol[1].x : 10; pol[1].y : 50;

pol[2].x : 40; pol[2].y : 10;

pol[3].x : 70; pol[3].u : 50;

Form1.Canvas.Polygon(pol);

end;

Sektor. Sektorlar yasashda Pie metodidan foydalaniladi. Uning umumiy ko`rinishi quyidagicha

Ob’yekt. Canvas.Pie(x1, y1, x2, y2, x3, u3, x4, y4)

Bu yerda x1, y1, x2, y2 - sektorning asosi bo`lgan ellipsni (aylanani) aniqlaydigan parametrlar; x3, y3, x4, y4 - sektor chegarasi bo`lgan to`g’ri chiziqlarning oxirgi nuqtalari koordinatalari.

To`g’ri chiziqning boshlang’ich nuqtalari ellips (aylana) markazi bilan ustma-ust tushadi. Sektor soat millariga teskari yo`nalishda kesib olinadi. U koordinatalari (x3,y3) bo`lgan nuqtadan boshlanib, (x4, y4) koordinatali nuqtada tugaydi. (11.9-rasm).

Nuqta. Pixels hususiyati yordamida sirtning ixtiyoriy nuqtasiga rang berish mumkin. Bu buyruq umumiy ko`rinishda quyidagicha yoziladi:

Ob’yekt.Canvas.Pixels[x, y] : rang;

Bu yerda [x, y]-rang beriladigan nuqta koordinatasi, rang- 11.2-jadvaldagi ranglardan biri. Masalan,




11.9-rasm. Pie metodi parametrlariga sektorning bog’liqligi

Form1.Canvas.Pixels[10,10] : clRed;

buyrug’i forma sirtidagi (10, 10) koordinatali nuqtaga qizil rang beradi.



Pixels ning parametrlari grafik sirt o`lchamlari (Clientwidth va ClientHeight hususiyatlari) bilan aniqlanadi, Image komponentasi o`lchamlari esa Width va Height hususiyatlari orqali belgilanadi.

Pixels hususiyatidan funksiya grafiklarini yasashda foydalanish mumkin. Odatda grafiklar biror formula bo`yicha hisoblashlar asosida quriladi. Funksiya argumentining o`zgarish diapazoni boshlang’ich ma`lumot deb qabul qilinadi. Funksiya qiymatlarining o`zgarish diapazoni oddiy hisob yordamida topiladi. Grafik forma yoki sirtni to`la egallash uchun masshtab kiritish mumkin.

Quyidagi dastur (11.5-listing) pixels hususiyati yordamida funksiyasi grafigini chizadi. Grafik chizish uchun sohaning mumkin bo`lgan barcha qismi band qilinadi. Agar foydalanuvchi dasturning ishi davomida oyna o`lchamlarini o`zgartirsa, grafik yangi masshtab bo`yicha yangidan chiziladi.



11.5-listing. Funksiyaning grafigi

 grafigini chizish talab qilingan funksiya



Function f(x:real):real;

begin

f : 2*Sin(x)*exp(x  5);

end;

 funksiya grafigini chizish



procedure GrOfFunc;

var

x1, x2:real;  funksiya argumentining o`zgarish chegarasi

y1,y2:real;  funksiya qiymatining o`zgarish chegarasi

x: real;  funksiya argumenti

y: real;  funksiyaning x nuqtadagi qiymati

dx:real;  argument orttirmasi

l, b: integer;  grafik sohaning chap quyi burchagi

w, h: integer;  grafik sohaning kengligi va balandligi

mx, my: real;  X va Y o`qlari bo`yicha masshtab

x0, y0: integer;  koordinatalar boshi

begin

 grafik soha



l : 10;  X - chap yuqori burchakning koordinatasi

b : Form1.ClientHeight-20; Y-chap yuqori burchak koordinatasi

h : Form1.ClientHeight-40;  balandligi

w : Form1.Width-40;  kengligi

x1 : 0;  argument diapazonining quyi chegarasi

x2 : 25;  argument diapazonining yuqori chegarasi

dx : 0.01;  argument qadami

 funksiyaning [x1, x2] dagi eng katta va eng kichik qiymatlari



y1 : f(x1);  minimum

y2 : f(x1);  maksimum

x : x1;

repeat

y : f(x);

if y < y1 then y1 : y;

if y > y2 then y2 : y;

x : xdx;

until (x>x2);

 masshtab aniqlanmoqda



my : h  abs(y2-y1);  Y o`qi bo`yicha masshtab

mx : w  abs(x2-x1);  X o`qi bo`yicha masshtab

 o`qlar



x0 : l;

y0 : b-Abs(Round(y1*my));

with form1.Canvas do

begin

 o`qlar



MoveTo(l,b); LineTo(l,b-h);

MoveTo(x0,y0); LineTo(x0w, y0);

TextOut(l5, b-h, FloatToStrF(y2, ffGeneral, 6, 3));

TextOut(l5, b, FloatToStrF(y1, ffGeneral, 6, 3));

 grafik yasash



x : x1;

repeat

y : f(x);

Pixels[x0Round(x*mx),y0-Round(y*my)] : clRed;

X : x  dx;

until (x>x2);

end;

end;

procedure TForm1.FormPaint(Sender: TObject);

begin

GrOfFunc;

end;

 dastur oynasi o`lchamlari o`zgardi



procedure TForm1.FormResize(Sender: TObject);

begin

 formani tozalash



form1.Canvas.FillRect(Rect(0,0,ClientWidth,ClientHeight));

 grafikni yasash



GrOfFunc;

end;

end.

Ushbu dasturda asosiy ishni GrOfFunc protsedurasi bajaradi. U dastlab funksiyaning [x1, x2] kesmadagi maksimal (y2) va minimal (yl) qiymatlarini hisoblaydi. So`ngra forma kengligi (Forml.Clientwidth-40) va balandligi (Form1.ClientHeight-40) kabi ma`lumotlardan foydalanib, X va Y o`qlari bo`yicha (mx) va (my) masshtablarni topadi (11.10-rasm).



GrOfFunc protsedurasiga murojaat qilish onPaint va onFormResize protseduralari yordamida bajariladi. TForm1.FormPaint protsedurasi forma ochilgan zahoti grafik chizilishini ta`minlaydi. TForm1.FormResize protsedurasi forma o`lchamlari o`zgarganidan keyin grafik yasashni o`z zimmasiga oladi.

Keltirilgan dastur universal bo`lib, undagi f(x) funksiyani boshqasi bilan almashtirib, uning ham grafigini yasash mumkin.



Eslatma: Ushbu dastur funksiya manfiy va musbat qiymatlarni qabul qilganda ham to`g’ri ishlaydi. Agar funksiya faqat musbat (manfiy) qiymatlarni qabul qilsa, dasturga kichik o`zgartirish kiritish lozim.

11.10-rasm. GrOfFunc protsedurasi bilan chizilgan grafik



Download 9,81 Mb.

Do'stlaringiz bilan baham:
1   ...   122   123   124   125   126   127   128   129   ...   209




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish