PDA

View Full Version : سوال: سوالی درباره متغیر عمومی



mahdi_14263
سه شنبه 06 مرداد 1388, 15:19 عصر
با سلام من میخواستم بدونم چطور میشه در برنامه ی ویندوزی سی شارپ
متغیری رو معرفی کرد که تو همه ی فرمهای موجودبشه ازش استفاده کرد
تویه vb6 ما یه ماژول داشتیم که میتونستیم تو اونجا متغیر خودمون رو تعریف کنیم
و بعد هرجا که خواستیم ازش استفاده کنیم
تو سی شارپ چطوری میشه چنین کاری کرد
البته از static کمک گرفتم ولی مثل vb6 نمیشه جایی به صورت کلی ای متغیرها رو
معرفی کرد
ممنون که وقت گذاشتین

Unknownlive
سه شنبه 06 مرداد 1388, 15:50 عصر
شما می تونید بالای فرم به صورت Public بنویسید بعد تو کل فرم می شناسه بقیه فرم ها هم با پیاده سازی نمونه فرم می تونی به ان دسترسی پیدا کنی اگه می خواهی فرم را پیاده سازی نکنی Static را هم بعد از Public بنویس بعد دیگه نام فرم را ببر می تونی بهش دسترسی داتشه باشی البته نوع های Internal در کل فضای نامی دسترسی بگیری و Public Internal کلی تره اما واقعا هرچی جلو می ریم قواعد شی گرا زیر سوال می ره !!! می تونی هم تو کلاس بنویسی و هر بار با نام کلاس دسترسی بگیری ولی بدان که چیزی شبیه ماژول وجود نداره .!!!

SabaSabouhi
چهارشنبه 07 مرداد 1388, 10:32 صبح
با سلام
در واقع شما باید یک کلاس از نوع static به پروژه اضافه کنید ( فرم هم یک نوع کلاس هست ) و متغیرهای خودتون رو اونجا تعریف کنید.
تفاوتی که با VB داره اینه که هنگام استفاده از متغیر باید نام کلاس رو هم قید کنید.


برای تعریف:



public static class MyClass{
public static int MyInt;
}



برای استفاده:



MyClass.MyInt = 15;


صبا صبوحی

Unknownlive
چهارشنبه 07 مرداد 1388, 10:41 صبح
صبا جان اصلا نیازی نیست دیگه کلاس Static باشه کافیه متغیر Static باشه هرچند صحبت شما هم صحیح هست اما اصول را باید تا جای که میشه حفظ کرد

hozouri
چهارشنبه 07 مرداد 1388, 10:49 صبح
صبا جان اصلا نیازی نیست دیگه کلاس Static باشه کافیه متغیر Static باشه هرچند صحبت شما هم صحیح هست اما اصول را باید تا جای که میشه حفظ کرد

اصول بسته به برنامه نویس و پروژه متغیر است.

اونی که شما می فرمایید امنیت سطح دسترسی به اجزاء است (modifier) که در مورد static ها این مسئله کمی متفاوته.

من یه پروژه محسبات فرمول دارم به خاطر اینکه راحت تر باشم کلاس رو static کردم و داده هایی مثل پی , تسلا , اپسیلون و ... رو توی اون گذاشتم که از نظر وقتی وقتی حجم بالا بره این کار خیلی سریع تره.

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

Unknownlive
چهارشنبه 07 مرداد 1388, 10:58 صبح
اصول بسته به برنامه نویس و پروژه متغیر است.

اونی که شما می فرمایید امنیت سطح دسترسی به اجزاء است (modifier) که در مورد static ها این مسئله کمی متفاوته.

من یه پروژه محسبات فرمول دارم به خاطر اینکه راحت تر باشم کلاس رو static کردم و داده هایی مثل پی , تسلا , اپسیلون و ... رو توی اون گذاشتم که از نظر وقتی وقتی حجم بالا بره این کار خیلی سریع تره.

بعد اگر دسته بندی ها و قوائد برنامه نویسی رعایت بشه و برنامه طوری باشه که قابل انعطاف باشه این برنامه روی اصوله ...
تا وقتی میشه اصول را حفظ کرد برای چی زیر سوال ببریم منظور من هم از اصول همون امنیت های سطح دسترسی بود بعضی جاها Static نیازه اما تا میشه ننوشت برای چی بنویسیم تازه یه برنامه نویس نباید راحتی خودش را ببینه شما هم کار اشتباهی کردید من هم بشون نگفتم متغیر ها را Static نکنند من گفتم نیازی نیست که کلاس را Static بکنه چون رو کل کلاس اثر میزاره.فقط متغیر های که لازم داره را Static کنه !!! شما مطلب بنده را خوب نخواندید.

mahdi_14263
پنج شنبه 15 مرداد 1388, 11:18 صبح
با سلام دوباره خدمت شما خوبان
من یک مقدار از database خودم رو میخواستم به یک متغیر بدم چطوری باید این کار رو بکنم
فرض کنید که یک combobox درست کردم و دیتا سورسش رو به یه دیتا بایندیگ وصل کردم
و data member ش هم به یکی از فیلداش
حالا میخوام بدونم چطور میشه وقتی من یک مورد رو از combo انتخاب میکنم
مقدارمتغیر من که قبلا تعریف کردم نیز برابر یه فیلد دیگه از همین سطر از دیتابیس باشه که تو کامبو انتخاب کردم
ممنون که وقت گذاشتین

Mahdi.Kiani
پنج شنبه 15 مرداد 1388, 17:31 عصر
کاربر @ mahdi_14263 (http://www.barnamenevis.org/forum/member.php?u=90196) چیکار دارید می کنید؟
یک تاپیک پیدا کردید، هر چی سوال در زمینه سی شارپ دارید توی همین تاپیک مطرح می کنید؟
چند تا از اونا را دوستم آقای کشاورز زحمتشون را کشیدند ولی باز هم دست بردار نیستید!!!
قوانین و نحوه فعالیت در سایت را مطالعه بفرمائید چون اگر به این شکل پیش برید خسارات جبران ناپذیری متوجه شما خواهد بود!!!