View Full Version : سوال: داده Variant
PAMO85
چهارشنبه 25 آذر 1388, 15:48 عصر
سلام کسی می دونه این جمله که در Msdn اومده یعنی چه؟
A Variant is a special data type that can contain any kind of data except fixed-length String data
داده نوع Variant می تواند شامل هر نوع داده ای باشد به جز رشته های با طول ثابت.
من یک متغیر string طول ثابت و یک Variant گرفتم خیلی راحت با یه انتساب String را داخل variant ریختم.
این مطلب چه جوری عملی انجام می شه؟
خیلی ممنون
scarce
چهارشنبه 25 آذر 1388, 21:33 عصر
سلام کسی می دونه این جمله که در Msdn اومده یعنی چه؟
A Variant is a special data type that can contain any kind of data except fixed-length String data
داده نوع Variant می تواند شامل هر نوع داده ای باشد به جز رشته های با طول ثابت.
من یک متغیر string طول ثابت و یک Variant گرفتم خیلی راحت با یه انتساب String را داخل variant ریختم.
این مطلب چه جوری عملی انجام می شه؟
خیلی ممنون
داده Variant یک داده ای هست که در زمان کد نویسی می تواند هر نوع داده ای در خود جای دهد
بدون تعریف کردن مثلا ما می خوایم کلمه ی سلام که داده از نوع string هست رو از textbox بگیرم
خوب ما اینطوری می نویسیم
Sub Command1_click()
x = text1.text
If x="سلام" Then
msbox x
End If
End Sub
این یک مثال خیلی ساده بود.
PAMO85
پنج شنبه 26 آذر 1388, 13:59 عصر
با تشکر
سوال من اینه که چرا میگن Vairant نمی تونه شامل string طول ثابت باشه؟
xxxxx_xxxxx
جمعه 27 آذر 1388, 08:54 صبح
سلام،
والا الان که میشه این کارو کرد، یعنی نوع داده Variant میتونه رشته هایی با طول ثابت رو دریافت کنه. شاید این موضوع مربوط به نسخه 4 یا 5 ویبی بوده!
PAMO85
جمعه 27 آذر 1388, 16:17 عصر
من msdn 2001 دارم این مطلبو اونجا دیدم و اینکه در مورد خاصیت passWordChar کنترل TextBox نوشته با MultiLine کار نمی کنه اگه Msdn جدیدتر دارید لطفا ببینید در مورد این مطلب و مطلب قبلی چیز جدیدی نوشته.
متشکرم
Felony
جمعه 27 آذر 1388, 16:57 عصر
من msdn 2001 دارم این مطلبو اونجا دیدم و اینکه در مورد خاصیت passWordChar کنترل TextBox نوشته با MultiLine کار نمی کنه اگه Msdn جدیدتر دارید لطفا ببینید در مورد این مطلب و مطلب قبلی چیز جدیدی نوشته.
متشکرم
در مورد خاصیت PasswordChar درسته و نباید هم در زمان MultiLine بودن کار کنه ، چون قرار نیست کاربر چندصد هزار کارکتر رمز وارد کنه !
xxxxx_xxxxx
جمعه 27 آذر 1388, 18:50 عصر
من msdn 2001 دارم این مطلبو اونجا دیدم و اینکه در مورد خاصیت passWordChar کنترل TextBox نوشته با MultiLine کار نمی کنه اگه Msdn جدیدتر دارید لطفا ببینید در مورد این مطلب و مطلب قبلی چیز جدیدی نوشته.
متشکرم
اگر MSDN 2001 که پس نسبت به زمان ریلیز VB6 جدید هست.
به این خاط میگم شاید مربوط به نسخه های قدیمی باشه چون این نوع داده 16 بایت هست. حالا اگر رشته ای با طول ثابت مثلاً 20 کاراکتر بهش نسبت داده بشه، مشکل ایجاد میشه و احتمالاً قبول نمیکنه.
اما در VB6 عمل تبدیل نوع (TypeCasting) به طور خودکار انجام میشه، یعنی اگر شما یک متغیر از نوع داده Variant داشته باشید و بعد محتوای string بهش بدید اونوقت نوع داده به String تغییر میکنه. به همین خاطر هست که در مقابل انجام این عمل با خطا مواجه نمیشید و فکر می کنید که نوع داده Variant این مقدار رو قبول کرده در حالیکه اینطور نیست، نوع داده تغییر کرده.
FastCode
یک شنبه 29 آذر 1388, 23:27 عصر
سورس کد variant رو قبلا" خوندم. یادمه که برای بعضی داده ها از پوینتر استفاده میکرد.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.