Variant type (COM)
متغیر کچھ پروگرامنگ زبانوں میں ڈیٹا ٹائپ ہے، خاص طور پر بصری بنیادی، او سی اے ایم ایل، ڈیلفی اور سی + + جب جزو آبجیکٹ ماڈل کا استعمال کرتے ہیں۔ یہ کمپیوٹر سائنس میں اسی نام کے تصور کا نفاذ ہے۔ ویژول بیسک (اور ویژول بیسک فار ایپلی کیشنز) میں متغیر ڈیٹا ٹائپ ایک ٹیگڈ یونین ہے جسے کسی بھی دوسرے ڈیٹا ٹائپ کی نمائندگی کے لیے استعمال کیا جا سکتا ہے (مثال کے طور پر، انٹیجر، فلوٹنگ پوائنٹ، سنگل اور ڈبل پریسیشن، آبجیکٹ وغیرہ)۔ سوائے فکسڈ لمبائی والے سٹرنگ کی قسم کے۔ بصری بنیادی میں، کوئی بھی متغیر جس کا واضح طور پر اعلان نہیں کیا گیا ہے یا جس کی قسم کا واضح طور پر اعلان نہیں کیا گیا ہے، اسے متغیر سمجھا جاتا ہے۔ اگرچہ واضح طور پر اعلان شدہ متغیرات کے استعمال کی سفارش نہیں کی جاتی ہے، لیکن وہ اس وقت کارآمد ثابت ہو سکتے ہیں جب مطلوبہ ڈیٹا ٹائپ صرف رن ٹائم پر معلوم ہو، جب ڈیٹا ٹائپ کے مختلف ہونے کی توقع ہو، یا جب اختیاری پیرامیٹرز اور پیرامیٹر صفوں کی خواہش ہو۔ درحقیقت، متحرک قسم کے نظام والی زبانوں میں اکثر متغیرات کے لیے واحد دستیاب قسم کے طور پر متغیر ہوتے ہیں۔ بصری بنیادی. NET میں بڑی تبدیلیوں میں، ایک. NET زبان ہونے کے ناطے، مختلف قسم کو. NET آبجیکٹ ٹائپ سے تبدیل کر دیا گیا۔ تصور میں مماثلت ہے، لیکن بڑے فرق بھی ہیں، اور ان دونوں اقسام کے درمیان کوئی براہ راست تبدیلی موجود نہیں ہے۔ تبادلوں کے لیے، جیسا کہ ضرورت پڑ سکتی ہے اگر بصری بنیادی. NET کوڈ بصری بنیادی 6 COM آبجیکٹ کے ساتھ تعامل کر رہا ہو، تو عام طریقہ کار. NET مارشلنگ کا استعمال کرنا ہے۔ ویژول بیسک میں مثالیں، اے نامی متغیر کو یا تو واضح طور پر یا مضمر طور پر اعلان کیا جا سکتا ہے: ڈیلفی میں ڈم اے ڈم اے کو متغیر کے طور پر، اے نامی متغیر کو درج ذیل طریقے سے اعلان کیا جاتا ہے: ور اے: متغیر ؛ فارمیٹ مختلف قسم کا ایک متغیر، جسے "متغیر" کہا جاتا ہے، جیسا کہ ویژول بیسک میں بیان کیا گیا ہے، کو 16 بائٹس اسٹوریج کی ضرورت ہوتی ہے اور اس کی ترتیب مندرجہ ذیل ہے: اقسام متغیرات کی کچھ مثالیں جن کا سامنا ویژول بیسک میں ہو سکتا ہے۔ دوسری زبانوں میں دیگر اقسام کا بھی استعمال کیا جا سکتا ہے۔ 1 ایک غیر ابتدائی قسم کی قسم۔ ڈیٹا بیس میں این یو ایل ایل ویلیو کی قسم، یعنی غیر ابتدائی نہیں، اور نہ ہی سی + + نیل پوائنٹر کے مساوی۔ 3 گمشدہ دلائل دراصل ایک مخصوص ایرر ویلیو ہیں جس کا عنوان ہے "پیرامیٹر نہیں ملا"۔ 4 آبجیکٹ کی قسم کو کالعدم حوالہ پر سیٹ کیا گیا ہے۔ 5 ٹائپ نام موجود آبجیکٹ کی کلاس کا نام واپس کرے گا۔ ڈیٹا ایک انٹرفیس پوائنٹر ہوگا، یعنی ورچوئل میتھڈ ٹیبل (جو فنکشن پوائنٹرز کی ایک صف ہے) کے پوائنٹر کا پوائنٹر ہوگا۔ عام استعمال کلیکشنز او ایل ای آٹومیشن میں کلیکشن کلاس مختلف ڈیٹا اقسام کی اشیاء کو اسٹور کر سکتی ہے۔ چونکہ ان آئٹمز کی ڈیٹا ٹائپ کو مرتب کرنے کے وقت معلوم نہیں کیا جا سکتا، اس لیے آئٹمز کو جمع کرنے اور ان سے آئٹمز کو بازیافت کرنے کے طریقے مختلف ہوتے ہیں۔ اگر ویژول بیسک میں فار ایوری کنسٹرکٹ استعمال کیا جاتا ہے، تو آئیٹریٹر متغیر آبجیکٹ ٹائپ، یا مختلف قسم کا ہونا چاہیے۔ ڈسپیچ میتھڈ کالز او ایل ای آٹومیشن میں آئی ڈسپیچ انٹرفیس کا استعمال اس وقت کیا جاتا ہے جب کسی شے کی کلاس کو پہلے سے معلوم نہیں کیا جا سکتا۔ لہذا جب اس طرح کے آبجیکٹ پر کسی طریقہ کار کو کال کیا جاتا ہے تو مرتب کرنے کے وقت دلائل کی اقسام اور واپسی کی قیمت معلوم نہیں ہوتی ہے۔ دلائل کو متغیرات کی ایک صف کے طور پر منظور کیا جاتا ہے اور جب کال مکمل ہو جاتی ہے تو ایک متغیر واپس کر دیا جاتا ہے۔ اختیاری پیرامیٹرز بصری بنیادی میں ایک طریقہ کار کی دلیل کو اختیاری مطلوبہ الفاظ سے پہلے لگا کر اختیاری قرار دیا جا سکتا ہے۔ جب دلیل کو خارج کر دیا جاتا ہے تو بصری بنیادی طریقہ کار کو ایک خاص قدر دیتا ہے، جسے اوپر کی میز میں مسنگ کہا جاتا ہے، جس سے یہ ظاہر ہوتا ہے کہ دلیل غائب ہے۔ چونکہ قیمت یا تو فراہم کردہ قیمت یا خصوصی قیمت ہو سکتی ہے، اس لیے ایک متغیر استعمال کیا جانا چاہیے۔ فنکشن گیٹ ٹیکسٹ (اختیاری بائی ویل انڈیکس) بطور سٹرنگ اگر گمشدہ ہے (انڈیکس) تو گیٹ ٹیکسٹ = آئٹم (کرنٹ آئٹم) ورنہ گیٹ ٹیکسٹ = آئٹم (انڈیکس) اینڈ اگر اینڈ فنکشن اسی طرح کلیدی لفظ پیرام آرے کو مندرجہ ذیل تمام دلائل کو مختلف صف میں منتقل کرنے کے لیے استعمال کیا جا سکتا ہے۔ ٹیگڈ یونین قسم کے حوالہ جات بیرونی لنکس C + + Boost.Variant https://msdn.microsoft.com/en-ca/library/cc237865.aspx https://msdn.microsoft.com/en-us/library/windows/desktop/aa380072 (v = vs.85) بھی دیکھیں۔