تبلیغات

ذخیره محتوای لیست باکس در فایل متنی سی شارپ

روش‌های متنوعی برای ذخیره‌سازی محتوای گوناگون وجود دارند؛ که بستگی به شرایطی که داریم، ممکن است از آنها استفاده کنیم. اما در این میان، یکی از  روش‌ها، ذخیره‌ی محتوا در یک فایل متنی ساده می‌باشد. در اینجا نیز قصد داریم تا آیتم‌های یک ListBox ای را داخل یک فایل متنی ذخیره کرده و سپس در زمان اجرای برنامه، بارگزاری (لود) کنیم.

روش انجام کار

همانطور که می‌دانید، ابتدا باید ساختار ذخیره‌سازی خود را مشخص کنیم! و در اینجا، از آن جهت که لیست باکس شامل آیتم‌هایی می‌باشد که زیر هم قرار گرفته‌اند، من ترجیح می‌دهم تا درون یک فایل متنی و در هر خط، یکی از آیتم‌ها را نگه‌دارم تا بعدا در زمان خواندن آن فایل، هر خط را یک به یک به لیست باکسم اضافه کنم!

ذخیره سازی

برای ذخیره سازی و بارگزاری، ما نیاز به یک مسیر ذخیره سازی برای فایل داریم که در اینجا  می‌خواهیم کنار فایل اجرایی برنامه باشد؛ و برای مثال نام آن فایل را  list.txt قرار دهیم.

هیچ لزومی ندارد که پسوند فایل حتما txt باشد و حتی می‌تواند بدون پسوند باشد؛ در این زمینه بهتر است لینک «پسوند و فرمت» را مطالعه نمایید.

برای ذخیره کردن محتوای ListBox، بهتر است متدی بنویسیم که اینکار را برایمان انجام دهد:

در مورد روش‌های به دست آوردن مسیر فعلی برنامه، قبلا در «این‌لینک» اشاره کردیم؛ ولی چون در بالا، متد WriteAllLines در صورتی که مسیر کاملی تنظیم نشده باشد آن را به ادامه‌ی مسیر فعلی برنامه اختصاص می‌دهد، دیگر از آن روش‌ها استفاده نشده است، گرچه می‌توانستیم به صورت زیر مسیر را اختصاص دهیم:

متد WriteAllLines ای که در کلاس File تعریف شده است، با دریافت یک  مسیر و یک آرایه‌ی رشته‌ای، هر آیتم آرایه را در یک خط می‌نویسد؛ که در بالا، آیتم‌های لیست باکس را با استفاده از روشی که در «‌این‌لینک» گقته شده است، به یک آرایه‌ی رشته‌ای تبدیل کرده و سپس از آن در متد WriteAllLines استفاده کرده‌ایم. ورودی سوم این متد نیز انکودینگ را دریافت می‌کند که اگر آن را تنظیم هم نکنیم اشکالی ندارد ولی بهتر است که بنویسیم.

بارگزاری

برعکس متد WriteAllLines، متدی با نام ReadAllLines نیز وجود دارد که خط به خط یک فایل متنی را خوانده و یک آرایه‌ی رشته‌ای از آن به ما می‌دهد! پس می‌توان به صورت زیر عمل کرد:

در مورد WriteAllLines که همه چیز واضح است؛ و در ادامه، ابتدا محتوای لیست باکس را پاک کرده (Clear) و سپس یک آرایه را به آن اضافه کرده‌ایم (AddRange)! توجه داشته باشید که به جای استفاده از AddRange، می‌توان از یک حلقه برای اضافه کردن آیتم‌های آرایه با استفاده از متد Add استفاده کرد که کدمان را ‌طولانی‌تر می‌کند.

مثال

حالا دو دکمه جهت ذخیره و لود کردن، و یک لیست باکس اضافه کنید. آیتم‌هایی را به لیست باکس اختصاص دهید و سپس وارد رویداد کلیک دکمه‌ها شده و آن‌ها را به صورت زیر تکمیل کنید:

برای درک آنجه که در لینک «پسوند و فرمت» گفته شد، می‌توانید به جای list.txt، مواردی مثل list یا list.zip و list.rar و .. را تست کنید تا درک کاملی از تفاوت پسوند و فرمت داشته باشید.

تبلیغات
0
کانال تلگرام فول کده
تبلیغات

درباره نویسنده

هادی اکبرزاده

[ مدیر فول کده ]

علاقه‌مند به اشتراک گذاری اطلاعات در هر زمینه‌ای / برنامه‌نویس

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

نظرات ثبت شده بدون دیدگاه