Vaqt va sana bilan bog’liq jarayonlarni dasturlash



Download 24,06 Kb.
bet1/3
Sana31.12.2021
Hajmi24,06 Kb.
#265880
  1   2   3
Bog'liq
prog


Vaqt va sana bilan bog’liq jarayonlarni dasturlash



  1. 1. Taymer, vaqt va sana bilan bog’liq jarayonlarni dasturlash.

QTime sinfi

Vaqtni boshqarish juda muhim vazifadir, shu bilan dasturdagi kechikishlarni hisoblash, ekranda joriy vaqtni ko'rsatish, fayllarni yaratish vaqtini tekshirish va h.k.Vaqt bilan ishlash uchun Qt kutubxonasi QTime sinfini taqdim etadi . Ob'ektlarda bo'lgani kabi, ob'ektlar paydo bo'lgan vaqtdan boshlab taqqoslash operatsiyasi ==, amalga oshirilishi mumkin ! =, <, <=,> yoki> =. Vaqt ob'ektlari vaqtni millisekundlik aniqlikda saqlashga qodir. Yilda konstruktor sinf QTime to'rt parametrlarini o'tdi. Birinchi parametr soat, ikkinchisi minut, uchinchisi soniya, to'rtinchisi milisaniyadir. Uchinchi va to'rtinchi parametrlarni o'tkazib yuborish mumkin, ular sukut bo'yicha nolga teng. Masalan; misol uchun:

QTime time (20, 4);

Ushbu qiymatlar setHMS () usuli yordamida vaqt ob'ekti yaratilgandan so'ng o'rnatilishi mumkin . Masalan; misol uchun:

QTime time;

time.setHMS (20, 4, 23, 3);

Vaqt ob'ektida o'rnatilgan soat, daqiqa, soniya va millisekundalarni olish uchun QTime sinfida quyidagi usullar aniqlangan:

hour () - 0 dan 23 gacha bo'lgan soatning ijobiy qiymatlarini qaytaradi;

daqiqa () - 0 dan 59 gacha bo'lgan daqiqalarni ifodalovchi butun son qiymatini qaytaradi;

second () - 0 dan 59 gacha bo'lgan soniyani ifodalovchi butun son qiymatini qaytaradi;

msec () - 0 dan 999 gacha bo'lgan millisekundlarni ifodalovchi butun sonni qaytaradi.

QTime klassi vaqt ob'ekti ma'lumotlarini mag'lubiyatga o'tkazish uchun toString () usulini taqdim etadi . Ushbu usulda parametr sifatida siz vaqt formatlaridan birini o'tkazishingiz yoki o'zingiz o'rnatishingiz mumkin. Masalan :



QTime vaqti ( 20, 4, 23, 3);

QString ko'chasi ;

str = time.toString (" hh: mm: ss.zzz "); // str = "20: 04: 23.003"

str = time.toString (" h: m: s ap "); // str = "8: 4: 23 pm"

Statik fromString () usuli yordamida siz mag'lubiyat turidan QTime turiga o'tkazishingiz mumkin . Buning uchun uslubning birinchi parametrida format qiymatlaridan biri o'tkazilishi kerak.

Mavjud ob'ektdan soniyalarni (yoki millisekundalarni) qo'shish yoki olib tashlash orqali o'zgartirilgan vaqt ob'ektini olishingiz mumkin. Ushbu qiymatlar addSecs () va addMSecs () usullariga o'tkaziladi.Hozirgi vaqtni olish uchun QTime sinfida statik currentTime () usuli mavjud .

Start () usuli yordamida siz vaqtni sanashni boshlashingiz mumkin va hisoblash boshlangandan beri qancha vaqt o'tganligini bilish uchun o'tgan () usulini chaqirishingiz kerak . Masalan, ushbu usullar asosida kichik profiler yaratishingiz mumkin.

Quyidagi misol test () funktsiyasining ishlash vaqtini hisoblab chiqadi :

QTime vaqti;

time.start ( );

test ( );

qDebug () << " test () funktsiyasining ishlash vaqti "

<< vaqt tugadi ()

<< "millisekundlar"

<< endl ;

QTime sinfining kamchiligi shundaki , u 24 soatlik interval bilan cheklangan, shundan keyin u noldan hisoblanadi. Ushbu muammoni hal qilish uchun siz QDateTime sinfidan foydalanishingiz mumkin .

QTimer klassi haqida Sinf QObject- dan meros qilib olingan , ya'ni u signallar va uyalar bilan ishlashi mumkin. Belgilangan vaqtdan keyin vaqt tugashi () signalini yuboradigan muntazam taymerlarni taqdim etadi . Bunday holda, sinf statik usuli singShot () ga ega, u ma'lum vaqtdan so'ng signalni faqat bir marta yuboradi. Taymer voqealari faqat voqealar davri ishlaganda amalga oshiriladi.

Foydalanish uchun, siz uchun kerak o'z ichiga oladi # ichiga oladi < QTimer >

O'z ichiga oladi , davlat vazifalarini:

int interval () - belgilangan taymer intervalining son ( int ) qiymatini millisekundlarda qaytaradi

int qolganTime () - Qolgan vaqtni millisekundlarda qaytaradi

bool isActive () - Taymer ishlayotgan bo'lsa, mantiqiy ( bool ) qiymatini haqiqiy qiymatga qaytaradi

bool isSingleShot () - taymer faqat bir marta yoqish uchun yoqilgan bo'lsa, true qiymatini qaytaradi

void setInterval ( int msec ) - taymer oralig'ini o'rnatishga imkon beradi , bu erda msec millisekundalarda vaqt

bekor setSingleShot ( bool singleShot )

void setTimerType ( Qt :: TimerType atype ) - taymer turini o'rnatadi

int timerId () - taymer identifikatorini qaytaradi

Qt :: TimerType timerType ( ) - Taymer turini qaytaradi

Tegishli ravishda taymerni ishga tushiradigan va to'xtatadigan start () va stop () uyalarini o'z ichiga oladi . Start () uyasi bitta ortiqcha yuklamaga ega - start ( int msec ), agar taymer ishlamay qolsa, taymerni msek millisekundadan keyin boshlaydi, aks holda taymer to'xtaydi va qaytadan boshlanadi.

Taymer tugashi bilan yuboriladigan vaqt tugashi () signaliga ega.

QTimer yordamida namuna

Misol tariqasida taymerdan foydalanishni ko'rib chiqamiz. Yuqorida aytib o'tilgan dasturni yarataylik. Bu joriy vaqtni ko'rsatadi va 5 soniyadan so'ng u yopiladi. Unda biz taymerning muntazam tetiklanishini qo'llaymiz, u har soniyada ekrandagi vaqtni yangilaydi. Shuningdek, biz bitta yong'in uchun statik funktsiyadan foydalanamiz singleShot (), bu dasturni yopish uchun signal beradi.

QDateTime sinfining ob'ektlari sana va vaqtni o'z ichiga oladi. Usuli chaqiruv sana (), siz sana ob'ekt olishingiz mumkin QDate va murojaat vaqti () vaqt obyekti qaytaradi QTime . Ushbu sinf ma'lumotlarning mag'lubiyat shaklida ifodalanishi uchun toString () usullarini ham o'z ichiga oladi .


  1. 2. QTime va QDateТime sinflari, ularning xossa va hodisalari.

Vaqt va sana bilan ishlash Qt yordamida amalga QDate , QTime, va QDateTime sinflari Sana va vaqt uchun mo'ljallangan va ular bilan turli operatsiyalarni amalga oshiriladi. Ko'pincha, siz hozirgi sana va vaqtni olishingiz kerak. Ushbu sinflar sanalar va vaqtlarni ma'lum bir format qatoriga o'tkazish usullarini taqdim etadi.

Belgilangan vaqt o'tganidan keyin taymer ilova to'g'risida xabar beradi. Taymer voqealari tashqi uzilishlar toifasiga kiradi. Tashqi uzilishlar - bu kirish-chiqarish moslamalari yoki taymer qurilmasining o'zi kabi asenkron hodisalar keltirib chiqaradigan uzilishlar. Taymerni boshlash intervallari millisekundlarda o'rnatiladi. Kamchilik shundaki, agar dastur intensiv hisob-kitoblar bilan band bo'lsa, unda taymer hodisalari hisoblash jarayoni oxirida qayta ishlanishi mumkin . Ilovadan chiqqanda taymerlar avtomatik ravishda yo'q qilinadi.

Dasturda ko'pincha sana va vaqt haqida ma'lumot talab qiladi. Masalan, hisobot ma'lumotlarini chiqarish yoki soatlarni ko‘rsatish. Qt : Sana va vaqt bilan ishlash uchun uch sinflar beradi QDate , QTime, va QDateTime , belgilangan yilda QDate , QTime, va QDateTime header fayllar .

QDate klassi sanalarni saqlash va ular bilan har xil operatsiyalarni bajarish uchun ma'lumotlar tuzilmasidir. Uchta tamsayı parametrlari QDate sinfining konstruktorida berilgan . Birinchisi yil, ikkinchisi oy, uchinchisi kun. Masalan, 2004 yil 25 oktyabr sanasini o'z ichiga olgan ob'ekt yarataylik:


Download 24,06 Kb.

Do'stlaringiz bilan baham:
  1   2   3




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