PDA

View Full Version : ذخیره مفادیر textbox در یک فایل متنی



sara_aryanfar
جمعه 06 خرداد 1390, 19:30 عصر
با سلام من در برنامه خودم 5 عدد تکس باکس دارم که کاربر اون رو پر می کنه اما با بسته شدن برنامه اون مقادیر از بین میره حالا می خوام اون مقادیر رو در یک فایل ذخیره کنم تا هنگامی که کاربر دوباره برنامه رو باز می کنه مقادیر وارد برنامه بشه من از لینک زیر عمل نوشتن و خواندن رو انجام میدم
link (http://barnamenevis.org/showthread.php?276417-%DA%A9%D8%A7%D8%B1-%D8%A8%D8%A7-%D9%81%D8%A7%DB%8C%D9%84-%D9%85%D8%AA%D9%86%DB%8C)
سوال من اینجاست که چطوری بخونم و بنویسم که مقادیر باهم قاطی نشه با چه کدی ممنون از راهنمایی شما

ma.rad
جمعه 06 خرداد 1390, 19:51 عصر
اون لینک رو نگاه نکردم
نوشتن:
File.WriteAllLines("path" , new string[] { txtPname.Text ,txtHname.Text }, UTF8Encoding.UTF8);
خواندن:
StreamReader objstream = new StreamReader("path", Encoding.UTF8);

txtPname.Text = objstream.ReadLine();
txtHname.Text = objstream.ReadLine();

haghft
جمعه 06 خرداد 1390, 19:54 عصر
چرا برای خوندنش از همون File.ReadAllLines استفاده نکنه.اونطوری که راحتره

sara_aryanfar
جمعه 06 خرداد 1390, 20:17 عصر
دوستان البته بگما من می خوام خود برنامه اون مقادیر قبلی رو بیاره و کادر محاوره ای برای باز شدن فایل ایجاد نشه یه سوال ساده چرا نمیشه تو تکست باکس بیشتر ا997 خط نوشت من نمی تونم تو یه تکست باکس بیشتر از این مقدار وارد کنم

ma.rad
جمعه 06 خرداد 1390, 20:25 عصر
دوستان البته بگما من می خوام خود برنامه اون مقادیر قبلی رو بیاره و کادر محاوره ای برای باز شدن فایل ایجاد نشه
کدی که نوشته بودم با استفاده از ShowDialog بود شما مسیر فایل براش مشخص کنید

haghft
جمعه 06 خرداد 1390, 21:34 عصر
چرا نمیشه تو تکست باکس بیشتر ا997 خط نوشت من نمی تونم تو یه تکست باکس بیشتر از این مقدار وارد کنم
چه خبره:متعجب:
فکر کنم richtextbox بتونه بیشتر از این حرفا رو ساپورت کنه.

sara_aryanfar
جمعه 06 خرداد 1390, 21:36 عصر
چطوری باید هر تکس باکس رو جداگانه ذخیره کنم و در موقع خواندن مقدار درست رو در تکس باکس مربوطه قرار بدم

ma.rad
جمعه 06 خرداد 1390, 21:42 عصر
کد بالا رو ویرایش کردم-البته هر تکس باکسو تو یه خط ذخیره میکنه اگر خاستی همه رو تو یه خط ذخیره کنه باید تکس باکس ها رو جمع کنی و باsubstring بخونی
مثال:
string code = objstream.ReadLine();
txtMcode.Text = code.Substring(0, 2);

sara_aryanfar
شنبه 07 خرداد 1390, 10:12 صبح
چه خبره:متعجب:
فکر کنم richtextbox بتونه بیشتر از این حرفا رو ساپورت کنه.
نمی دونم شاید من یه خاصیتی رو اعمال نمی کنم اما وقتی بهش 5000 خط کد میدم فقط 997 اون رو بر می داره

sara_aryanfar
شنبه 07 خرداد 1390, 10:14 صبح
من از اون کدی تو پست اولم دادم استفاده کردم و کلا خودش اتوماتیک هر تکست رو دوباره میاره داخل تکس باکس مربوطه در اونجا از یک فایل dll32.inil استفاده شده

Farshid007
شنبه 07 خرداد 1390, 14:36 عصر
حالا چرا تو فایل متنی(.txt) می خواهی ذخیرشون کنی مگه setting.setting چشه؟
به این یه نگاه بنداز:

به نظر من این راه بهتره
:لبخند:

sara_aryanfar
یک شنبه 08 خرداد 1390, 12:20 عصر
بله این هم روش خوبی هست میشه بگی چطوری این کار رو میشه کرد ممنون

haghft
یک شنبه 08 خرداد 1390, 12:34 عصر
1.به قسمت solution explorer->properties->setting.setting بروید.
2.در قسمت باز شده شما میتونید هر داده ای رو با نوع و مقدارش مشخص کنید مثلا name:checked,type:bool,scope:user,value:false.
3.برای تغییر مقدار این setting باید از این کد استفاده کنید:
Properties.Settings.Default.checked = true;
System.Configuration.SettingsBase sb = Properties.Settings.Default;
sb.Save();
4.برای فراخوانی هم مثلا وضعیت یه چک باکسو به اون حالت آخر دربیارید:
checkbox1.checked = Properties.Settings.Default.checked

Farshid007
یک شنبه 08 خرداد 1390, 12:52 عصر
برای Save کردن احتیاج نیست که SettingsBase تعریف کنی
اینجوری هم میشه:

WindowsApplication1.Properties.Settings.Default.Sa ve();
در ضمن من که یه فایل ضمیمه کرده بودم!چرا اونو ندیدید

sara_aryanfar
یک شنبه 08 خرداد 1390, 13:04 عصر
دیدم و ازش استفاده کردم ممنون اما مورد همچنان باقی هست تو محیط vs درست عمل می کنه مقادیر رو نگه می داره اما وقتی فال setup می سازم رو سیستم دیگه یا حتی سیستم خودم نصب می کنم درست عمل نمی کنه و مقادیر رو نمیاره

haghft
یک شنبه 08 خرداد 1390, 13:42 عصر
برای Save کردن احتیاج نیست که SettingsBase تعریف کنی
اینجوری هم میشه:

WindowsApplication1.Properties.Settings.Default.Sa ve();
در ضمن من که یه فایل ضمیمه کرده بودم!چرا اونو ندیدید
نه اشتباه نکن منم اول گول اینو خوردم ولی اینجوری نیست حتما باید یه جدید بسازی!

sara_aryanfar
یک شنبه 08 خرداد 1390, 13:59 عصر
اخه چرا تو محیط vs درست کار می کنه اما با ساخت فایل ست آپ درست عمل نمی کنه و هیچ مقداری ذخیره نمیشه

Farshid007
یک شنبه 08 خرداد 1390, 16:10 عصر
من همینی رو که ضمیمه کردم ورداشتمش یه Setupساختم واسش و یه متنی رو نوشتم تو 5 تا تکست باکس و پنجره رو بستم ویندوزم رو هم یه بار ریستارت کردم
متن ها بدون تغییر حتی 1 کاراکتر سر جاشون بودند
من حتی از setting base هم استفاده نمی کنم
پس چرا واسه من درست کار می کنه؟
(ویندوز من هم 7)است

omidamiry
جمعه 01 اردیبهشت 1391, 11:31 صبح
شما از بانک اطلاعاتی استفاده کن و خودتو اذیت نکن مثلا اکسس خیلی راحتتره
http://barnamesazcsharp.blogsky.com/