PDA

View Full Version : سوال: سیو کردن اطلاعات برنامه هنگام اجرا



online98
پنج شنبه 23 آذر 1391, 19:11 عصر
سلام دوستان خسته نباشید
ما تو vb6 با دستور های get setting و save setting یک چیز را سیو میکردیم و پس از اجرای برنامه دوباره اون را لود میکردیم
میخواستم بدونم در c# چطوری میشه چنین کاری رو انجام داد؟
اگه میشه یه مثال بزنید ؟
مثلا میخواییم مقدار یک textbox ذخیره بشه و پس از اجرای مجدد لود بشه

خیلی ممنونم

c-sharp_South
پنج شنبه 23 آذر 1391, 19:28 عصر
با سلام و درود.
خیلی راحته.
بر فرض مثال برای ذخیره ماندن یوزرنیم و پسورد این کارو میکنیم:
توی رویداد FormClosing این رو تعریف میکنیم:


Microsoft.VisualBasic.Interaction.SaveSetting(Appl ication.ProductName, Application.ProductName, "id", textBox1.Text);
Microsoft.VisualBasic.Interaction.SaveSetting(Appl ication.ProductName, Application.ProductName, "password", textBox2.Text);


و توی رویداد FormLoad این رو :


textBox1.Text = Microsoft.VisualBasic.Interaction.GetSetting(Appli cation.ProductName, Application.ProductName, "id", "");
textBox2.Text = Microsoft.VisualBasic.Interaction.GetSetting(Appli cation.ProductName, Application.ProductName, "password", "");


موفق باشین.

online98
پنج شنبه 23 آذر 1391, 20:12 عصر
با سلام و درود.
خیلی راحته.
بر فرض مثال برای ذخیره ماندن یوزرنیم و پسورد این کارو میکنیم:
توی رویداد FormClosing این رو تعریف میکنیم:


Microsoft.VisualBasic.Interaction.SaveSetting(Appl ication.ProductName, Application.ProductName, "id", textBox1.Text);
Microsoft.VisualBasic.Interaction.SaveSetting(Appl ication.ProductName, Application.ProductName, "password", textBox2.Text);


و توی رویداد FormLoad این رو :


textBox1.Text = Microsoft.VisualBasic.Interaction.GetSetting(Appli cation.ProductName, Application.ProductName, "id", "");
textBox2.Text = Microsoft.VisualBasic.Interaction.GetSetting(Appli cation.ProductName, Application.ProductName, "password", "");


موفق باشین.

خیلی ممنون ، دنبال همین بودم
ولی مثل اینکه این کد ماله visual basic هست ، معادلش در Csharp چی هست

چیزی هم باید using کرد ؟
وقتی مینویسم ... Microsoft.CSharp.Interaction به کلمه Interaction گیر میده

متشکرم

c-sharp_South
پنج شنبه 23 آذر 1391, 20:42 عصر
دوست عزیز کاریو که میگم انجام بده:
Project Menu , Add Refrence... , .Net , Microsoft.Visual.Basic
بعدش:
using Microsoft.VisualBasic.CompilerServices;

harani
پنج شنبه 23 آذر 1391, 20:56 عصر
ممنون دوست عزیز اتفاقاً منم دنبال یه همین چین چیزی هستم میشه پارامترهای این متد رو توضیح بدین (Appliction.ProductName اسم فرممونه چرا دو بار استفاده شده پارامتر "id" مقداری که به textbox1.Text تعلق میگیره ؟؟)
Microsoft.VisualBasic.Interaction.SaveSetting(Appl ication.ProductName, Application.ProductName, "id", textBox1.Text);

یه سوال دیگه اگه بخوام برای برنامم فایل Setup ایجاد کنم نیازی به افزودن این Refrence بصورت دستی ندارم که ؟؟

ordebehesht
پنج شنبه 23 آذر 1391, 21:03 عصر
برام جالب شد میشه توضیح بدین کجا و برای چه بدرد میخوره و خود کد رو ممنون عزیز

c-sharp_South
پنج شنبه 23 آذر 1391, 23:21 عصر
ممنون دوست عزیز اتفاقاً منم دنبال یه همین چین چیزی هستم میشه پارامترهای این متد رو توضیح بدین (Appliction.ProductName اسم فرممونه چرا دو بار استفاده شده پارامتر "id" مقداری که به textbox1.Text تعلق میگیره ؟؟)
Microsoft.VisualBasic.Interaction.SaveSetting(Appl ication.ProductName, Application.ProductName, "id", textBox1.Text);

یه سوال دیگه اگه بخوام برای برنامم فایل Setup ایجاد کنم نیازی به افزودن این Refrence بصورت دستی ندارم که ؟؟

جواب سوال اول و دومتون رو با عکس توضیح میدم:
http://img4up.com/up2/78358538529929418349.jpg
http://img4up.com/up2/78358538529929418349.jpg
جواب سوال اولتون دورش رو با خط سبز مشخص کردم که بفهمین دو جا application.prodectname چه کاربردی داره.شما میتونین application.prodectname رو به هر مشخصه ی دیگه ای
از برنامه که دوست دارید توی رجستری سیو بمونه تغییر بدین.
id رو هم string value است که توی رجستری ساخته میشه برای ذخیره کردن data.

منظور سوال سوم رو خوب متوجه نشدم.

c-sharp_South
پنج شنبه 23 آذر 1391, 23:24 عصر
برام جالب شد میشه توضیح بدین کجا و برای چه بدرد میخوره و خود کد رو ممنون عزیز

دوست عزیز این کد برای ذخیره کردن اطلاعات برنامه است.
مثال ساده ای که میشه زد چک باکس Save Password یا Save Username است که توی تمامی مسنجر ها از جمله یاهو وجود داره.
با این کار کاربر مجبور نیست در هر بار اجرای برنامه اطلاعاتی که ثابت هستند رو مدام وارد کنه و کاربر رو کلافه کنه.

harani
پنج شنبه 23 آذر 1391, 23:27 عصر
منظور سوال سوم رو خوب متوجه نشدم.


اولاً که بابت پاسختون ممنونم دوماً اگه سوال Setup میگن که متوجه نشدین : اگر برنامه ما شامل دیتابیس یا کامپونت خاصی باشه در هنگام ایجاد فایل Setup برای برنامه آنها را بای بصورت دستی به برنامه ی Setup مان اضافه کنیم میگم این رفرنسی که از منوی project اضافه کردیم آیا لازم است در هنگام ایجاد فایل Setup اونم اضافه کنیم یا لزومی نداره ؟؟؟؟؟ امیدوارم که متوجه شده باشید .

online98
جمعه 24 آذر 1391, 00:36 صبح
mehdiizadi (http://barnamenevis.org/member.php?244106-mehdiizadi)
خیلی خیلی ممنونم ، کمک بزرگی بهم کردید ، 1 ماه درگیر این بودم
منم سوال این دوستمون را دارم ، حالا که ما Refrence ویژوال بیسیک را اضافه کردیم ، موقع ستاپ سازی باید کاره خاصی انجام بدیم که به مشکل نخوریم ؟؟
و یک سوال اینکه بدون رفرنس نمیشه کاری کرد ؟ خوده سی شارپ این قابلیت رو نداره ؟

متشکرم

c-sharp_South
جمعه 24 آذر 1391, 08:32 صبح
موفق setup سازی نیازی نیست کاره خواصی رو انجام بدین . من خودم کامل تست کردم و به هیچ مشکلی بر نخوردم.

بودن Refrence از روش های دیگه که یک خورده بیشتر کد میبره میشه این کارو انجام داد.
اگه لازم داشتید بگید یک سورس براتون بنویسم.

harani
جمعه 24 آذر 1391, 15:09 عصر
اگه که نمونه سورس برای بدون رفرنس بذارین واقعاً ممنون میشم .

یه سوال دیگه آیا میشه من از این روش به جای دیتابیس استفاده کنم . یعنی مثلاً مجموعه ای از String ها را ذخیره کنم و سپس آنها رو فراخونی کنم .

cccccccccc
جمعه 24 آذر 1391, 15:26 عصر
سلام اینو از همین سایت گرفتم(فکر کنم) ولی تاپیکشو پیدا نکردم

یه سوال دیگه آیا میشه من از این روش به جای دیتابیس استفاده کنم . یعنی مثلاً مجموعه ای از String ها را ذخیره کنم و سپس آنها رو فراخونی کنم .
نه درست نیست

danialafshari
جمعه 24 آذر 1391, 18:41 عصر
آره از Setting خود C# استفاده کنی خیلی بهتره