PDA

View Full Version : سوال:روش پر کردن یه فایل ترتیبی یا چگونگی ایجاد یه فایل ترتیبی



dorna20-30
چهارشنبه 15 خرداد 1392, 10:25 صبح
سلام دوستان
من می خوام مقداری عدد رو داخل یه فایل ترتیبی وارد کنم.می دونم باید از فضای نام IO استفاده کنم و هم چنین میدونم برای وارد کردنش باید از filestream استفاده بشه اما این که چه جوری اینو نمی دونم.ممنون میشم راهنماییم کنید

danialafshari
چهارشنبه 15 خرداد 1392, 12:17 عصر
System.IO.File.WriteAllText(@"c:\fileName.txt", "123456789");

dorna20-30
چهارشنبه 15 خرداد 1392, 13:35 عصر
System.IO.File.WriteAllText(@"c:\fileName.txt", "123456789");

خب اینی که شما گفتین درسته اما من می خوام اعداد از کاربر بگیرم ،داخل یه ارایه قرار بدم ،بعدش وارد فایل کنم؟
یه سوالم در مورد serialize.می خواستم بدونم نحوه کارش چطوره؟

_behnam_
چهارشنبه 15 خرداد 1392, 13:41 عصر
سلام.
اگر بخواید آرایه رو بریزید توی فایل از متد WriteAllLines استفاده کنید.

dorna20-30
چهارشنبه 15 خرداد 1392, 14:16 عصر
سلام.
اگر بخواید آرایه رو بریزید توی فایل از متد WriteAllLines استفاده کنید.

سلام،
این کد منه،ببینین درسته؟

private void button2_Click(object sender, EventArgs e)
{
SaveFileDialog savefile = new SaveFileDialog();
DialogResult result = savefile.ShowDialog();
if (result == DialogResult.OK)
{
string fln = savefile.FileName;
for(i=0;i<=5;i++)
{
File.WriteAllLines(fln,wr[i]);
}
}
}
string[] wr = new string[6];
//پر کردن آرایه
private void button3_Click(object sender, EventArgs e)
{
wr[i] = textBox1.Text;
i++;
textBox1.Text = "";
if (i > 5) { MessageBox.Show("ERROR"); }
}

danialafshari
چهارشنبه 15 خرداد 1392, 14:19 عصر
private void button1_Click(object sender, EventArgs e)
{
string[] array = { "23", "32", "12", "53", "23" };
System.IO.File.WriteAllLines(@"C:\myFile.txt", array);
MessageBox.Show("Created");
}
در بالا به جای اعداد از کاربر بگیرید

dorna20-30
چهارشنبه 15 خرداد 1392, 14:29 عصر
دوست عزیز بابت راهنماییتون ممنون ولی یه نگاه به اون کدی که گذاشتم بندازین ببینین ایرادش چیه.بازم ممنون

danialafshari
چهارشنبه 15 خرداد 1392, 14:38 عصر
دوست عزیز بابت راهنماییتون ممنون ولی یه نگاه به اون کدی که گذاشتم بندازین ببینین ایرادش چیه.بازم ممنون
صحیح:
int i;
string[] wr = new string[6];
private void button1_Click(object sender, EventArgs e)
{
SaveFileDialog savefile = new SaveFileDialog();
DialogResult result = savefile.ShowDialog();
if (result == DialogResult.OK)
{
string fln = savefile.FileName;
for (i = 0; i <= 5; i++)
{
File.WriteAllLines(fln,wr);
}
}
}

private void button2_Click(object sender, EventArgs e)
{
wr[i] = textBox1.Text;
i++;
textBox1.Text = "";
if (i > 5) { MessageBox.Show("ERROR"); }
}
مشکل شما اینجاس که نام آرایه رو می خواد نه اینکه اندیس بهش بدید
File.WriteAllLines(fln,wr[i]);

_behnam_
چهارشنبه 15 خرداد 1392, 14:41 عصر
دوست عزیز بابت راهنماییتون ممنون ولی یه نگاه به اون کدی که گذاشتم بندازین ببینین ایرادش چیه.بازم ممنون
string fln = savefile.FileName;
for(i=0;i<=5;i++)
{
File.WriteAllLines(fln,wr[i]);
}
متد WriteAllLines پارامتر دوم رو به صورت آرایه میگیره.
شما اومدید یک اِلِمان از آرایه رو انتخاب کردید و به جای آرگومنت ارسال کردید.
ببینید وقتی شما wr[i]i رو ارسال میکنید دیگه آرایه نیست بلکه یک آیتم از آرایه است. یعنی اگر آرایه شما از نوع string باشد پس wr[i]i یک رشته معمولی از نوع String است.
تکه کد به اینصورت میشه و حلقه هم حذف میشه.
File.WriteAllLines(fln,wr)

dorna20-30
چهارشنبه 15 خرداد 1392, 14:47 عصر
مرسی حل شد،فقط اینکه الان این روش پر کردن تو یه فایل ترتیبیه دیگه؟:متفکر:

_behnam_
چهارشنبه 15 خرداد 1392, 14:49 عصر
همونجور که آیتم ها توی آرایه قرار دارن ذخیره میشن.