Kasb ta’limi fakultеti


-rasm. 9.1-listing unit polimor_; interface uses



Download 1,8 Mb.
bet49/92
Sana03.01.2020
Hajmi1,8 Mb.
#31888
1   ...   45   46   47   48   49   50   51   52   ...   92
Bog'liq
obektga yonaltirilgan dasturlash tillari -разблокирован-конвертирован

9.1-rasm.



9.1-listing
unit polimor_;

interface uses


Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;

type


TForm1 = class(TForm) Edit1: TEdit;

Edit2: TEdit; GroupBox1: TGroupBox;

RadioButton1: TRadioButton; RadioButton2: TRadioButton; Label1: TLabel;

Label2: TLabel;

Button1: TButton;

Button2: TButton;



procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private

{ Private declarations }


public


{ Public declarations }

end;

type


// Manbaa sinf

TPerson = class

fName: string; // Ism

constructor Create(name:string);

function info:string; virtual;

end;
// Talaba sinfi1

TStud = class(TPerson) fGr:integer; // guruh raqami



constructor Create(name:string;gr:integer);

function info:string; override;

end;
// O'qituvchi sinfi TProf = class(TPerson)

fdep:string; // kafedra nomi



constructor Create(name:string;dep:string);

function info:string; override;

end;

const


SZL = 10; // ro'yhat o'lchami

var


Form1: TForm1;

List: array[1..SZL] of TPerson; // ro'yhat n:integer = 0; // ro'yhatdagi odamlar soni



implementation

{$R *.DFM}



constructor TPerson.Create(name:string);

begin


fName := name;

end;
constructor TStud.Create(name:string;gr:integer);

begin


inherited create(name); // manbaa sinf konstruktorini chaqirish fGr := gr;

end;
constructor TProf.create(name:string; dep:string);

begin


inherited create(name); // manbaa sinf konstruktorini

// chaqirish

fDep := dep;

end;



function TPerson.Info:string;

begin


result := fname;

end;



function TStud.Info:string;

begin


result := fname + ' ' + IntToStr(fGr)+' gr.';

end;



function TProf.Info:string;

begin


result := fname + ' ' + fDep+' kaf.';

end;

// Qo'shish tugmasini bosilishi



procedure TForm1.Button1Click(Sender: TObject);

begin


if n < SZL then begin

// ob'yektni ro'yhatga qo'shish n:=n+1;



if Radiobutton1.Checked

then // TStud ob'yektini yaratamiz List[n]:=TStud.Create(Edit1.Text,StrToInt(Edit2.Text))

else // TProf ob'yektini yaratamiz List[n]:=TProf.Create(Edit1.Text,Edit2.Text);
// kiritish maydonlarini bo'shatish Edit1.Text := '';

Edit2.Text := '';

Edit1.SetFocus; // Familiya maydoniga kursorni o'tkazish

end


else ShowMessage('Ro`yhat to`lgan!');

end;



procedure TForm1.Button2Click(Sender: TObject);

var


i:integer; // indeks st:string; // ro'yhat begin

for i:=1 to SZL do

if list[i] <> NIL then st:=st + list[i].info + #13; ShowMessage('Ro`yhat'+#13+st);

end; end.



Qo’shish (Button1) tugmasi bosilishi bilan ishga tushuvchi TForm1.Button1Click protsedurasi TStud yoki TProf sinfiga tegishli bo’lgan List[n] ob’yektini yaratadi. Yaratilayotgan ob’yekt sinfi RadioButton tanlash maydonchasining holati bilan aniqlanadi. Tanlash maydonchasini Talaba holatiga o’rnatilsa TStud sinfi, O’qituvchi holatiga o’rnatilsa TProf sinfi aniqlanadi.

Ro’yhat (Button1) tugmasi bosilishi bilan ishga tushuvchi TForm1.Button2Click protsedurasi ro’yhatning har bir obyektiga info uslubini qo’llab, o’zida to’liq ro’yhatni mujassamlashtirgan satrni tashkil qiladi.

Delphining sinflari va ob’yektlari

Delphi o’z ishchi muhitini yaratish uchun sinflar kutubxonasidan foyadlanadi. Bu kutubxona forma va formaning turli komponentlarini (buyruq tugmalari, taxrirlash maydonlari va boshqalar) qo’llab-quvvatlovchi katta miqdordagi turli- tuman sinflardan tashkil topgan.

Ilova formasini loyihalash vaqtida Delphi dastur matniga zaruriy ob’yektlarni avtomatik tarzda qo’shadi. Delphida yangi forma ochilgan vaqtda dastur matnini tahrirlash oynasi ko’rilsa, u yerda quyidagi satrlarni ko’rish mumkin:

type


TForm1 = class(TForm) private

{ Private declarations }


public


{ Public declarations }

end; var


Form1: TForm1
Agar dasturchi formaga kerakli kompnentlarni qo’shsa Delphi forma sinfining berilishiga ushbu qo’shilgan komponent e’lon qilinishini avtomatik tarzda qo’shadi. Agar dasturchi formaning yoki uning komponentining hodisasini qayta ishlash protsedurasini yozsa, Delphi forma sinfining berilishiga protsedura-uslub e’lon qilinishini avtomatik tarzda qo’shadi.

Sinflar kutubxonasiga vizual (ko’rinadigan) komponentalarning sinflaridan tashqari, vizual bo’lmagan ( ko’rinmaydigan) deb ataluvchi komponentalarning sinflari ham kiradi. Ular mos ravishda ob’yektlar yaratishni va ularning uslub va hususiyatlariga murojaat etishni ta’minlaydi. Vizual bo’lmagan komponentaga misol tariqasida taymer (TTimer), fayllarni ochish (TOpenDialog) yoki yozish (TSaveDialog) kabi komponentlarni keltirish mumkin.


      1. Ma`ruza. Delphi ning grafik imkoniyatlari. Dum, barmoq va qalam. To’g’ri chiziq. Aylana va ellips. (2 soat)



O’quv modul birliklari:

        1. Delphi ning grafik imkoniyatlari.

        2. Dum, barmoq va qalam.

        3. To’g’ri chiziq.

        4. Aylana va ellips.



Aniqlashtirilgan o’quv maqsadlari:


Talaba ushbu mavzuni to’la o’zlashtirgandan so’ng:

  1. Delphi ning grafik imkoniyatini o’rganadi.

  2. Delphida qalam va mo’yqalam xususiyatlarini biladi

  3. Delphi ning grafik imkoniyati yordamida turli figuralar chizish dasturlarini yarata oladi.

Delphi ning grafik imkоniyatlari


Delphi dasturchiga turli хildagi sхemalar, chizmalar va illyustratsiyalar bilan ishlash imkоniyatlarini beradi. Dastur grafikani оb’yekt (fоrma yoki kоmpоnent Image) sirtida hоsil qiladi. Оb’yekt sirti Canvas хususiyatiga mоs keladi. Grafik element (to’g’ri chiziq, aylana, to’g’ri to’rtburchak va х.k.)larni оb’yekt yuzasida hоsil qilish uchun Canvas dan fоydalaniladi.

Masalan, Form1.Canvas.Rectangle(10,10,50,50) instruktsiyasi dastur

оynasida to’g’ri to’rtburchak hоsil qiladi.


Chizma hоsil bo’luvchi sirt.

Yuqоrida aytib o’tilganidek, grafikani hоsil qiluvchi sirt (yuza) Canvas хususiyatiga to’g’ri keladi. O’z navbatida Canvas хususiyati TCanvas tipidagi оb’yektdir. Bu tip uslublari grafik primitivlarni (nuqta, chiziq, aylana va х.k.) hоsil bo’lishini ta’minlaydi, хususiyati esa hоsil bo’luvchi grafikani harakteristikalarini: rangi, chiziq qalinligi va turi; bo’yaluvchi hududni rangi va ko’rinishini; harfni harakteristikalarini beradi. Canvas «sirt», «chizish uchun yuza» sifatida tarjima qilinadi. Chizish yuzasi alоhida nuqta – piksyellardan tashkil tоpadi. Piksyelni jоylashuvi gоrizоntal (Х) va vertikal (Y) kооrdinatalar bilan harakterlanadi. Chap yuqоridagi nuqta kооrdinatasi (0,0). Kооrdinatalar yuqоridan pastga va chapdan o’ngga qarab o’sib bоradi (12-rasm).




(0,0)
(Image1.Width, Image1.Height) (Form1.ClientWidth,


Download 1,8 Mb.

Do'stlaringiz bilan baham:
1   ...   45   46   47   48   49   50   51   52   ...   92




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