10.5. Varianta turidagi o’agaruvchialarni ishlatish afzalliklari Variant turidagi o’agaruvchialarni barcha turdagi ma’lumotlarni saqlash va amallarni bajarish uchun ishlatiladi. Ikkita holatni esdan chiqarmaslik kerak, ya’ni birinchidan, Variant turidagi o’zgaruvchilar ustida arifmetik amallar va funksiyalarni faqat u sonli qiymatga ega bo’lgandagina ishlatish mumkin, ikkinchidan, qatorlarni konkatenatsiya qilishda “+” operatorining o’rniga & operatorini ishlatish kerak.
Variant turidagi o’zgaruvchilar Empty, Null yoki Error kabi maxsus qiymatlarga ham egadur.
Empty qiymati.Varianta turidagi o’zgaruvchilarga 0 dan farqli qiymatlarni, bo’sh qatorni yoki Null qiymatini o’zlashtirish uchun Empty nomlanadi. Empty qiymatini aniqlash uchun isEmpty funksiyasini ishlatish mumkin:
If IsEmpty(x) Then x = 0
Nullqiymati. Varianta'>Varianta turidagi o’zgaruvchilar ma’lumotlar bazasi bilan ishlaydigan ilovalardagi bo’sh ma’lumotlarni ko’rsatish uchun Null qiymati ham ishlatish mumkin. isNullfunksiyasi yordamida Varianta turidagi o’zgaruvchi Null qiymatiga egaligini tekshiradi. Variant turidagi o’zgaruvchiga Null qiymatini o’zlashtirish uchun Null kalt so’zini ishlatish mumkin: у = Null Varianta turidagi ega bo’lmagan o’zgaruvchiga Null qiymatini o’zlashtirish xato bo’ladi.
Errorqiymati.Varianta turidagi o’zgaruvchi proceduradagi hosil bo’lgan xatolar uchun Error qiymatini qabul qilishi mumkin. Lekin bu holatda ilova darajasidagi xatolar to’g’rilanmaydi. Ammo dasturchi uningh qiymatiga qarab aniq bir tuzatishlar kiritishi mumkin.
10.6. Varianta turidagi qiymatlarning ichki tasavvuri
Variant turidagi o’zgaruvchilar unga saqlanadigan ma’lumotlarning ichki tasavvurini qo’llab quvvatlaydi. Variant turidagi o’zgaruvchiga qiymatlar berishda Visual Basic muhiti bu qiymatlarning birqancha qulayliklarini qo’llaydi. Masalan, agar Variant turidagi o’zgaruvchiga kasr qismiga egamas katta bo’lmagan sonli qiymat o‘zlashtirilgan bo’lsa, unda Integertasavvuri ishlatiladi, agar kasr son o’zlashtirilgan bo’lsa, unda Double ichki tasavvuri ishlatiladi.