AMALIY MASHG’ULOT. SHAXSIY LOYIHALARNI YARATISH BOSQICHLARI.

1. Birinchi loyixa

 Delphi ning imkoniyatlari va vizual dasturlash texnologiyasini namoyish qilish uchun sportchi belgilangan masofani qanday tezlik bilan bosib o`tishini hisoblovchi loyixa yaratamiz. Dasturning dialog oynasi va ishlashi 2-rasmda keltirilgan.



1-rasm. Kodlarni tahrirlash oynasi

Yangi dastur ustida ish boshlash uchun Delphi ni ishga tushiring. Agar siz bu muhitda boshqa loyixa bilan ishlayotgan bo`lsangiz, File (Fayl) menyusidan New ¤ Application (Sozdat ¤ Prilojenie) buyrug`ini tanlang.

2-rasm. Yugurish tezligini hisoblash oynasi

2. Loyixa strukturasi

Delphi da yaratilgan loyixa dasturiy birlik - modullar to`plamidan iborat. Modullarning biri asosiy bo`lib, dastur shu moduldan boshlab bajariladi.

Asosiy modul kengaytmasi .dpr bo`lgan fayl hisoblanadi. Loyixaning asosiy modul matnini ko`rish uchun Project menyusidan View Source buyrug`irini tanlash lozim.

3-listingda yugurish tezligi dasturining asosiy moduli keltirilmoqda.

3-listing. Yugurish tezligi dasturining asosiy moduli matni.

program yugu1;

uses

 Forms,

 yug in 'yug.pas' {Form1};

{$R *.res}

begin

 Application.Initialize;

 Application.CreateForm(TForm1, Form1);

 Application.Run;

End.

Asosiy modul program so`zi bilan boshlanadi. Undan keyin nomi loyixa nomi bilan bir hil bo`lgan dastur nomi keladi. Loyixa nomi loyixani saqlash vaqtida beriladi va bu nom kompilyator tomonidan yaratiladigan bajariluvchi dastur nomini aniqlaydi. So`ngra, uses so`zidan keyin foydalanilgan modullar ro`yxati beriladi.

{$R *.RES} satri — bu kompilyatorga resurslar faylining ishga tushirishga ko`rsatmadir. Resurslar fayli ilovaning resurslarini o`z ichiga oladi: piktogrammalar, kursorlar, bitli tasvirlar va x.k. Yulduzcha nishoni resurslar faylining nomi ham loyixa fayli bilan bir hil, ammo .Res kengaytmali ekanligini anglatadi.

Resurslar fayli "matnli" fayl emas , shuning uchun uni matnlar muharriri yordamida ko`rib bo`lmaydi. Resurslar fayli bilan ishlash uchun maxsus Resource Workshop kabi dasturlardan foydalaniladi. Shuningdek, Delphi tarkibiga kirgan Image Editor utilitini ham qo`llash mumkin. Uni Tools menyusida joylashgan.

Asosiy modulning bajariladigan qismi begin va end so`zlari orasida beriladi. Bu qism ilovani initsializatsiya qiladi va ekranga boshlang`ich oynani chiqaradi.

Asosiy moduldan tashqari, har bir dastur o`z ichiga hech bo`lmaganda bitta forma modulini oladi. Unda ilova boshlang`ich formasi hamda unga kerak bo`lgan protseduralar ro`yxati saqlanadi. Delphi da har bir formaga o`zining moduli mos keladi. .

4-listingda yugurish tezligini xisoblash dasturi modulining matni keltirilgan.

4-listing. Yugurish tezligi dasturining moduli.

unit yug;

interface

uses indows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;

type

 TForm1 = class(TForm)

 Edit1: TEdit;

 Edit2: TEdit;

 Label1: TLabel;

 Label2: TLabel;

 Label3: TLabel;

 Label4: TLabel;

 Button1: TButton;

 Button2: TButton;

 procedure Button1Click(Sender: TObject);

 private

 { Private declarations }

 public

 { Public declarations }

 end;

var

 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var

masofa : integer; ¤¤ masofa, metrda

t: real; ¤¤ vaqt haqiqiy son ko`rinishida

min : integer; ¤¤ vaqt, minutlar

sek : integer; ¤¤ vaqt, sekundlar

v: real; ¤¤ tezlik

begin

¤¤ kiritish maydonidan boshlang`ich ma’lumotlarni olish

masofa := StrToint(Edit1.Text); t := StrToFloat(Edit2.Text);

¤¤ dastlabki almashtirishlar

min := Trunc(t); ¤¤ minutlar — t sonining butun qismi

sek := Trunc(t*100) mod 100;

¤¤ sekundlar — t sonining kasr qismi

¤¤ xisoblash

v := (masofa ¤ 1000) ¤ ((min*60 + sek) ¤ 3600);

¤¤ natijani chiqarish

label4.Caption := 'Masofa: '+ Edit1.Text + ' m' + #13 + 'Vaqt: '

+ IntToStr(min) + ' min ' + IntToStr(sek) + ' sek ' + #13 +

'Tezlik: ' + FloatToStrF(v,ffFixed,4,2) + ' km¤soat';

end;

end.

¤¤ Yakunlash tugmasi bosilganda

procedure TForm1.Button2Click(Sender: TObject)

begin

Form1.Close;

end;

end.

Modul unit so`zi bilan boshlanadi. Undan keyin modul nomi ko`rsatiladi. Bu nom matni 3-listingda berilgan ilovaning asosiy modulida eslatib o`tiladi.

Modul interfeys, realizatsii, initsializatsiya kabi bo`limlardan iborat bo`ladi.

Interfeys bo`limi (Interface so`zi bilan boshlanadi) kompilyatorga modulning qaysi qismi dasturning boshqa modullar uchun zarur bo`lishi haqida axborot beradi. Bu bo`limda (uses so`zidan keyin) shu modulda foydalaniladigan modullar kutubxonalari ro`yxati sanab o`tiladi. Shuningdek, bu yerda Delphi da yaratilgan forma type so`zidan keyin ko`rsatiladi.

Realizatsiya bo`limi Implementation bilan boshlanadi va yaratilgan forma uchun zarur bo`lgan lokal o`zgaruvchilar, protseduralar va funktsiyalar e’lon qilinadi. Bo`lim {$R *.DFM} direktivasi bilan boshlanadi. U kompilyatorga bajariladigan faylni yaratishda formadagi ma’lumotlardan foydalanish haqida ko`rsatma beradi. Forma nomi modul nomi bilan bir hil, ammo kengaytmasi .dfm bo`lgan faylda saqlanadi. Bu fayl Delphi muhitida formaning tashqi ko`rinishi asosida generatsiya qilinadi.

($R *.DFM} direktivasidan keyin forma va uning komponentalari xodisalarni qayta ishlash protseduralari keltiriladi. Bu yerga dasturchi boshqa protsedura va funktsiyalarni ham kiritishi mumkin. Initsializatsiya bo`limi moduldagi o`zgaruvchilarni initsializatsiya qiladi. Initsializatsiya bo`limi realizatsiya (barcha protsedura va funktsiyalarni ifodalash) bo`limidan keyin begin va end lar orasida joylashadi. Agar initsializatsiya bo`limi o`z ichiga xech qanday ko`rsatmani olmasa, (xuddi keltirilgan misoldagi kabi), u holda begin so`zi ko`rsatilmaydi. Shuni ta’kidlash kerakki, modulning kattagina xajmdagi buyruqlarini Delphi ning o`zi yaratadi. Masalan, Delphi, dasturchining forma yaratish bo`yicha xatti-xarakatlarini tahlil qilib, formadagi ob’ektlar haqidagi ma’lumotlarni (type so`zidan keyin) generatsiya qiladi.

3.Loyixani saqlash.

 Loyixa – bu kompilyator bajariladigan faylni (EXE-fayli) yaratishi uchun zarur bo`lgan fayllar to`plamidan iborat. Eng oddiy misolda loyixa loyixa haqidagi ma’lumotlardan iborat fayl (DOF-fayli), asosiy modul fayli (DPR-fayli), resurslar fayli (RES-fayli), forma haqidagi ma’lumotlardan iborat fayl (DFM-fayli), ilovaning asosiy kodlari joylashgan forma modulining fayli, shuningdek formaning komponentalari uchun xodisalarni qayta ishlash protsedura va funktsiyalari (PAS-fayllar) hamda konfiguratsiya fayli (CFG-fayli) dan iborat bo`ladi.

Loyixani saqlash uchun File menyusidan Save Project As buyrug`ini tanlash lozim. Agar loyixa biror marta ham saqlanmagan bo`lsa, u holda Delphi dastlab modulni (kodlar muharriri oynasidagi ma’lumotlarni ) saqlab qo`yishni taklif etadi. Shuning uchun ekranda Save Unit1 As oynasi paydo bo`ladi. Bu oynada (32-rasm) loyixa fayllari uchun ajratilgan papka va modul nomini ko`rsatish lozim. Soxranit tugmasi bosilganidan keyin ekranda navbatdagi oyna (3-rasm) paydo bo`ladi. Unda loyixa fayli nomi ko`rsatiladi.

3-rasm. Forma modulini saqlash

Modul fayli (pas-fayl) va loyixa faylining (dpr-fayl) nomlari har hil bo`lishiga e’tibor bering. Bajariladigan fayl (EXE-fayl) nomi loyixa faylining nomi bilan bir hil. Shuning uchun loyixa fayliga nom tanlaganda bajariladigan faylning nomini ham hisobga olish zarur. Modulga esa nomni boshqacha, masalan, loyixa fayli nomiga tartib nomerlarini qo`shish orqali tanlash mumkin.

Eslatma: Loyixa – bu fayllar to`plamidan iborat bo`lgani uchun, har bir loyixani alohida papkada saqlash tavsiya qilinadi.

4-rasm. Loyixani saqlash

Комментарии

Популярные сообщения из этого блога