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
Комментарии
Отправить комментарий