«VBA da ma’lumotlar tiplari» Jadvali
Ma’lu-motlar tipi
|
Ta’rif
|
Array
|
O‘zgaruvchilar massivi, massiv konkret elementiga ilova qilish uchun indeks ishlatiladi. Talab qilinadigan xotira: massiv tipiga bog‘liq
|
Boolean
|
Ikki qiymatdan birini qabul qiladi: True yoki False. Talab qilinadigan xotira: 2 bayt
|
Byte
|
Ishorasiz son, 0 dan 255 gacha. Talab qilinadigan xotira: 1 bayt
|
Currency
|
Yaxlitlash xatoligini olish kerak bo‘lganda pul hisoblarni o‘nli nuqtadan so‘ng fiksirlangan belgilar soni bilan olib borish uchun ishlatiladi. Qiymatlari diapazoni: -922 337 203 685 477, 5808 dan 922 337 203 685 477, 5807gacha. Talab qilinadigan xotira: 8 bayt. Tip ta’riflash ko‘zda tutilgan simvoli: @
|
Date
|
Sanalarni saqlash uchun ishlatiladi. Qiymatlari diapazoni 1 yanvarya 0100 y. dan 31 dekabrya 9999 y. gacha. Talab qilinadigan xotira: 8 bayt
|
Double
|
Ikkilik aniqlikdagi so‘zuvchi nuqtali sonlar. Qiymatlari diapazoni manfiy sonlar uchun: -1, 797693 13486232Е308 dan -4, 94065645841 247Е-324 gacha. Qiymatlari diapazoni musbat sonlar uchun: Qiymatlari diapazoni musbat sonlar uchun 4, 94065645841 247Е-324 dan 1, 7976931 3486232Е308 gacha. Talab qilinadigan xotira: 8 bayt. Tip ta’riflash ko‘zda tutilgan simvoli: #
|
Integer
|
Qisqa butun sonlar. Qiymatlari diapazoni: -32 768 dan 32 767 gacha. Talab qilinadigan xotira: 2 bayta. Tip ta’riflash ko‘zda tutilgan simvoli: %
|
Long
|
Uzun butun sonlar. Qiymatlari diapazoni: ot -2 147 483 648 dan 2 147 483 647 gacha. Talab qilinadigan xotira: 4 bayt. Tip ta’riflash ko‘zda tutilgan simvoli: &
|
Object
|
Faqat ob’уektlarga ilovalar saqlash uchun ishlatiladi. Talab qilinadigan xotira: 4 bayt
|
Single
|
Oddiy aniqlikdagi so‘zuvchi nuqtali son qiymatlar. Qiymatlari diapazoni manfiy sonlar uchun: -3. 402823Е38 dan -1, 401 298Е-45 gacha. Qiymatlari diapazoni musbat sonlar uchun: 1, 401 298Е-45 dan 3. 402823Е38gacha. Talab qilinadigan xotira: 4 bayta. Tip ta’riflash ko‘zda tutilgan simvoli: !
|
String
|
Satrli qiymatlarni saqlash uchun ishlatiladi. Satr uzunligi: 0 dan 64 Kbaytgacha. Talab qilinadigan xotira: 1 bayt na simvol. Tip ta’riflash ko‘zda tutilgan simvoli: $
|
Variant
|
Xaar xil tipdagi ma’lumotlarni saqlash uchun ishlatilishi mumkin: sana/vaqt, suzuvchi nuqtali sonlar, butunsonlar, satrlar, ob’уektlar. Talab qilinadigan xotira: 16 bayt, plyus 1 bayt xar bir satrli simvol uchun Tip ta’riflash ko‘zda tutilgan simvoli: yo‘q
|
Foydalanuvchi tomoni-dan ta’rif-lanadigan tip
|
Foydalanuvchi tomonidan ta’riflanadigan ma’lumotlar tip, vazifasi va ajratiladigan xotira hajmi ta’rifga bog‘liq. Bu tipdagi o‘zgaruvchida xar xil tipdagi xar xil qiymatlar to‘plamini saqlashga imkon beradi
|
O‘zgaruvchining tavsifida ma’lumotlar turining ko‘rsatmasi tushirib qoldirilishi mumkin. O‘zgaruvchining turi bunda o‘zgaruvchi nomining oxirgi simvoli bilan belgilanadi:@, #, %, &, /, $ (Currency, Double, Integer, Long, Single, String). Masalan, agar simvol $ qator ma’lumotlari turini aniqlash simvoli bo‘lsa, u xolda text$ nomli o‘zgaruvchi avtomatik xolda "simvollar qatori" "o‘zgaruvchi turi" bo‘lib qoladi
Keyinchalik bu maxsus simvol ma’lumotlar turining ko‘rsatmasi tushirib qoldirilishi mumkin, lekin o‘zgaruvchining nomida doimo turni aniqlash simvolining ishtirok etishi, qaysi ma’lumotlar turiga tegishli ekanligini eslatib turadi-bu esa bir biriga zid ma’lumotlar turidan foydalanish xato qilmaslikka yordam beradi.
Agar oxirgi simvol yuqorida ko‘rsatilganlarning hech biriga kirmasa va tur ko‘rsatmalaridan foydalanilmasa foydalanilmasa, u xolda o‘zgaruvchilar ko‘zda tutilgan ma’lumotlar turiVariantda belgilanadi, bu esa unda barcha ma’lumotlarni saqlashga imkon beradi.
Bir xil protsedurada bir biridan faqat maxsus simvoli bilan ajralib turadigan o‘zgaruvchilar tomonidan foydalanish mumkin emas o‘zgaruvchan oxirida. Masalan o‘zgaruvchining baravar bir vaqtda ishlatilishi mumkin emas var$ va var%. Shuningdek simvol aniqlash turi bo‘lgan o‘zgaruvchining nom oxirida e’lon qilinishi mumkin emas, tavsivchi yordamida As (agar bu aniqlash oddiy simvol aniqlash turini qo‘llashga qarshilik qilmasa)Masalan, agar siz xato xaqida ma’lumot olsangiz, quyidagi barcha aniqlovchilarni kirgizib:
Dim var 1% as string
Dim var2% as integer
Protsedura yoki funksiyaning argumentlarma’lumoti tipini aniqlash uchun protsedura yoki funksiyaning sarlavhasi qatorida ma’lumotlar tipi tavsifi foydalaniladi.
Masalan, protseduraning keyingi sarlavha satri uning parametrlarini o‘zgaruvchining satr tipida tavsiflaydi:
Sub splitstr(str1 as string, str2 as string, str3 as string)
Ma’lumotlar tipini aniqlash qaytayotgan funksiyaning qiymati funksiyaning satrini yakunlaydi, masalan:
Function Find split space(strl as string)as integer
tavsiflaydi qaytayotgan funksiyaning qiymatini xuddi o‘zgaruvchining kalta butun tipi.
Dastur tezroq ishlashi uchun va kam xotira egallashi uchun, mumkin bo‘lganda o‘zgaruvchining konkret tiplaridan foydalanish tavsiya etiladi. Universal tip Variant emas. o‘zgaruvchining Variant tipini qayta ishlash uchun faqat qo‘shimcha xotira emas, balki qo‘shimcha vaqt kerak bo‘ladi;qaysi konkret ma’lumotlar tipiga qarashli ekanligini bu o‘zgaruvchining qayta ishlash vaqtida talab qilinadi, yana kerak bo‘lsa ma’lumotlar tipini o‘zgartirishni bajarish.
Nomlangan konstantalar tavsifi uchun operator Const qo‘llaniladi o‘zgaruvchi Dim tavsifi operatori bilan o‘xshash. Bu operatorning sintaksisi:
Const(as)=
-istalgan qiymat yoki formula qaytayotgan qiymat konstanta sifatida foydalanishi kerak bo‘lgan. Masalan keyingi operator butun konstanta tipini aniqlaydi:
const maxLen%=30
Xuddi o‘zgaruvchidagi kabi konstantada ma’lmotlar tipining xar xil qiymati bor, lekin bunda ular o‘z qiymatini dastur bajarishda o‘zgartirmaydi.
Agar siz programmangizda ma’lum bir konstantadan foydalanmoqchi bo‘lsangiz, u xolda bu konstantaga ma’noli nom berish tavsiya etiladi va uni modul boshida tavsif etish, keyinchalik faqat nomlangan konstantalardan foydalanish tavsiya etiladi. Bu dasturni tushunarligina qilib qolmay balki soddalashtiradi va sozlashda xamrox qiladi. Ko‘pinchalik u yoki bu konstantaning qiymatini o‘zgartirish talab qilinadi (xech bo‘lmaganda sozlash davrida) va shunda faqatgina bitta qiymatni nomlangan konstantada o‘zgartirish kifoya qiladi. Agarda dasturning matn kodida aynan shu qiymat foydalanilgan bo‘lsa, unda u qiymatning hamma kelib chiqishini o‘zgartirish ancha murakkab bo‘ladi.
|