PDA

View Full Version : سوال: سوال در مورد Setting !!!



engineer_vm
یک شنبه 10 آذر 1387, 22:50 عصر
سلام..
من از Setting خود دات نت استفاده میکنم واسه یه سری تنظیمات مثل رنگ فرم و عکس و غیره... که توسط کاربر انجام میشه..! حالا مشکل من اینجاست که وقتی فولدری رو که برنامم توشه رو توی یه درایو دیگه مثلا از C به D کپی میکنم تنظیمات دوباره به قبل بر میگرده و دوباره باید تنظیم شه..! مثل رجیستری عمل نمیکنه که یه مقدار ثابت بمونه..!
حالا من باید کدی چیزی بنویسم که اگر مثلا زمانی کاربر به دلایلی خواست از یه آدرسی به آدرس دیگه نرم افزار رو کپی کنه تنظیماتش رو که درست کرده به هم نریزه و ثابت بمونه
ممنون!
امیدوارم که منظورمو درست بیان کرده باشم...

ali_md110
دوشنبه 11 آذر 1387, 01:10 صبح
نوع تنظیمات شما چطوریه
من فکر کنم یک کم مشکل داشته باشه مثلا Scop یا type
نمونه زیر جهت دسترسی به یک بانک اکسس هست که دیتابیس اون توی پوشه bin برنامه قرار داره هرجای کامپیوترتون بزارید مشکل نداره
name=provider /type=string/scope=application/value=microsoft.jet.oledb.4.0
name=datasource/type=string/scope=application/value=master.mdb

mostafaaa
دوشنبه 11 آذر 1387, 09:59 صبح
سلام دوست من
به نظر نمیرسه اصلا منطقی باشه که کاربرمسیر پوشه ای رو که برنامه توش نصب هستش رو عوض کنه. مثلا برنامه مثل Photoshop رو در نظر بگیرید. و سعی کنید پوشه مربوط به اون رو جابجا کنید، مطمعنا مشکلات زیادی براش پیش میاد و دیگه ران نمیشه.
در هر صورت اینگونه تنضیمات توی یه فایل با پسوند Config توی پوشه برنامتون قرار داره و اگه اون هم باهاش کپی میکنید قاعدتا نباید مشکلی داشته باشید.

engineer_vm
سه شنبه 12 آذر 1387, 02:11 صبح
سلام.. مرسی آقای مصطفی..! حرف شما کاملا منطقی اما عرض کردم که 1% اگه کاربر بخواد این برنامه رو از جایی به جای دیگه تغییر بده تنظیمان به حالت اولیه بر میگرده.. از نوع Type هم هستش..!
در هر صورت ممنون..! اگه نشد مهم نیست.

engineer_vm
سه شنبه 12 آذر 1387, 02:25 صبح
آهان راستی مثلا به عنوان مثال همین برنامه که ضمیمه کردم رو چک کنید که از همین جا دان کرده بودم.. میاد رنگ Back رو عوض میکنه توسط کاربر ،ذخیره هم میکنه..
بعدش اگه پوشه برنامه رو ببری یه جا دیگه کپی کنی رنگ Back به همون حالت اولیه برمیگرده.
مثه رجیستری عمل نمیکنه که هر جا برنامه رو کپی کنی بازم همون مقدارا رو بر میگردونه که تو رجیستری ذخیره کردی و فقط با عوض کردن ویندوزه که دوباره باید تنظیمش کنی..
میگین توی Config.. باشه قبول ولی من فکر میکنم آدرس برنامه و تنظیماتش یه جا دیگه هم ذخیره میشه... احتمال زیاد آدرس قبلیه برنامه رو هم همراه تنظیماتش ذخیره میشه و وقتی برنامه از یه جا به جا دیگه کپی کنی همون آدرس قبلیه رو صدا میزنه و ...

علیرضا مداح
سه شنبه 12 آذر 1387, 08:55 صبح
سلام دوست عزیز،
هنگامیکه شما از Settings برای ذخیره ی تنظیمات استفاده میکنید ، این تنظیمات در فایلی به نام ApplicationName.exe.config و در کنار فایل اجرایی برنامه قرار میگیرد ،/

engineer_vm
سه شنبه 12 آذر 1387, 17:52 عصر
سلام..
آقا منم که چیزی نگفتم که.. قبول دارم.. تنظیمات توی اون فایلی که میگین ذخیره میشه.. اما وقتی جای برنامه رو عوض میکنم مثلاً از درایوی به درایو دیگه و دوباره برنامه رو اجرا میکنم تنظیمات قبلی از بین رفته و باید دوباره تنظیمات توسط کاربر انجام بشه..! اما تو رجیستری ثابت میمونه تا کاربر خودش تغییر بده یا ویندوز رو عوض کنه تا از بین بره...همین!
بازم ممنون از توجه دوستان

علیرضا مداح
سه شنبه 12 آذر 1387, 20:15 عصر
دوست عزیز، شما هنگامی که مسیر فایل خود را تغییر میدهید، باید فایل تنظیمات را نیز همراه آن کپی نمایید تا تنظیمات حفظ شوند، و همانطور که گفته شد، هنگامیکه برنامه ای بر روی سیستم نصب میشود، کپی کردن تنهای فایل اجرایی برنامه به مکانی دیگر کاری غیرحرفه ایست و تبعاتی را در پی خواهد داشت ،
مزایای ذخیره دیتا بصورت XML و در فایل Settings :
1)Strongly-Typed بودن آیتم های ذخیره شده در آن
2)توانایی Encrypt/Decrypt کردن آیتم های ذخیره شده(Protect کردن آنها)
3)امکان تغییر گزینه های فایل XML بدون نیاز به کامپایل کردن محدد پروژه
4)قابلیت ذخیره ی آبجکت های Serializable در آن
5)سادگی در نوشتن/خواندن تنظیمات و تغییر آن ها
6)امن بودن بیشتر این روش
7)...

engineer_vm
چهارشنبه 13 آذر 1387, 00:29 صبح
سلام. شما این مثال بالا رو اجرا کنید..! میبینید منظور من چیه .. فک کنم بدونم که کل فولدر برنامه رو کپی کنم همراه با فایل تنظیماتش و نه فقط فایل اجراییش رو!
باز هم ممنون از توجهتون.