Vaqt va sana bilan bog’liq jarayonlarni dasturlash



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

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 . Joriy vaqtni olish uchun QTime sinfida statik usul mavjud currentTime ().

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 . o'tgan ()
<< "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 .

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 .

Dasturlarda ko'pincha muayyan harakatlarni belgilangan vaqt oralig'ida vaqti-vaqti bilan takrorlash zarurati tug'iladi. Albatta, ba'zi hollarda, funktsiyani chaqirish uchun vaqt oralig'ini belgilash uchun siz QTime sinfining ob'ektidan foydalanishingiz va quyidagilarni bajarishingiz mumkin:


QTime vaqti;
time.start ( );
while ( ; time.elapsed () <1000;) {
}
funktsiya ( );

Ammo bu yondashuv juda katta kamchilikka ega. Loopni bajarish butun dasturni bir soniya to'xtatib turadi. Natijada, foydalanuvchi interfeysidagi voqealar qayta ishlanmaydi va agar derazalardan biri dastur oynasini yopib qo'ysa, u holda u shu vaqtgacha qayta chizilmaydi, ya'ni dastur shu vaqtgacha "muzlaydi".

Bunday vaziyatlarda dastur kelayotgan hodisalarni qayta ishlashi uchun QAppiication dastur sinfining processEvents () usulini chaqirib, tsiklning bajarilishini to'xtatib qo'yishingiz mumkin.

Masalan :

QTime taymer;

timer.start ( );

uchun ( ; timer.elapsed () <1000;)
{

qApp -> processEvents (0);



}
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