PDA

View Full Version : سوال: مقدار دهی به متغییر داخلی یک شی



knight-rak
چهارشنبه 18 اسفند 1389, 14:02 عصر
سلام دوستان
چطور میشه به متغییر های داخلی اشیا مقدار دهی کرد
مثلا من 4 تا کامند دارم و هر کدوم دارای یه متغییر داخلی هستن که اسمشون هم برابر هست ولی خوب چون داخلی ( محلی ) هستش مقدارش رو فقط میشه توی همون کامند استفاده کرد

حالا من میخوام با که اون متغییر هایی که هر کدوم از کامند ها دارن توسط کاربر بشه مقدار دهی کردشون مثلا من میخوام وقتی برنامه اجرا شده روی کامند 1 کلیک کنم یه inputbox باز بشه ازم یه عددی رو بگیره بعد اونو به متغییر کامند 3 بده نه متغییر خودش ، که وقتی روی کامند 3 کلیک کردم مقدار دریافتی از طریق اون اینپوتباکس کامند 1 رو برام چاپ کنه

امیدوارم منظورم رو رسونده باشم فقط اگر میشه سریع تر کمک کنید چون خیلی کارم گیر هست و دیگه فرصتی ندارم

موفق باشید ....

knight-rak
چهارشنبه 03 فروردین 1390, 18:15 عصر
سلام
کسی نبود به این سوال من جواب بده ( یه سال گذشت هنوز کسی به جواب نرسیده :قهقهه::قهقهه::گیج: )

اگر جایی از سوال مبهم هستش بگید تا توضیح بیشتری بدم

موفق باشید ....

M.T.P
چهارشنبه 03 فروردین 1390, 19:45 عصر
متغیرها رو خارج از روال کلیک کامند تعریف کن.

knight-rak
پنج شنبه 04 فروردین 1390, 01:14 صبح
نه دیگه منظورم رو متوجه نشدید
من گفتم متغییر داخلی یه شی ( منظورم این بود که مثلا توی روال کلیک فلان اومدن متغیر var_x رو تعریف کردم )
حالا میخوام با یه تکست باکس این متغییر رو مقدار دهی کنم
نمیخوام که متغییر عمومی باشه حتما باید داخل همون روال باشه

موفق باشید ....

M.T.P
پنج شنبه 04 فروردین 1390, 11:17 صبح
نه دیگه منظورم رو متوجه نشدید
من گفتم متغییر داخلی یه شی ( منظورم این بود که مثلا توی روال کلیک فلان اومدن متغیر var_x رو تعریف کردم )
حالا میخوام با یه تکست باکس این متغییر رو مقدار دهی کنم
نمیخوام که متغییر عمومی باشه حتما باید داخل همون روال باشه

موفق باشید ....

شما هر متغیری رو در روال کلیک تعریف کنید با End Sub پروندش بسته میشه مگه اینکه بخواید تو همون روال مقدارش رو حفظ کنید که در این صورت باید متغیر رو به شکل زیر تعریف کرد.

static i as Integer

knight-rak
پنج شنبه 04 فروردین 1390, 15:42 عصر
ممنون ولی واقعا مثل اینکه هیچ ترفندی برای این کار وجود نداره

موفق باشید ....

returnx
پنج شنبه 04 فروردین 1390, 23:22 عصر
خودتون می گید متغیر داخلی یک شی!!
متغیر داخلی یک شی فقط با توابع (رویداد ها) خود آن شی قابل تغییر است به جز توابع ای که دوست یک کلاس باشند...

محسن واژدی
جمعه 05 فروردین 1390, 18:58 عصر
سلام علیکم
اینگونه که در پست اول نوشتین در همه دکمه ها متغیری با یک اسم نوشتین، به چنددلیل نمیتوانید با یک inputbox متغیر محلی رول دیگری را مقدار دهی کنید:


همانگونه که جناب ms2222 هم در پست 7 فرمودن چون متغیر موجود در روال مورد نظرتون محلیست به هیچ وجه قابل دسترسی توسط سایر روالها نیست که بتوان اونو مقدار دهی کرد مگر اینکه متغیر رول مقصد را در پارامترهای اون روال قرار بدین که امکان تغییر پارامترهای رویدادهای اشیایی نظیر دکمه ها امکان پذیر نیست
اگر هم بر فرض محال این عمل امکان پذیر بود چون متغیر روال مورد نظر هم نام متغیر موجود در روال فعلیست اولویت مقدار دهی با متغیریست که در روال فعلیست و در هرحالت متغیر موجود در روال فعلی مقدار دهی میشد نه متغیر موجود در روال مقصد

موفق باشید

knight-rak
جمعه 05 فروردین 1390, 19:58 عصر
سلام

منم گفتم که بیخیال هیچ راهی نیست
اون موقعی که من این سوال رو مطرح کرده بودم هر راهی به ذهنم میرسید رو امتحان کرده بودم و جواب نداده بود که خواستم متغییر داخلی یه شی رو مقدار دهی کنم
دلایلی هم که گفتید و میدونم و قبول دارم سوالم کلا بی منطق هستش

* موفق باشید ....