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

نام تاپیک: ازاین کدبراذخیره کردن فایل توسطxmlاستفاده میکنم

  1. #1
    کاربر دائمی آواتار hadis shaeidi
    تاریخ عضویت
    اردیبهشت 1390
    پست
    148

    ازاین کدبراذخیره کردن فایل توسطxmlاستفاده میکنم

    مشکل اینه که موقع ذخیره توصفحه جداگانه ذخیره میکنه وموقع لودفقطآخرین چیزی که ذخیره شده میادیه برنامه تحت شبکست که لیست سمت سرورنام کلاینتهاروداره
    XmlTextWriter XmlWrt = newXmlTextWriter("test2.xml", ASCIIEncoding.Default);
    XmlWrt.Formatting =
    Formatting.Indented;
    XmlWrt.WriteStartDocument();
    XmlWrt.WriteStartElement(
    "configuration");
    Application.DoEvents();
    for (int i = 0; i < clients.Count; i++)
    if (listViewClients.SelectedItems.Count != 0)
    {
    XmlWrt.WriteStartElement(
    "general");
    XmlWrt.WriteElementString(
    "name", listViewClients.Items[i].Text.ToString());
    XmlWrt.WriteEndElement();
    }
    XmlWrt.WriteEndElement();
    XmlWrt.WriteEndDocument();
    XmlWrt.Close()


  2. #2
    کاربر دائمی آواتار hadis shaeidi
    تاریخ عضویت
    اردیبهشت 1390
    پست
    148

    نقل قول: ازاین کدبراذخیره کردن فایل توسطxmlاستفاده میکنم

    این آخرشه اگه واضح نیومده
    XmlWrt.WriteEndElement();
    }
    XmlWrt.WriteEndElement();
    XmlWrt.WriteEndDocument();
    XmlWrt.Close();
    چیکارکنم که هروقت تکی ذخیره میکنم ودوباره میخوام نام کلاینت دیگه روذخیره کنم همه باهم پشت سرهم ذخیره بشن نه توی صفحه جداگانه که برالودکردن باهم بیان

  3. #3
    کاربر دائمی آواتار nilmil_nil
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    بندر گناوه
    سن
    36
    پست
    598

    نقل قول: ازاین کدبراذخیره کردن فایل توسطxmlاستفاده میکنم

    دوست عزیز اگه اطلاعاتت شبیه به یه جدول دیتابیس هست میتونی اونا رو بریزی توی یه دیتاست و با دستور WriteXML , ReadXML خود کلاس دیتاست استفاده کنی دیگه همچین مشکلی نداری

  4. #4
    کاربر دائمی آواتار hadis shaeidi
    تاریخ عضویت
    اردیبهشت 1390
    پست
    148

    نقل قول: ازاین کدبراذخیره کردن فایل توسطxmlاستفاده میکنم

    ممنون ازپاسختون
    من یک لیست یعنیlist viewدرسمت برنامه سرورم دارم وزمانی که برنامه سمت کلاینت اجرامیشود نام آن یعنیclientnameکه اونو تومتغیرnameذخیره کردم تواین لیست نمایش داده میشوندحالا میشه اطلاعاتوتوی دیتاست بریزم
    اگه میشه لطف کنیددستوراتشوکامل برام بگید
    موفق باشید

  5. #5
    کاربر دائمی آواتار nilmil_nil
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    بندر گناوه
    سن
    36
    پست
    598

    نقل قول: ازاین کدبراذخیره کردن فایل توسطxmlاستفاده میکنم

    آره خوب میشه
    شما یه دیتا ست تعریف کن
    بعد براش یه تیبل اضافه کن و به تعدادی که میخوای برای تیبل ستون بساز و هر دفه که لازمه براش سطر اضافه کن و اونا رو توی فایل XML ذخیره کن بعد بخون و دوباره تغییراتی که میخوای رو ذخیر کن من یه مثال
    برات میزنم


    DataSet ds = new DataSet();
    ds.Tables.Add("Users");
    ds.Tables["Users"].Columns.Add("Name");
    ds.Tables["Users"].Columns.Add("Family");
    ds.Tables["Users"].Columns.Add("Date");
    for (int i = 0; i < 5; i++)
    {
    ds.Tables["Users"].Rows.Add("User Name : " + i.ToString(),
    "User Family : " + i.ToString(),
    "User Date : " + i.ToString());
    }
    ds.WriteXml("Users.xml");
    DataSet ds2 = new DataSet();
    ds2.ReadXml("Users.xml");
    for (int j = 0; j < ds.Tables["Users"].Rows.Count; j++)
    {
    listView1.Items.Add(ds2.Tables["Users"].Rows[j][0].ToString());
    listView1.Items
    [listView1.Items.Count - 1].SubItems.Add(ds2.Tables["Users"].Rows[j][1].ToString());
    listView1.Items
    [listView1.Items.Count - 1].SubItems.Add(ds2.Tables["Users"].Rows[j][2].ToString());
    }

  6. #6
    کاربر دائمی آواتار hadis shaeidi
    تاریخ عضویت
    اردیبهشت 1390
    پست
    148

    نقل قول: ازاین کدبراذخیره کردن فایل توسطxmlاستفاده میکنم

    بازم تشکرازلطفتون
    ولی من میخوام چیزی که ازلیست انتخاب میشه همون nameذخیره بشه اینوچطوراضافه کنم.مثل کدبالایی:"name", listViewClients.Items[i].Text.ToString()وشرط هم if (listViewClients.SelectedItems.Count != 0)
    یااگرهم نخوایم ازشرط استفاده کنیم بگیمname", listViewClients.selectedItems[i].Text.ToString() یعنی کلاینتی که ازلیست انتخاب شده روذخیره کن
    میشه راهنمایی کنید لطفا

  7. #7
    کاربر دائمی آواتار hadis shaeidi
    تاریخ عضویت
    اردیبهشت 1390
    پست
    148

    نقل قول: ازاین کدبراذخیره کردن فایل توسطxmlاستفاده میکنم

    همین کاری که گفتیدروانجام دادم ذخیره میکنه ولی بازم مثل قبل داخل یه صفحه جداگانه ذخیره میکنه وموقع لودآخری روفقط میاره
    DataSet ds = newDataSet();
    ds.Tables.Add(
    "Users");
    ds.Tables[
    "Users"].Columns.Add("Name");
    ds.Tables[
    "Users"].Rows.Add("User Name : " + listViewClients.SelectedItems[0].Text.ToString());
    ds.WriteXml(
    "Users.xml");
    DataSet ds2 = newDataSet();
    ds2.ReadXml(
    "Users.xml");
    for (int j = 0; j < ds2.Tables["Users"].Rows.Count; j++)
    {
    listViewClients.Items.Add(ds2.Tables[
    "Users"].Rows[j][0].ToString());
    }

  8. #8
    کاربر دائمی آواتار nilmil_nil
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    بندر گناوه
    سن
    36
    پست
    598

    نقل قول: ازاین کدبراذخیره کردن فایل توسطxmlاستفاده میکنم


    ds.Tables["Users"].Rows.Add("User Name : " + listViewClients.SelectedItems[0].Text.ToString())

    خوب معلومه یکی رو میاره چون شما name های توی ListView رو نمیزاری فقط یکیش رو میذاری
    باید با یه |for تمام اونا رو بریزی نه اونی که Select شده

  9. #9
    کاربر دائمی آواتار hadis shaeidi
    تاریخ عضویت
    اردیبهشت 1390
    پست
    148

    نقل قول: ازاین کدبراذخیره کردن فایل توسطxmlاستفاده میکنم

    اینوکه شمامیگیددرسته من انجام دادم ولی این لیست دوستان هست یعنی من ازلیست اصلی انتخاب میکنم وبه لیست دوستان اضافه میکنم حالامیخوام این لیست روذخیره کنم.
    DataSet ds = newDataSet();
    ds.Tables.Add(
    "Users");
    ds.Tables[
    "Users"].Columns.Add("Name");
    for (int i = 0; i < listView1.Items.Count; i++)
    {
    ds.Tables[
    "Users"].Rows.Add("User Name : " + listView1.Items[i].Text.ToString());
    }
    ds.WriteXml(
    "Users1.xml");
    خوب درست شدهرچی تولیست هست ذخیره میکنه ولی مشکل اینجاست که وقتی فرم رومیبندم ومیخوام کلاینت های دیگه ای که اضافه شدن روذخیره کنم میادتویه صفحه دیگه ذخیره میکنه درنتیجه قبلی ها برالودنشون داده نمیشن وفقط جدیداکه ذخیره شدن نشون داده میشه .
    درکل میشه گفت چطوری هرموقع ذخیره کردم دنباله همون صفحه ذخیره کنه نیادتوصفحه جداگانه.که موقع لوهمه روبیاره

  10. #10
    کاربر دائمی آواتار nilmil_nil
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    بندر گناوه
    سن
    36
    پست
    598

    نقل قول: ازاین کدبراذخیره کردن فایل توسطxmlاستفاده میکنم

    خوب مشکل اینجاست که WriteXML میاد لیست جدید رو جایگیزن لیست قبلی میکنه
    شما باید او لیست دوستان قدیمی رو هم به لیست جدید اضاف کنی و بعد WriteXML رو بزنی یعنی لیستی که میره واسه ذخیره باید هم لیست دوستان قدیمی باشه هم جدید و بعد ذخیره بشه

  11. #11

    نقل قول: ازاین کدبراذخیره کردن فایل توسطxmlاستفاده میکنم

    برای کار با xml از linq2xml استفاده کن .

  12. #12
    کاربر دائمی آواتار hadis shaeidi
    تاریخ عضویت
    اردیبهشت 1390
    پست
    148

    نقل قول: ازاین کدبراذخیره کردن فایل توسطxmlاستفاده میکنم

    این روشوبلدنیستم ولی تابه حال ازدوروشی که استفاده کردم بازم همین مشکلوداره که هرچی تولیسته ذخیره میکنه ولی برنامه که بسته میشه ودوبارهrunمیشه کلاینت های لیست جدیدروتوصفحه دیگه ذخیره کرده وموقع لودجدیدامیان ولی قدیمیانمیان.
    به نظرشماروشتون کارسازه؟چطوریه؟

  13. #13
    کاربر دائمی آواتار nilmil_nil
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    بندر گناوه
    سن
    36
    پست
    598

    نقل قول: ازاین کدبراذخیره کردن فایل توسطxmlاستفاده میکنم

    سلام ببخشید دیر حواب دادم
    من این کد رو تست کردم
    جواب داد
    شما تغییرات رو روش اعمال کنید

    DataSet ds = new DataSet();
    ds.Tables.Add("Users");
    ds.Tables["Users"].Columns.Add("Name");
    ds.Tables["Users"].Columns.Add("Address");

    for (int i = 0; i < listView1.Items.Count; i++)
    {
    ds.Tables["Users"].Rows.Add(listView1.Items[i].Text,
    listView1.Items[i].SubItems[1].Text);
    }
    ds.WriteXml("Users.xml");


    }

    private void button7_Click(object sender, EventArgs e)
    {
    int count=listView1.Items.Count+1;
    listView1.Items.Add("User : " + count.ToString());
    listView1.Items
    [listView1.Items.Count - 1].SubItems.Add("Address"+count.ToString());
    }

    private void button6_Click(object sender, EventArgs e)
    {
    DataSet ds2 = new DataSet();
    ds2.ReadXml("Users.xml");
    listView1.Items.Clear();
    for (int j = 0; j < ds2.Tables["Users"].Rows.Count; j++)
    {
    listView1.Items.Add(ds2.Tables["Users"].Rows[j][0].ToString());
    listView1.Items
    [listView1.Items.Count - 1].SubItems.Add(ds2.Tables["Users"].Rows[j][1].ToString());
    // listView1.Items
    [listView1.Items.Count - 1].SubItems.Add(ds2.Tables["Users"].Rows[j][2].ToString());
    }
    }

  14. #14
    کاربر دائمی آواتار hadis shaeidi
    تاریخ عضویت
    اردیبهشت 1390
    پست
    148

    نقل قول: ازاین کدبراذخیره کردن فایل توسطxmlاستفاده میکنم

    ببخشیدبرنامه روکهrunمیکنم ودکمه ذخیره رومیزنم برمیگرده به برنامه وروی این خط کدمیمونه واین خطارومیده:
    InvalidArgument=Value of '1' is not valid for 'index'.Parameter name: index
    ds.Tables["Users"].Rows.Add(listView1.Items[i].Text,listView1.Items[i].SubItems[1].Text);
    راستی ببخشیداینbutton7براچیه؟بایدکدی که براذخیره نوشتیدروبه این اضافه کنم یاکجاقرارش بدم
    کدذخیره روتوچی نوشتیدتودکمه ای یاتوزیربرنامه ای؟

  15. #15
    کاربر دائمی آواتار hadis shaeidi
    تاریخ عضویت
    اردیبهشت 1390
    پست
    148

    نقل قول: ازاین کدبراذخیره کردن فایل توسطxmlاستفاده میکنم

    خطارفع شدتوهمون خط که خطامیدادبجایsubitem[1 منsubitem[0گذاشتم ولی بازم همون مشکل قبلی روداره جداگانه ذخیره میکنه!!!
    راستی اگه بخوام عکسی که تولیست قدیمی هست روهمراه نام کلاینت به لیست دوستان اضافه کنم چه کدی روبنویسم چون نام کلاینت روبه لیست دوستان اضافه کردم ولی عکس رونه؟این هم مسیرعکسم هستش:F::\جدید3\myprojectserver1\myprojectserver1\ResourcesدردرایوfوبانامUsers
    اینم کدaddهستش درفرم اصلی که به فرم دوستان اضافه میشه:
    string clientName = null;
    Friends frm = newFriends();
    Show_Freinds frm1 = newShow_Freinds();



    if (listViewClients.SelectedItems.Count != 0)
    {
    string index = (listViewClients.SelectedItems[0].Text.Substring(0, listViewClients.SelectedItems[0].Text.IndexOf('-')));
    clientName = listViewClients.SelectedItems[0].Text;
    frm.listView1.Items.Add( clientName, index);
    frm.ShowDialog(
    this);
    }

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

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