O‘zbekiston respublikasi oliy va o‘rta maxsus ta’lim vazirligi samarqand davlat universiteti


-rasm. AutoPlay ishchi sohasida ob’yektlarning ko‘rinishiga bir



Yüklə 6,9 Mb.
Pdf görüntüsü
səhifə141/173
tarix30.09.2023
ölçüsü6,9 Mb.
#150593
1   ...   137   138   139   140   141   142   143   144   ...   173
36-rasm. AutoPlay ishchi sohasida ob’yektlarning ko‘rinishiga bir 
misol


227 
2.3. AutoPlayda ssenariylar yozish
Agar ishchi sohadagi (aniqrog‘i sahifadagi) biror ob’yekt
bajarishi kerak bo‘lgan funksiyani xossalar panelidan foydalanib 
belgilamoqchi bo‘lsak, u holda bitta ob’yekt uchun faqat bitta
funksiya biriktiriladi, xolos. Ammo real sharoitda bitta ob’yekt bir
nechta funksiyani bajarishiga zaruriyat tug‘ilib qolishi mumkin.
Bunday sharoitda vaziyatdan chiqish uchun xossalar panelidan
tanlangan funksiyani bekor qilish va har bir funksiya uchun alohida-
alohida ssenariy (script)lar yozish maqsadga muvofiq bo‘ladi.
Masalan, bir sahifaga audio musiqani qo‘yib, boshqa sahifaga
o‘tganda musiqani o‘chirish uchun uning “On Show” hodisasiga oid 
quyidagicha ssenariyni yozish mumkin: Audio.Load(0, "AutoPlay// 
Audio// 01.ogg", true, false);
Bunda: true – sahifa ochilishi bilan audio musiqa ishga
tushishini, false esa boshqa sahifaga o‘tganda bu audio musiqaning
davom etmasligi yoki takrorlanmasligini bildiradi .
Bundan tashqari, sahifaga Tree ob’yekti joylashtirilgan bo‘lishi
mumkin. U holda bu Tree ob’yektidan foydalanganda uning 
tarmoqlarini ishga tushirish uchun quyidagi ssenariyni yozish mumkin:
if Tree.GetNode("Tree1", "1.1").Selected then
Page.Jump("PgWebMavzu1");
elseif Tree.GetNode("Tree1", "1.2").Selected then
Page.Jump("PgWebTest");
end
Bu ssenariyga binoan, Tree ob’yektining 1-darajali tarmog‘ida 
turgan 1-satr belgilanib, sichqonchaning DoubleClick hodisasi
ishlatilsa, u holda “PgWeb Mavzu1” nomli sahifa yuzaga keladi.
Agar Tree ob’yektining 1-darajali tarmog‘ida turgan 2-satr
belgilanib, ikki marta sichqoncha chap tugmasi bosilsa (ya’ni 
sichqonchaning DoubleClick hodisasi ishlatilsa), u holda “PgWebTest” 
nomli sahifa yuzaga keladi.
Shuningdek, biror buyruq tugmasi (Button)ni bosish orqali biror 
.exe faylni ishga tushirish kerak bo‘lsa, u holda ssenariy quyidagicha 
yoziladi: Shell.Execute("AutoPlay\\Docs\\MyProg.exe", "", "",


228 
SW_NORMAL, true);
Ba’zida turli variantlarda turli muloqot oynasini yuzaga
keltirishga oid tarmoqlanuvchi algortmni yozishga to‘g‘ri keladi.
Masalan, bosh sahifa ishga tushishidan oldin parol so‘ragan kabi
“InputBox” dastlab ekranga chiqishini xohlasangiz, u holda bosh
sahifaning “Preload” bandi uchun quyidagi scriptni yozish kifoya:
1. name = "";
2. while (name ~= "CANCEL") and (name == "") do
3. name=Dialog.Input("Diqqat", "Ismi sharifingizni
kiriting:");
4. if name == "" then
5. result=Dialog.Message("Xato!", "Ma’lumot
kiritmadingiz!", MB_OK, MB_ICONEXCLAMATION,
MB_DEFBUTTON1);
6. elseif name =="CANCEL" then
7. name=Dialog.Input("Personal Information", "Bu yerga
muallifning ismi sharifi kiritiladi:");
8. end
9. Paragraph.SetText("Paragraph5", name);
10. end
Ssenariy (Script) yozishda asosiy e’tibor ob’yekt ustida
yuzaga keladigan hodisaga qaratiladi. Masalan, Page ob’yektining
hodisalarini olib qaraylik: On Preload, On Show, On Close, On Timer, 
On Audio, On Size, On Menu, On Key, On Mouse Button, On Mouse 
Move.
Agar Page ob’yektining dastlabki yuzaga kelishidan oldin
biror hodisa bajarilishi kerak bo‘lsa, u holda ssenariy uning On
Preload hodisasi uchun yozilishi kerak bo‘ladi.
Sahifa yuzaga kelgan va ko‘rinishli holatga o‘tganda hodisa
yuz berishi kerak bo‘lsa, u holda uning On Show hodisasiga ssenariy 
yoziladi.
Sahifa yopilishida yuz beradigan hodisa uchun ssenariy uning On
Close hodisasiga nisbatan yoziladi.


229 
Sahifada biror ob’yekt holati muayyan vaqt oralig‘ida yuz
berishi kerak bo‘lsa, u holda uning On Timer hodisasi uchun kod 
yoziladi. Har bir ob’yektning o‘ziga xos yuz beradigan hodisalari 
mavjud. Bu hodisalarni quyidagi jadvaldan ko‘rishimiz mumkin: 


230 
AutoPlayda tayyorlangan va kompilyatsiya qilingan amaliy 
dasturni klavishli boshqarish alohida ahamiyatga ega. Bunday
sharoitda uning har bir sahifasi uchun On Key hodisasiga nisbatan
kod yozilishi talab qilinadi. On Key hodisasi qaysi klavish 
bosilganda, qaysi hodisa yuz berishi kerakligi bilan aniqlanadi. Faqat
klavishlarning maxsus kodlarini bilish bunda ishni yengillashtirishga
ancha yordam beradi.
Misol tariqasida [Ctrl] + [q] klavishlar birikmasini ishlatib,
dasturdan chiqishni, ya’ni dastur oynasini yopishni ta’munlaydigan 
ssenariy kodini yozamiz:
if e_Key==(17 and 113) then
Application.Exit();
End
Bu yerda ASCII-jadvalga ko‘ra, 17 – [Ctrl] klavishining o‘nlik 
sanoq sistemasidagi kod raqamini, 113 esa “q” harfining o‘nlik
sanoq sistemasidagi kod raqamini bildiradi. AutoPlayda har qanday 
yaratilajak amaliy dasturlar uchun muloqot tizimini yo‘lga qo‘yishga
oid scriptlar ham yozish imkoniyati mavjud. Masalan, biror
buyruq tugmasining On Click hodisasi quyidagi kodni yozaylik (37-
rasm): Dialog.Message("Title", "Hello World"); 

Yüklə 6,9 Mb.

Dostları ilə paylaş:
1   ...   137   138   139   140   141   142   143   144   ...   173




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin