متغیر Variant در ویژوال بیسیک

در مقالات قبلی با تعریف متغیرها در ویژوال بیسیک آشنا شدیم، حوزه ی اعتبار متغیرها و نحوه ی استفاده از آنها را یادگرفتیم و همچنین انواع متغیرها در ویژوال بیسیک را مرور کردیم، با متغیر Variant در ویژوال بیسیک قبلاً به صورت مختصر آشنا شدیم. در این مقاله میخواهیم به معرفی این متغیر بپردازیم.

مفهوم متغیر Variant در ویژوال بیسیک

متغیر نوع Variant در واقع هر نوع متغیری است که نوع آن توسط کاربر مشخص نشده است (اگر نوع متغیر را برای برنامه مشخص نکنید به صورت پیشفرش نوع آن Variant میباشد)، علاوه بر این، متغیر نوع Variant را میتوان به منظور انعطاف پذیر بودن کدها به جای هر نوع متغیر دیگر در ویژوال بیسیک قرار داد. همانند کدهای زیر که همگی یک متغیر (Variable1) از نوع Variant را در ویژوال بیسیک توصیف میکنند.

متغیر نوع Variant در ویژوال بیسیک همانطور که در جدول خلاصه انواع متغیرها نیز به آن اشاره شد، Type-Declaration Character ندارد.

متغیر Variant در ویژوال بیسیک

داده هایی قابل قبول برای متغیر Variant

پس اینکه یک متغیر به صورت Variant در ویژوال بیسیک تعریف شد، برنامه نویس میتواند داده های مختلف را با شرایط زیر به آن اختصاص دهد:

  • تمام انواع داده های در ویژوال بیسیک به غیر از متغیرهای رشته ای با طول ثابت (Fixed-Length Strings)
  • متغیرهایی که از نوع User-Defined هستند نمیتوانند Variant باشند.
  • همچنین متغیر Variant میتواند مقادیر خاص مانند Empty، Error، Nothing و Null را در خود جای دهد

داده های عددی میتوانند هر نوع عددی در بازه ی -۱٫۷۹۷۶۹۳۱۳۴۸۶۲۳۱۵E308 تا -۴٫۹۴۰۶۶E-324 برای مقادیر منفی و ۴٫۹۴۰۶۶E-324 تا ۱٫۷۹۷۶۹۳۱۳۴۸۶۲۳۱۵E308 برای اعداد مثبت باشند. به صورت کلی یک داده ی عددی از هر نوعی که باشد اگر به یک متغیر نوع Variant اختصاص یابد، در همان نوع باقی میماند، یعنی یک Integer اگر یه یک متغیر Variant اختصاص یابد همیشه Integer باقی میماند.

برای اطلاع از اینکه متغیر Variant داده ی خود را به چه صورت تشخیص داده است و چه نوع متغیری برای آن در نظر گرفته است میتوانید از توابع VarType یا TypeName استفاده نمایید.

متغیر Variant در ویژوال بیسیک

مقدار داده های عددی که به متغیر Variant اختصاص داده شده باشد ممکن است در اثر انجام عملیات ریاضی افزایش یابد و این مقدار افزایش باعث شود که داده در نوع اولیه ی خود قابل ذخیره شدن نباشد، مثلاً داده ابتدا از نوع Byte است و بعد از انجام عملیات ریاضی آنقدر بزرگ میشود که دیگر نمیتواند Byte باشد، به صورت خودکار متغیر Variant داده مورد نظر را به صورت Integer ذخیره میکند، اگر بزرگتر شد به صورت Long، بعد از آن Single و در نهایت به صورت Double ذخیره میکند.

اگر متغیر Variant داده ای از نوع Double، Currency یا Decimal را در بر داشته باشد که مقدار آن بیش از اندازه ی مجاز برای هریک از متغیرهای نامبرده باشد برنامه با خطا مواجه میشود.

اشتراک گذاری در شبکه های اجتماعی: share on facebook share on google plus share on linkedin

دیدگاهتان را بنویسید؟