Kasb ta’limi fakultеti



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

7.6-rasm.


7.5-listing. unit rd_;

interface uses

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


type


TForm1 = class(TForm) Button2: TButton; Edit1: TEdit;

Memo1: TMemo;

Button1: TButton;

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

{ Private declarations }


public


{ Public declarations }

end; var

Form1: TForm1;


implementation


{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var


f: TextFile; // fayl

fName: String[80]; // fayl nomi



buf: String[80]; // fayldan o'qish uchun bufer

begin


fName := Edit1.Text; AssignFile(f, fName);

{$I-}


Reset(f); // o'qish uchun ochish

{$I+}


if IOResult <> 0 then begin

MessageDlg('Faylga murojaatda xatolik ' + fName, mtError,[mbOk],0); exit;



end; Memo1.Clear;

// fayldan o'qish while not EOF(f) do begin

readln(f, buf); // satrlarni fayldan oq'ish Memo1.Lines.Add(buf); // Memo1 maydoniga satrlarni qo'shish

end;

CloseFile(f); // faylni yopish



end;

// faylga yozish



procedure TForm1.Button2Click(Sender: TObject);

var


f: TextFile; // fayl

fName: String[80]; // fayl nomi i: integer;


begin


fName := Edit1.Text; AssignFile(f, fName);

Rewrite(f); // qayta yozish uchun ochish

// faylga yozish

for i:=0 to Memo1.Lines.Count do // satrlar noldan

//raqamlanadi

writeln(f, Memo1.Lines[i]); CloseFile(f); // faylni yopish MessageDlg('Ma`lumotlarni faylga yozish',

mtInformation,[mbOk],0);


end; end.


Faylni qayta ishlashni tashkil qilish uchun While takrorlash buyrug’idan foydalanilgan. Bunda EOF funksiyasining qiymati har bir o’qishdan oldin tekshiriladi.

Saqlash tugmasi Memo maydonidagi ma’lumotlarni faylga saqlash imkonini beradi. Navbatdagi satrni Memo maydoniga qo’shish Lines xususiyatining Add uslubi yordamida amalga oshiriladi.






      1. Ma`ruza. Sinf, ob`ekt, uslub, inkopsulyatsiya va avlod qoldirish. Polimorfizm va virtual usullar. (2 soat)


O’quv modul birliklari:

        1. Delphida Sinf va ob`ekt tushunchasi

        2. Uslub, inkopsulyatsiya va avlod qoldirish.

        3. Polimorfizm va virtual usullar.



Aniqlashtirilgan o’quv maqsadlari:


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

  1. Delphida sinf va ob`ekt tushunchasining mohiyatini o’rganadi

  2. Uslub, inkopsulyatsiya va avlod qoldirish strukturasini biladi

  3. Polimorfizm va virtual usullarni o’zlashtiradi.

Ob’yektga mo’ljallangan dasturlash (OMD) - asosida ob’yekt tushunchasi yotgan dasturlarni qayta ishlash uslubidir. Dasturlashda qo’llaniluvchi ob’yekt tushunchasi real hayotdagi ob’yekt tushunchasiga qaysidir ma’noda mos keladi (Ob’yekt real hayotdagi ob’yekt tushunchasiga mos keluvchi qandaydir strukturadir).

Ob’yekt – real hayotga mos keluvchi ob’yekt strukturasi.

OMD uslubidan foydalanib yechiluvchi masala ob’yekt terminlari va ular ustidagi bajariluvchi amallar bilan ifodalanadi, bunday yondoshishdagi dastur esa ob’yektlar to’plami va ular o’rtasidagi aloqalardan tashkil topadi.



Eslatma


Delphida dasturlash muhiti taklif qilgan komponentlar to’plamidan foydalanib dastur yaratish uchun OMD mohiyatini bilish zaruriy emas.


Sinf (Class)



Pascal dasturlash tili dasturchiga murakkab ma’lumotlar tipi - yozuvlarni (records) aniqlash imkonini berdi. Delphi tili esa ob’yektga mo’ljallangan dasturlash mohiyatidan kelib chiqib sinflarni aniqlash imkonini beradi. Sinf - bu ma’lumotlar,

protsedura va funksiyalar berilishidan tashkil topgan hamda ularni sinf vakili tomonidan ishlatish mumkin bo’lgan murakkab strukturadir.

Oddiy sinfni e’lon qilishga misol:
TPerson = class private

fname: string[15]; faddress: string[35]; public



procedure Show;

end;
Sinf o’zgaruvchilari maydоn deb ataladi, prоsedura va funksiyalar esa uslub deb ataladi. Yuqоridagi misоlda TPerson – sinf nоmi, FName va FAddress – maydоn nоmi, Show – uslub nоmi.

Eslatma


Delphi maydon nomlarini f harfi bilan boshlash kelishib olingan (Field - maydon so’zidan kelib chiqadi).

Sinf tiplarni (type) e’lon qilish bo’limida e’lon qilinadi.



Ob’yekt

Ob’yektlar sinf vakili sifatida dasturning var bo’limida e’lon qilinadi, masalan:



var


student: TPerson; professor: TPerson; Eslatma
Delphida ob’yekt - bu dinamik struktura. Оb’yekt o’zgaruvchisi o’zida ma’lumоtni emas balki оb’yekt ma’lumоtiga yo’lni saqlaydi. Shuning uchun dasturchi ushbu ma’lumotlar uchun ajratilgan хоtira haqida o’ylashi kerak bo’ladi.

Xotirani ajratish sinfning maxsus uslubi create (yarat) nomiga ega bo’lgan konstruktor yordamida amalga oshiriladi. Konstruktorning asosiy rolini ta’kidlash uchun sinfning berilishida procedura so’zi o’rniga constructor so’zidan foydalaniladi.

Quyida tarkibiga konstruktor kiritilgan TPerson sinfini e’lon qilish keltirligan:
TPerson = class private

fname: string [ 15 ]; faddress: string[35];



constructor Create; // konstruktor

Download 1,8 Mb.

Do'stlaringiz bilan baham:
1   ...   42   43   44   45   46   47   48   49   ...   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