View Full Version : مبتدی: ذخیره مقادیر property ها در یک فایل متنی
CodeforLife
پنج شنبه 05 فروردین 1395, 15:59 عصر
سلام دوستان گرامی .
من در برنامه ای که نوشتم میخوام مقادیر proprty های کلاس رو در فایل متنی بنویسه .
فایل رو ایجاد میکنه ولی متاسفانه چیزی نمی نویسه !
private void toolStripButton1_Click(object sender, EventArgs e)
{
string pth = Path.GetFullPath(@"./") + "Save.txt";
FileStream fs = new FileStream(pth, FileMode.Create);
StreamWriter sw = new StreamWriter(fs);
foreach (Shape shapes in ListOfProperties.Items)
{
shapes.Save(sw);
}
}
این کدها هم مربوط به متد کلاسم هست ..
به نظرتون چه اشکالی داره؟؟؟؟؟
لطفا راهنماییم کنید دوستان
public override void Save(StreamWriter sw)
{
sw.WriteLine("{0}.{1}.{2}.{3}.{4}.{5}.{6}", name, strockcolor, strockwidth, x, y, width, height);
}
prans_tork
پنج شنبه 05 فروردین 1395, 23:33 عصر
سلام دوستان گرامی .
من در برنامه ای که نوشتم میخوام مقادیر proprty های کلاس رو در فایل متنی بنویسه .
فایل رو ایجاد میکنه ولی متاسفانه چیزی نمی نویسه !
private void toolStripButton1_Click(object sender, EventArgs e)
{
string pth = Path.GetFullPath(@"./") + "Save.txt";
FileStream fs = new FileStream(pth, FileMode.Create);
StreamWriter sw = new StreamWriter(fs);
foreach (Shape shapes in ListOfProperties.Items)
{
shapes.Save(sw);
}
}
این کدها هم مربوط به متد کلاسم هست ..
به نظرتون چه اشکالی داره؟؟؟؟؟
لطفا راهنماییم کنید دوستان
public override void Save(StreamWriter sw)
{
sw.WriteLine("{0}.{1}.{2}.{3}.{4}.{5}.{6}", name, strockcolor, strockwidth, x, y, width, height);
}
متغیر های name, strockcolor, strockwidth, x, y, width, height رو قبل از فراخوانی متد Save مقدار دادی آیا؟
و اینکه "./" هم مشکوک میزنه.
به نظرت نباید بک اسلش باشه؟
CodeforLife
جمعه 06 فروردین 1395, 04:42 صبح
سلام .ممنونم
تمامی property ها در ctor() مقدار دهی میشن ...
"./" رو هم تغییر دادم نتیجه نگرفتم قربان ...
prans_tork
جمعه 06 فروردین 1395, 07:36 صبح
سلام .ممنونم
تمامی property ها در ctor() مقدار دهی میشن ...
"./" رو هم تغییر دادم نتیجه نگرفتم قربان ...
به این صورت بنویس و تست کن:
private void toolStripButton1_Click(object sender, EventArgs e)
{
string pth = Path.GetFullPath(@"./") + "Save.txt";
TextWriter wt = new StreamWriter(pth, false, Encoding.Default);
string str;
foreach (Shape shapes in ListOfProperties.Items)
{
str = string.Empty;
str = string.Format("{0}.{1}.{2}.{3}.{4}.{5}.{6}", shapes.name, shapes.strockcolor, shapes.strockwidth, shapes.x, shapes.y, shapes.width, shapes.height);
shapes.Save(str);
}
}
public override void Save(string str)
{
string pth = Path.GetFullPath(@"./") + "Save.txt";
TextWriter tw = new StreamWriter(pth, false, Encoding.Default);
tw.WriteLine(str);
tw.Close();
}
ShineOne
جمعه 06 فروردین 1395, 07:53 صبح
سلام.
آرگومان Append رو در حالت True قرار بده :
StreamWriter file = new StreamWriter(_fileName, true);
در غیر اینصورت فایل رو Overwrite میکنه
CodeforLife
جمعه 06 فروردین 1395, 08:56 صبح
سلام .به فرمایش هر دو شما بزرگوار عمل کردم , ولی مسزله حل نشد .
مقادیر رو که بررسی میکنم کامل تغییر میکنه فقط نمی نویسه !
چرا؟؟؟؟
vb8334
جمعه 06 فروردین 1395, 10:24 صبح
سلام
دوست عزیز من این کد رو تست کردم کار میکنه شما هم تست کن.
private void toolStripButton1_Click(object sender, EventArgs e)
{
try
{
string pth = Path.GetFullPath(@"./") + "Save.txt";
using (StreamWriter sw = new StreamWriter(pth, true))
{
foreach (Shape shapes in ListOfProperties.Items)
{
shapes.Save(sw);
}
}
}
catch (Exception ex)
{
throw ex;
}
CustomeMessageBox.ShowBox("kkk");
}
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.