PDA

View Full Version : سوال: کمک برای پروژه مدیریت کتابخانه با استفاده از کلاس و فایل و Serialize و Desrialize



_Memol_
دوشنبه 04 اردیبهشت 1391, 17:25 عصر
سلام
همون طور که گفتم یه پروژه فورست ماژول دارم که باید بدون دیتابیس کار کنم:ناراحت:
پروژه مدیریت کتابخانه که شامل ثبت کتاب و عضو و ویریش آن ها و کتاب امانت دادن و .. هست
شروع به انجام پروژه کردم
من 3 تا کلاس دارم Book وMember وManage
مشکلاتمو میگم انشاله کمک کنید که رفع بشه(تا چهارشنبه باید تحویل بدم اگه نشه یه مدرک از دستم میره واقعا حیاتیه)
توو فرم ثبت اعضا
من توو دکمه ثبت میام کدعضو و نام و نام خانوادگی رو از ورود میگیرم و به عنوان یه نمونه از کلاس Member توو یه فایل serialize میکنم
مشکل1 : مشکلم این جاست که دوباره میخوام یه عضو دیگه رو وارد کنم نمیشه یعنی انگار فقط یه عضو (عضوآخری که وارد کردم توو فایل میمونه)
مشکل2 : توو فرم ویرایش اعضا میخوام توو یه listBox اطلاعات همه اعضا رو نشون بدم که رو هر کدو کلیک کردم بتونم ویرایش کنم که توو این جا هم فقط عضو آخر رو میبینم .
مشکل 3 : آیا میشه رو listbx مثل GridView متدی چیزی نداره که بگم هر خط که کلیک شد اطلاعاتشو توو textboxوlabel برام بیاره؟


فایل ضمیمه رو ببینید و کمک کنید

این کد صفح ثبت اعضا هست

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;

namespace BooksManagement
{
public partial class MemberSave : Form
{
public MemberSave()
{
InitializeComponent();
}

private void btnCancel_Click(object sender, EventArgs e)
{
this.Close();
}

private void btnSave_Click(object sender, EventArgs e)
{
Member m = new Member();
m.MemberSave(Convert.ToInt32(txtCodeMember.Text), txtNameMember.Text, txtxFamilyMember.Text);
Serialize(m);

txtCodeMember.Clear();
txtNameMember.Clear();
txtxFamilyMember.Clear();

}





private void Serialize(object s)
{
FileStream fs = new FileStream(@"c:\serial.txt", FileMode.OpenOrCreate);

BinaryFormatter bf = new BinaryFormatter();
bf.Serialize(fs, s);
fs.Close();
}

}
}


اینم کد صفحه ویرایش اعضا هست

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;

namespace BooksManagement
{
public partial class frmMemberUpdate : Form
{
public frmMemberUpdate()
{
InitializeComponent();
}

private void btnCancel_Click(object sender, EventArgs e)
{
this.Close();
}

private void frmMemberUpdate_Load(object sender, EventArgs e)
{

foreach (Member m in Deserialize<Member>())
{
lstMembers.Items.Add("\n" + m.CodeMember + " " + m.Family + " " + m.Name);
}

}


private T Deserialize<T>()
{
object Data;
FileStream fs = new FileStream(@"c:\serial.txt", FileMode.Open);
BinaryFormatter bf = new BinaryFormatter();
Data = bf.Deserialize(fs);
return (T)Data;

}


}
}