PDA

View Full Version : مبتدی: ایجاد یک شئ و دخیره آن در ArrayList



parva-88
سه شنبه 22 تیر 1389, 20:45 عصر
سلام میخاستم که از یه گروه آموزشی(شامل کد گروه و نام گروه و نام مدیر گروه ) با کلیک دکمه ی تایید یه شی ایجاد کنم و این شی رو در arraylist ذخیره کنم برا همین اینکارو کردم به نظرتون درسته؟؟ اگه غلطه چی کی کار میتونم بکنم؟؟؟


string f = "";
private void btnregister_Click(object sender, EventArgs e)
{
educate.Groupname = txtbxgrname.Text;
f += educate.Groupname;
txtbxgrname.Text = "";
educate.Groupcode = int.Parse(txtbxgrcode.Text);
f += educate.Groupcode;
txtbxgrcode.Text = "";
educate.Buildyear = int.Parse(txtby.Text);
f += educate.Buildyear;
txtby.Text = "";
educate.Buildterm = int.Parse(txtbt.Text);
f += educate.Buildterm;
txtbt.Text = "";
educate.Grbossf = txtbbossn.Text;
f += educate.Grbossf;
txtbbossn.Text = "";
educate.Grbossl = txtbbossl.Text;
f += educate.Grbossl;
txtbbossl.Text = "";
educate.Grassistantf = txtbassisn.Text;
f += educate.Grassistantf;
txtbassisn.Text = "";
educate.Grassistantl = txtbbossl.Text;
f += educate.Grassistantl;
txtbassisl.Text = "";
main.Educationalgrlist.Add(f);
// label12.Text += main.Educationalgrlist.ToString();




}

vandermond
سه شنبه 22 تیر 1389, 21:09 عصر
ميخواي يه شيء بسازي؟؟؟ پس چرا همش رو توي يك رشته گذاشتي اونم پشت سرهم. مگه بعدا نميخواي اين اطلاعات رو استفاده كني؟ اونوقت چه طور ميخاي اسم گروه رو مثلا از بقيه رشته جدا كني؟؟؟
اگه ميخواي همينطور با رشته باشه حداقل اين تيكه رو به همش اضافه كن كه هر اطلاعاتش توي يك خط باشه و بعد بتوني ازش استفاده كني:

f += educate.Groupname+"\n";
اين كار رو براي بقيه هم بكن.

ولي اگه ميخواي شيء داشته باشي واقعن، بايد يك كلاس تعريف كني و تمام اين خصوصيت ها (نام گروه و...) رو توي اون بزاري و بعد براي هر گروه يكي از اون رو نمونه سازي و در نهايت هم توي آرايه بزاري. اگه خاستي بگو باز هم بگم...

vandermond
سه شنبه 22 تیر 1389, 21:51 عصر
اين برنامه رو ببين (با كلاس برات باكلاسش كردم:لبخند:)
من همش رو فيلد گزاشتم به جز اوليش(به خاطر كمبود وقت). توي برنامه مزيت خاصيت بر فيلد رو گفتم.
كامل هم ننوشتم(وقت) و اون قسمت ها رو هم تو برنامه توضيح دادم كه چه طور كامل كنيد(براي خودتون هم اينطوري بهتره:لبخندساده:)


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

vandermond
چهارشنبه 23 تیر 1389, 11:31 صبح
دوست عزيز اي كاش* اين پستت رو ادامه همون تاپيك قبلي ميزاشتي. مطمئن باش اون طوري هم جواب ميگيري چون تاپيكت مياد بالا. ولي اينطوري ممكنه مديراي سايت بيان اين تاپيكت رو حذف كنن:چشمک:

خب براي اين مشكلت يه روش خيلي عالي هست به نام Override كردن كه توي كلاسي كه تعريف كردي(همون EducationGroup) متد ToString() رو Override ميكني و خيلي راحت تو برنامه ازش استفاده ميكني.
اون برنامه قبلي يه خورده مشكل داشت كه ديشب آخر شب تو تاپيك قبلي نوشتم ولي نميدونم چرا الان نيست (احتمالا يادم رفته بفرستمش:لبخند:).
حالا همون برنامه رو با اون اصلاحات قبلي به اضافه جواب اين سوال جديدتون** گذاشتم. ميتونيد آخر كلاس EducationGroup رو نگاه كنيد كه Override رو ببينيد و توي برنامه اصلي هم تغييرات ديگه كه تو متن برنامه توضيح دادم.


پاورقي:
*اين نوشته رو براي اون تاپيكي كه حذف شده نوشته بودم. تغييرش ندادم كه بينيد پيش بينيم درست دراومد.
**سوال جديدتون نشون دادن اطلاعات شيء ساخته شده در يك ليبل بود. تو تاپيكي كه حذف شد(روحش شاد)

parva-88
چهارشنبه 23 تیر 1389, 12:34 عصر
مرسی و سوال آخر چطور میتونم با دادن کد گروه و زدن یک دکمه بقیه ی اطلاعات گروه رو بیارم به اصطلاح search کنم؟؟:عصبانی++:

vandermond
چهارشنبه 23 تیر 1389, 13:00 عصر
دوباره سلام
باز هم براتون تو برنامه نوشتم. اين يكي فقط يه حلقه ميخواست كه بگرده و... باز هم برنامه كامل شده (البته اون قسمت هايي كه اول كامل نكردم رو باز هم كامل نكردم:لبخند:) رو ميزارم:

موفق باشيد

parva-88
چهارشنبه 23 تیر 1389, 17:36 عصر
ا تشکر از جواباتون تقریبا دارم رو پروژه ی سایت دانشگا کار میکنم اگه آدرس ایمیلتنو داشتم فایل رو براتون attach میکردم ولی....:گریه:

parva-88
چهارشنبه 23 تیر 1389, 19:32 عصر
بازم سلام من روشی رو که برای search کردن گفتین با این کد نوشتم ولی فقط آخرین گروهی که وارد کردم رو search میکنم میاره و گروه های قبلی رو که وارد کردم وقتی search میکنم نمیاره چرا؟؟تو کد مورد هس؟؟


private void btnsearch_Click(object sender, EventArgs e)
{

foreach (EducationGroup edGrp in main.Educationalgrlist)
{
if (edGrp.Groupcode == int.Parse(txtbxgrcode.Text))
{

txtbxgrname.Text += edGrp.Groupname;

txtbbossn.Text += edGrp.Grbossf;
txtbbossl.Text += edGrp.Grbossl;
txtbassisn.Text += edGrp.Grassistantf;
txtbassisl.Text += edGrp.Grassistantl;
txtbt.Text += edGrp.Buildterm;
txtby.Text += edGrp.Buildyear;
}
}

}

:گریه:

vandermond
چهارشنبه 23 تیر 1389, 20:12 عصر
ا تشکر از جواباتون تقریبا دارم رو پروژه ی سایت دانشگا کار میکنم اگه آدرس ایمیلتنو داشتم فایل رو براتون attach میکردم ولی....:گریه:
ممنون از لطفتون.
ايميل من: vandermond2006@yahoo.com
(ايميل اعضاي سايت رو با كليك روي اسم اونها و رفتن به مشخصات اونها ميتونيد ببينيد)


بازم سلام من روشی رو که برای search کردن گفتین با این کد نوشتم ولی فقط آخرین گروهی که وارد کردم رو search میکنم میاره و گروه های قبلی رو که وارد کردم وقتی search میکنم نمیاره چرا؟؟تو کد مورد هس؟؟
دوست عزيز من توي اين كد مشكلي نديدم. اگه ميشه فايل برنامه رو بزاريد كه دوباره نگاه كنم. اگه شد درستش كنم.
البته يه مشكلي كه احساس ميكنم اينه كه شما همون تكست باكسي كه توش كد گروه رو وارد ميكنيد و ثبت ميكنيد گروه رو، همون تكست باكس رو هم براي جستجو در نظر گرفتيد. اگه يه تكست باكس مخصوص جستجو بزاريد ممكنه درست بشه.
در هر صورت اگه درست نشد فايل برنامه رو بزاريد ببينم.

vandermond
چهارشنبه 23 تیر 1389, 23:27 عصر
دوست عزيز
برنامه تون رو ديدم. يه ايميل بهتون فرستادم و توضيحاتي دادم كه متاسفانه نتونستم مشكلتون رو حل كنم.
:خجالت: