PDA

View Full Version : اید ه برای ذخیره سازی تنظیمات داخل برنامه



hassan_kahrizy
شنبه 15 مرداد 1384, 17:49 عصر
بسمه تعالی
با سلام خدمت تمامی دوستان
می خواستم پس از بسته شدن برنامه تنظیمات که کاربر تغییر داده ذخیره بشه
چه راهی رو پیشنهاد می کنید
با تشکر

Peyman_Ranjbar
شنبه 15 مرداد 1384, 17:59 عصر
از registry استفاده کن

فاطمه هاشمیان
شنبه 15 مرداد 1384, 19:28 عصر
یک Class با نام Options تعریف کن و اطلاعات رو اونجا Save کن
البته نمیدونم درست یا نه اما من شخصا" اینکار رو میکنم.

omid_Ahmadi
شنبه 15 مرداد 1384, 20:08 عصر
در NET. منطقی ترین راه استفاده از config file های تحت XML برای برنامه است.

hassan_kahrizy
پنج شنبه 20 مرداد 1384, 02:50 صبح
بسمه تعالی
با سلام
خیلی ممنون مشکلک حل شد

Peyman_Ranjbar
سه شنبه 01 شهریور 1384, 03:29 صبح
در NET. منطقی ترین راه استفاده از config file های تحت XML برای برنامه است.
فرض کن که برنامه می خواد بسته بشه و لازمه که تغییرات location را یه جایی ذخیره کنی؟

چه جوری از config file استفاده می کنی؟
اگه با روش xml writer باشه که خیلی مشکل میشه

omid_Ahmadi
سه شنبه 01 شهریور 1384, 06:50 صبح
توی برنامه نمونه ای که آپلود کردم کاملا توضیح داده شده. شما هر تغییراتی رو که خواسته باشی در فایل Xml ذخیره میکنی بعد موقع لود برنامه یا زمانی که خواستی به اونها دسترسی پیدا کنی تغییرات رو از فایل میخونی

Peyman_Ranjbar
سه شنبه 01 شهریور 1384, 07:31 صبح
توی برنامه نمونه ای که آپلود کردم کاملا توضیح داده شده. شما هر تغییراتی رو که خواسته باشی در فایل Xml ذخیره میکنی بعد موقع لود برنامه یا زمانی که خواستی به اونها دسترسی پیدا کنی تغییرات رو از فایل میخونی

به چند دلیل استفاده از فایلهای config برای تنظیمات برنامه مفید نیست.
اگر تغییرات لحظه ای باشند باز هم مقداری را که از config file می خونیم همون مقدارهای قبل هست. اگه بخواهیم تغییراتی رو که در فایل ایجاد کردیم ببینیم باید برنامه رو restart کنیم.

رجیستری منبع بهتری برای ذخیره اینگونه تغییرات و کلا تنظیمات برنامه مثل مسیر پایگاه داده ها و ... هست . همینطور موقع از بین رفتن ویندوز نیز پاک میشوند و این باعث میشه تا برنامه تنظیمات پیش فرض خودش رو لود کنه و با crash مواجه نشه.

موارد استفاده فایل config مواقعی است که می خواهیم تنظیماتی را در برنامه انجام دهیم که یکبار بیشتر نیاز نیست تغییر کنند. مثل


dynamic properties
Connection String

Mahdi_20
سه شنبه 01 شهریور 1384, 16:45 عصر
آخر کدوم راهو استفاده کنیم..لطفا این مورد رو بیشتر توضیح بدین

omid_Ahmadi
چهارشنبه 02 شهریور 1384, 07:59 صبح
رجیستری منبع بهتری برای ذخیره اینگونه تغییرات و کلا تنظیمات برنامه مثل مسیر پایگاه داده ها و ... هست . همینطور موقع از بین رفتن ویندوز نیز پاک میشوند و این باعث میشه تا برنامه تنظیمات پیش فرض خودش رو لود کنه و با crash مواجه نشه.

متاسفانه این حرف کاملا اشتباهه! در توضیع برنامه های تحت دات نت موضوعی که خیلی مورد تاکید قرار میگیره راحتی نصب و همچنین راحتی پاک کردن برنامه است. به خاطر همین همیشه تاکید میشه که برنامه فقط و فقط شامل یک یک شاخه اصلی باشه و تمام اطلاعات موردد نیاز برنامه در همان شاخه قرار بگیره. حتی استفاده از GAC هم برای نصب اسمبلیهای مورد نیاز برنامه ها به جز در موارد خاص توصیه نمیشه. چه برسه به استفاده از رجیستری. چون استفاده از رجیستری به معنی نصب و پاک کردن مشکل برنامه است. همیشه توصیه میشه که برنامه های دات نت باید با دستور XCopy نصب بشن.


اگر تغییرات لحظه ای باشند باز هم مقداری را که از config file می خونیم همون مقدارهای قبل هست. اگه بخواهیم تغییراتی رو که در فایل ایجاد کردیم ببینیم باید برنامه رو restart کنیم.

چرا برای بدست آوردن تغییرات (که فقط یک سری اطلاعات ذخیره شده در فایل متنی با قالب XML هستند) باید برنامه رو restart کرد؟ هر موقع که شما احتیاج داشتید که به مقادیر مربوط به تنظیمات برنامه دسترسی پیدا کنید به راحتی میتونید فایل رو باز کنید و مقادیر رو از داخل اون استخراج کنید. اگر در هر لحظه هم تنظیمات برنامه تغییر کنند، شما در لحظه بعد تغییرات رو از فایل استخراج کرده و اعمال میکنید.

مثالی هم که در بالا آپلود کردم استانداردترین و بهتیرن راه رو برای ذخیره تنظیمات برنامه نشان میده.

Mahdi_20
چهارشنبه 02 شهریور 1384, 09:53 صبح
ممنون میشم اگه روش کار رو همراه با کدی برای Save و Load اطلاعات ارائه کنید.

omid_Ahmadi
چهارشنبه 02 شهریور 1384, 12:44 عصر
به پست شماره 4 در همین تاپیک مراجعه کنید. مثال موجود طرز کار رو کاملا توضیح داده

Panje Tala
یک شنبه 06 شهریور 1384, 13:57 عصر
من با نظر امید کاملا موافق هستم به چند دلیل:
فایلهای config مبتنی بر xml به راحتی قابل جابجایی می باشد.و به راحتی می توان آنرا کپی نمود.
به راحتی فایلهای xml را می توان در قالب Table ریخت و یا برعکس .و با آن راحت کار کرد.
هیچگونه محدودیتی در تغییرات سریع config ندارد.
استفاده از این تکنولوژی بسیار فراگیر شده بعنوان مثال صفحات وبی که مشاهده می شود و tag های آن ساختارxml را دارند.
بسیاری از autoconfig هایی که خود C# می سازد بصورت فایل xml می سازد.
و...
خلاصه اینکه اکیدا توصیه می کنم از xml استفاده نمایید.