کار با فایلهای متنی


کار با فایلهای متنی
برای خرید این درس نیاز است وارد سایت شوید. در صورت نداشتن حساب کاربری عضو شوید.

مفهوم فایل:
هنگامی که داده هایی را از کاربر دریافت می‌کنیم این داده ها در متغییرهایی ذخیره می‌کنیم. این متغییرها در حافظه اصلی هستند و اگر ما برنامه را ببندیم و یا سیستم را خاموش کنیم داده‌های موجود در حافظه اصلی از بین میروند پس متغییرهای ما از بین میروند و داده هایی که از کاربر گرفته ایم به طور کل پاک میشوند.       
اگر ما بخواهیم اطلاعاتی را که از کاربر دریافت میکنیم برای همیشه داشته باشیم باید انها را در حافظه جانبی ذخیره کنیم، واحد ذخیره سازی داده ها در حافظه جانبی File است یعنی همان طور که ما در حافظه اصلی داده ها را در متغییر ذخیره میکنیم در حافظه جانبی داده‌ها را باید در File ذخیره کنیم.
•    نحوه ایجا کردن File و نوشتن در آن:
قصد داریم یک برنامه‌ای درست کنیم که با کلیک کردن بر روی یک دکمه متن( به نام خدا ) ذخیره شود .
ابتدا یک دکمه ایجاد میکنیم و با تغییرات دلخواه، روی دکمه دوبل‌کلیک میکنیم تا رویداد پیش‌فرض که کلیک است فعال و متد  آن ایجاد شود.
برای ذخیره کردن متن (به نام خدا) ابتدا باید به کلاس File دسترسی داشته باشیم که به صورت زیر است.
 
System.io.File                                                                                                                
کلاس  Fileدارای یک سری متد است که به کمک این متدها میتوان کارهای زیادی اعم از حذف، نوشتن و ...
بر روی متن انجام داد و متد مورد نیاز برای نوشتن  WriteAllaText است.
این متد دارای دو ورودی است:
1.    آدرس محل ذخیره فایل
2.    متن
که به صورت زیر به این متد داده میشود.
private void button1_Click(object sender, EventArgs e)
{
     System.IO.File.WriteAllText("F:\Learn\windows\form", "به نام خدا");
}   
توجه: بعد از اینکه آدرس محل ذخیره را وارد کردید باید یک نام برای فایل مورد نظر بنویسید که به صورت زیر نوشته میشود.
private void button1_Click(object sender, EventArgs e)
{
     System.IO.File.WriteAllText("F:\Learn\windows\form\نام برای فایل"","به نام خدا");
}   
توجه: محیط کدنویسی سی‌شارپ از علامت ( \ ) خطا گرفته میشود، چرا که  به عنوان کارکتر‍‌های کنترلی استفاده میشوند، شما میتوانید برای رفع این مشکل علامت ( @ ) را  قبل از دوبل کتیشن قرار دهید .
private void button1_Click(object sender, EventArgs e)
{
     System.IO.File.WriteAllText(@"F:\Learn\windows\form\نام برای فایل"","به نام خدا");
}   

برنامه‌ای که در بالا نوشته شد هر بار که کاربر برنامه را اجرا کند، متن ( به نام خدا ) به صورت پیش فرض در مکان پیش‌فرض ذخیره می‌شود. حال میخواهیم برنامه را به شیوه‌ای درست کنیم که متن وارد شده‌ی کاربر ذخیره شود.
در Form یک Textboxt ایجاد میکنیم و بجای متن پیش فرض خودمان اسم Textboxبا متد Text را قرار میدهیم.
private void button1_Click(object sender, EventArgs e)
{
     System.IO.File.WriteAllText(@"F:\Learn\windows\form\نام برای فایل"",نام کادر متن.text);
}   
 
با این کار هر متنی که کاربر وارد کند در File ذخیره میشود.
در ادامه برای اینکه یک برنامه‌ای کاملا پویا داشته باشیم اجازه میدهیم که کاربر محل ذخیره سازی File را خود وارد کند. در ابتدای کار یک Save File Dialog به Form اضافه میکنیم و آن را به کاربر نمایش میدهیم، البته میتوان در کد شرطی قرار داد که اگر کاربر ok کرد به کاربر نمایش داده شود و این آدرس را جایگزین آدرس پیش‌فرض کند.
private void button1_Click(object sender, EventArgs e)
{
     System.IO.File.WriteAllText(SaveFileDialog1.FileName,نام کادر متن.text);
}   
•    نحوه باز کردن فایل :
دکمه دیگر به منظور باز کردن فایل ایجاد میکنیم و میخواهیم زمانی که کاربر بر روی این دکمه کلیک کرد فایل مورد نظر را انتخاب کند تا متن داخل فایل را نمایش دهد. ابتدا باید یک Open File Dialog به Form اضافه می‌کنیم و آن را به کاربر نمایش می‌دهیم تا کاربر فایل مورد نظر خود را انتخاب کند و اگر ok کرد متن داخل فایل را برای ما نمایش دهد. برای این کار کلاس  system.io.fileمتدی دارد به نام Read All Text که این متد از ما یک آدرس میخواهد که ما میتوانیم از Filename.Open File Dialog به عنوان آدرس استفاده کنیم. در ادامه متنی که توسط  Open File Dialog خوانده می‌شود باید در Textbox نمایش داد.
private void button2_Click(object sender, EventArgs e)
{
      if (openFileDialog1.ShowDialog() == DialogResult.OK)
      {
            txtmatn.text = System.IO.File.ReadAllText(openFileDialog1.FileName);
      }
}
•    اضافه کردن متن به فایل های ذخیره شده:
یک Textbox و یک دکمه ایجاد کرده تا هنگامی که کاربر بر روی این دکمه کلیک کرده، فایل مورد نظر خود را  انتخاب کند و متنی را که در Textbox دوم  نوشته به آن فایل اضافه کند.
ازopen file dialog  که قبلا به Form اضافه کرده‌ایم استفاده میکنیم و آن را به کاربر نمایش میدهیم و از متد دیگر کلاس System.io.File که به نام AppendAllText هست استفاده میکنیم و این متد از ما آدرس و متن میخواهد که میتوانیم از Open File Dialog برای آدرس و برای متن از Textbox دوم استفاده کنیم.
private void button3_Click(object sender, EventArgs e)
{
     if (openFileDialog1.ShowDialog() == DialogResult.OK)
     {
       نام کادرمتن.text=System.IO.File.ReadAllText(openFileDialog1.FileName,txtapp.tex);
     }
}
 


نظر بدهید

نشانی ایمیل شما منتشر نخواهد شد .
برای ارسال نظر نیاز است وارد سایت شوید. در صورت نداشتن حساب کاربری عضو شوید.

مشخصات دوره


مدرس دوره : مهدی احمدی
تعداد جلسات 26 جلسه
مدت زمان 538 دقیقه
حجم دوره 1/24 گیگابایت
سطح مهارت مقدماتی
وضعیت دوره درحال برگزاری
تعداد دانشجویان 224
: میانگین امتیاز

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

درباره مدرس :

از سال 1380 برنامه نویسی را شروع کرده و از سال 90 در این زمینه تدریس میکنم .با زبانهای سی پلاس پلاس ، سی ،پاسکال ،VB ، سی شارپ ،اسمبلی، جاوا و .... کار کرده و آنها را تدریس کرده ام.هم اکنون نیز مشغول تدریس ... تدریس در دانشگاه هستم و مدتی است با سایت درسمن همکاری میکنمبیشتر بدانید