PDA

View Full Version : نوشتن و خواندن و جستجو در فایل چگونه؟



mehrab1387
یک شنبه 30 مرداد 1390, 17:17 عصر
سلام به دوستان
با عرض تسلیت به خاطر شهادت امیر المومنین(علیه السلام)
من چند تا check box دارم که میخوام وقتی تیک زده شد همزمان در فایل یکسری اطلاعات را ذخیره کنم و اگر تیک بعضی از انها برداشته شد یکسری اطلاعات که مربوط به آنهاست از فایل پاک شود.
فکر میکنم روال بدین صورت است که باید برای پاک کردن اول مکان ان اطلاعات را پیدا کنم وسپس انها را پاک کنم
اما تا بحال با فایل کار نکرم وجستجو وخواندن و نوشتن در فایل را بلد نیستم.
لطفا کمک کنید.:گریه:

Salar Ashgi
یک شنبه 30 مرداد 1390, 20:05 عصر
سوالتان گنگ است ، کمی بیشتر توضیح دهید ./

hamirayan
یک شنبه 30 مرداد 1390, 21:20 عصر
سلام دوست عزیز
برای کار کردن با فایل ها در سی شارپ باید چند نکته رو مورد توجه داشته باشیم:

1- اطلاعات ما در notepad ذخیره می شوند.
2- می توان از ابزارهای خود visusl ،مثل openfiledialog , savefiledialog استفاده کرد.
3- اضافه کردن using System.IO; در قسمت usingها
4- و...

من خودم این ترم برای درس ذخیره و بازیابی یه پروژه کوچیک تو سی شارپ با فایل نوشتم ، این کد هایی که مینویسم تجربه خودمه و ممکنه شما طور دیگه و خیلی بهتر کد بنویسید.

برای Insert در فایل:
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
string strFileName;
strFileName = openFileDialog1.FileName;
TextBox1.Text = System.IO.File.ReadAllText(strFileName);
}

برای خواندن از فایل

StreamReader sr = new StreamReader("G:\\myfile.txt");
TextBox1.Text = sr.ReadToEnd();
sr.Close();


"G:\\myfile.txt مکان ذخیره فایل در notepad میباشد.

در ضمن اگه اطلاعات بیشتری خواستی در خدمتم.

mohammad_cmd
یک شنبه 30 مرداد 1390, 21:48 عصر
منظورتو نفهمیدم ولی یک دفترچه تلفن کار با فایل ها در اینترنت پیدا کردم که تمام عملیات ها رو روی فایل ها نشون میده شاید به دردت بخوره

74187

vistacali
یک شنبه 30 مرداد 1390, 21:53 عصر
برای خواندن از فایل

StreamReader sr = new StreamReader("G:\\myfile.txt");
TextBox1.Text = sr.ReadToEnd();
sr.Close();


"G:\\myfile.txt مکان ذخیره فایل در notepad میباشد.

در ضمن اگه اطلاعات بیشتری خواستی در خدمتم.

سلام دوست من ممنون میشم بتونید من رو هم راهنمایی کنید

سوال اول من چه جوری میتونم محل ذخیره سازی را تغییر بدم که هر وقت سیستم عوض شد نیازی به ساخت اون فایل توی درایو g نباشه ؟

سوال دوم من میخوام وقتی توی فایلم مینویسم وقتی نوشتن تمام شد (یعنی نوشته های فایل تکستم) از فایل text به یک لیست باکس اضاف بشه ایا همچین چیزی امکان داره ؟

mohammad_cmd
یک شنبه 30 مرداد 1390, 22:07 عصر
سلام دوست عزیز تو این برنامه ای که گذاشتم همه ی خوسته های شما هست

vistacali
یک شنبه 30 مرداد 1390, 22:23 عصر
ما که چیزی ندیدیم!!!!!!!!!!!!!!!!!!!!!!

سوال اول من چه جوری میتونم محل ذخیره سازی را تغییر بدم که هر وقت سیستم عوض شد نیازی به ساخت اون فایل توی درایو g نباشه ؟

سوال دوم من میخوام وقتی توی فایلم مینویسم وقتی نوشتن تمام شد (یعنی نوشته های فایل تکستم) از فایل text به یک لیست باکس اضاف بشه ایا همچین چیزی امکان داره ؟

hamirayan
دوشنبه 31 مرداد 1390, 12:17 عصر
سوال اول من چه جوری میتونم محل ذخیره سازی را تغییر بدم که هر وقت سیستم عوض شد نیازی به ساخت اون فایل توی درایو g نباشه ؟
در پاسخ به این سوال،کافی است شما در Load پروژه تان این کد را بنویسید.

private void Form1_Load(object sender, EventArgs e)
{
filename = Application.StartupPath + "\\hami.txt";
if (!File.Exists(filename))
File.Create(filename);
else
show();

}

و در متد show نیز بنویسید:

private void show()
{
StreamReader sr = new StreamReader(filename);
string all = sr.ReadToEnd();
sr.Close();}

مم ن

سلامدار
دوشنبه 31 مرداد 1390, 12:54 عصر
با سلام
با توجه نحوه عملکر ، بنظر اگر از یک دیتا ست استفاده کنید و در نهایت نتایج را از دیتا ست بر روی فایل بنویسید و برعکس در ابتدا اجرای برنامه بخوانید مناسب باشد. در ضمن اگر در نوع فایل الزام وجود نداشته باشد میتواند با استفاده از دیتا ست مستقم در XML بنویسد و بخوانید.

vistacali
دوشنبه 31 مرداد 1390, 14:50 عصر
با سلام
با توجه نحوه عملکر ، بنظر اگر از یک دیتا ست استفاده کنید و در نهایت نتایج را از دیتا ست بر روی فایل بنویسید و برعکس در ابتدا اجرای برنامه بخوانید مناسب باشد. در ضمن اگر در نوع فایل الزام وجود نداشته باشد میتواند با استفاده از دیتا ست مستقم در XML بنویسد و بخوانید.


کار با دیتا ست را بلد نیستم