نمایش نتایج 1 تا 15 از 15

نام تاپیک: نحوه ذخیره و بازیابی اطلاعات به وسیله serialization در دیسک

  1. #1

    نحوه ذخیره و بازیابی اطلاعات به وسیله serialization در دیسک

    سلام.پروژه ای دارم بنویسم که یه کلاس پایه به نام شخص داره و دو کلاس دانشجو و استاد از کلاس پایه ارث میبرند و یک کلاس درس نیز وجود داره.کلاس دانشجو باید تابعی مثل Add course دارشته باشه که به صورت چند ریختی از کلاس پایه خود (شخص) به ارث ببره و پیاده سازی مجدد گردد.
    میخوام یه لیست باکس داشته باشم که مشخصات دانشجویان در آن لیست شده باشه و با انتخاب هر سطح در listview یا listbox مشخصات دروس اخذ شده را از فایل نمایش دهد و با گزینه اضافه کردن درس انتخاب واحد انجام شود.
    نمی دونم چطور باید از مکانیزم serialization برای ذخیره و بازیابی اطلاعات استفاده کنم.لطفا راهنمایی کنید.

  2. #2

    نقل قول: نحوه ذخیره و بازیابی اطلاعات به وسیله serialization در دیسک

    کدهایی که تا الان نوشتی رو بزار.

  3. #3

    نقل قول: نحوه ذخیره و بازیابی اطلاعات به وسیله serialization در دیسک

    نقل قول نوشته شده توسط Mahmoud.Afrad مشاهده تاپیک
    کدهایی که تا الان نوشتی رو بزار.
    کلاس ها رو نوشتم فقط که هنوز تکمیل نیس.یه کد از نحوه استفاده از شیوه serialization رو برام بنویسی کارم راه میوفته.

  4. #4

    نقل قول: نحوه ذخیره و بازیابی اطلاعات به وسیله serialization در دیسک

    میتونی با جستجو مثالهای زیادی رو هم در msdn و هم سایتهای دیگه پیدا کنی.

    کلاس ها رو با Attribute زیر مشخص میکنی

    [Serializable]
    class MyClass
    {
    //...
    }

    حالا فرضا یک لیست از این کلاس داری
            List<MyClass> mc = new List<MyClass>();

    که بعد از مقداردهی به این لیست
    به این صورت ذخیره میکنی

    private void Save()
    {
    BinaryFormatter bf = new BinaryFormatter();
    using (Stream sw = File.Open(Application.StartupPath + "//MM", FileMode.OpenOrCreate))
    {
    bf.Serialize(sw, mc);
    }
    }

    به این صورت هم میخونی و تبدیل به لیست میکنی:

    private void Load()
    {
    BinaryFormatter bf = new BinaryFormatter();
    using (Stream sr = File.Open(Application.StartupPath + "//MM", FileMode.Open))
    {
    object obj = bf.Deserialize(sr);
    mc = obj as List<MyClass>;
    }
    }


    برای اینکه به ازای هر لیست یک فایل نداشته باشی میتونی همه کلاسها و متدهای مورد نیازت رو در یک کلاس مثلا به نام University قرار بدی و موقع ذخیره و بازیابی شئ ای از این کلاس رو ذخیره و بازیابی کنی تا یک فایل داشته باشی.

  5. #5

    Thumbs up نقل قول: نحوه ذخیره و بازیابی اطلاعات به وسیله serialization در دیسک

    نقل قول نوشته شده توسط Mahmoud.Afrad مشاهده تاپیک
    برای اینکه به ازای هر لیست یک فایل نداشته باشی میتونی همه کلاسها و متدهای مورد نیازت رو در یک کلاس مثلا به نام University قرار بدی و موقع ذخیره و بازیابی شئ ای از این کلاس رو ذخیره و بازیابی کنی تا یک فایل داشته باشی.
    دقیقا نمیدونم چطور پیاده سازیش کنم.یعنی کلاس پایه رو University کنم؟خراب میشه اینطوری تمام کلاسهام.

  6. #6

    نقل قول: نحوه ذخیره و بازیابی اطلاعات به وسیله serialization در دیسک

    نه، منظورم اینه که همه کلاسهات رو در یک کلاس به اسم University قرار بدی و شئ ای ازش بسازی و ...
    ذخیره و بازیابی رو هم با همین شئ انجام بدی

    [Serializable]
    class University
    {
    [Serializable]
    abstract public class Person
    {
    private string name;

    public string Name
    {
    get { return name; }
    set { name = value; }
    }
    }
    [Serializable]
    public class Student : Person
    {

    }
    [Serializable]
    class Teacher : Person
    {

    }

    [Serializable]
    class Course
    {

    }

    List<Student> _students;

    internal List<Student> Students
    {
    get { return _students; }
    set { _students = value; }
    }

    List<Teacher> _teachers;

    internal List<Teacher> Teachers
    {
    get { return _teachers; }
    set { _teachers = value; }
    }

    public University()
    {
    Students = new List<Student>();
    Teachers = new List<Teacher>();
    }
    }


    private void Save(University u)
    {
    BinaryFormatter bf = new BinaryFormatter();
    using (Stream sw = File.Open(Application.StartupPath + "//MM", FileMode.Create))
    {
    bf.Serialize(sw, u);
    }
    }

    private University Load()
    {
    BinaryFormatter bf = new BinaryFormatter();
    using (Stream sr = File.Open(Application.StartupPath + "//MM", FileMode.Open))
    {
    object obj = bf.Deserialize(sr);
    return obj as University;
    }
    }

  7. #7

    نقل قول: نحوه ذخیره و بازیابی اطلاعات به وسیله serialization در دیسک

    در رابطه با خط 32 تا 54 یه توضیحی میدی؟

  8. #8

    نقل قول: نحوه ذخیره و بازیابی اطلاعات به وسیله serialization در دیسک

    خط 32 یک فیلد از جنس لیستی از دانش آموزان هست. خط 34 تعریف پراپرتی دانش آموزان هست که فیلد خط قبلی رو کپسوله کرده (در مورد تعریف پراپرتی تحقیق کن)
    خط 54 هم که خالیه. دقیقا کدوم خط.
    بهتره کدهای خودت رو بزاری. و اگر قابل فهم نیست بهتره بی خیال کد من بشی و کد خودت رو درست کنی.

  9. #9

    نقل قول: نحوه ذخیره و بازیابی اطلاعات به وسیله serialization در دیسک

    نقل قول نوشته شده توسط Mahmoud.Afrad مشاهده تاپیک
    خط 32 یک فیلد از جنس لیستی از دانش آموزان هست. خط 34 تعریف پراپرتی دانش آموزان هست که فیلد خط قبلی رو کپسوله کرده (در مورد تعریف پراپرتی تحقیق کن)
    خط 54 هم که خالیه. دقیقا کدوم خط.
    بهتره کدهای خودت رو بزاری. و اگر قابل فهم نیست بهتره بی خیال کد من بشی و کد خودت رو درست کنی.
    کد هارو متوجه ام ولی می خوام بدونم ضروریه؟نمیشه بعد کلیک رو دکمه لیست رو بسازم؟

  10. #10

    نقل قول: نحوه ذخیره و بازیابی اطلاعات به وسیله serialization در دیسک

    نه مشکلی نداره در این حالت لیستی که ساختی رو به پارامتر دوم Serialize نسبت میدی(نکته مهم اینه که کلاسهات رو با attribute معرفی شده مشخص کنی. لیست و آرایه و... همه آبجکت هستند و پارامتر دوم Serialize اونها رو میپذیره.).

  11. #11

    نقل قول: نحوه ذخیره و بازیابی اطلاعات به وسیله serialization در دیسک

    بعد از load کردن فایل حاوی اطلاعات چطور به لیست باکس یا لیست ویو انتقال بدم؟

  12. #12

    Question نقل قول: نحوه ذخیره و بازیابی اطلاعات به وسیله serialization در دیسک


    private void button2_Click(object sender, EventArgs e)
    {
    List<daneshgah.University.Course> a = new List<daneshgah.University.Course>();
    BinaryFormatter bl = new BinaryFormatter();
    using (Stream sr = File.Open(Application.StartupPath + "//MM.txt", FileMode.Open))
    {
    object obj = bl.Deserialize(sr);

    a= obj as List<daneshgah.University.Course>;

    foreach (daneshgah.University.Course child in a)
    {
    listBox2.Items.Add(child);
    sr.Close();
    }
    }
    }

    این کد فقط آخرین متنی که در فایل ذخیره کردم رو در لیست باکس نمایش میده.من میخوام تمام ورودی ایی که ذخیره کردم رو نمایش بده.
    آخرین ویرایش به وسیله Mahmoud.Afrad : پنج شنبه 29 خرداد 1393 در 17:55 عصر

  13. #13

    نقل قول: نحوه ذخیره و بازیابی اطلاعات به وسیله serialization در دیسک

    اگه لطف کنید جواب بدید خیلی ممنون میشم.بخدا خیلی زمان ندارم.

  14. #14

    نقل قول: نحوه ذخیره و بازیابی اطلاعات به وسیله serialization در دیسک

    نقل قول نوشته شده توسط hawk_eye مشاهده تاپیک

    private void button2_Click(object sender, EventArgs e)
    {
    List<daneshgah.University.Course> a = new List<daneshgah.University.Course>();
    BinaryFormatter bl = new BinaryFormatter();
    using (Stream sr = File.Open(Application.StartupPath + "//MM.txt", FileMode.Open))
    {
    object obj = bl.Deserialize(sr);

    a= obj as List<daneshgah.University.Course>;

    foreach (daneshgah.University.Course child in a)
    {
    listBox2.Items.Add(child);
    sr.Close();
    }
    }
    }

    این کد فقط آخرین متنی که در فایل ذخیره کردم رو در لیست باکس نمایش میده.من میخوام تمام ورودی ایی که ذخیره کردم رو نمایش بده.
    اینکه کد لود هستش. باید کد ذخیره رو بزاری.
    احتمالا در دکمه ذخیره لیست جدید رو میسازی یکی بهش اضافه میکنی و ذخیره میکنی در حالی که در لودفرم یا سازنده فرم باید لیست رو بسازی.

  15. #15

    نقل قول: نحوه ذخیره و بازیابی اطلاعات به وسیله serialization در دیسک

    بسیار ممنونم از توضیحاتتون
    جامع و گویا بود

تاپیک های مشابه

  1. ذخیره و بازیابی اطلاعات در سی
    نوشته شده توسط Arash m در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 6
    آخرین پست: شنبه 15 تیر 1387, 23:57 عصر
  2. نحوه ذخیره و بازیابی تصویر در بانک اطلاعاتی
    نوشته شده توسط hassan_kahrizy در بخش دسترسی به داده ها (ADO.Net و LINQ و ...)
    پاسخ: 41
    آخرین پست: یک شنبه 19 خرداد 1387, 23:51 عصر
  3. ذخیره و بازیابی اطلاعات رکورد ها در فایل در پاسکال
    نوشته شده توسط مهدی رحیم زاده در بخش برنامه نویسی در Delphi
    پاسخ: 3
    آخرین پست: دوشنبه 08 بهمن 1386, 17:16 عصر
  4. ذخیره و بازیابی اطلاعات جدول بر روي هارد
    نوشته شده توسط rostamedastan در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 1
    آخرین پست: دوشنبه 31 مرداد 1384, 03:25 صبح
  5. کد برای ذخیره و بازیابی اطلاعات در DataBase توسط vb.net
    نوشته شده توسط programmermp در بخش VB.NET
    پاسخ: 2
    آخرین پست: چهارشنبه 28 اردیبهشت 1384, 22:54 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •