PDA

View Full Version : رجیستری یا ini



sajjad_vb
سه شنبه 16 مرداد 1386, 21:01 عصر
سلام
میخواهم نظرات دوستان رو راجع به ذخیره کردن تنظیمات یک برنامه در رجیستری یا یک فایل ini بدونم. اینکه کدوم بهتره؟ هر چی نظر دارین بدین.

sajjad_vb
چهارشنبه 17 مرداد 1386, 13:46 عصر
یعنی کسی راجع به این مسئله نظری نداره!!!!!!!!!!

Hossein Bazyan
چهارشنبه 17 مرداد 1386, 16:23 عصر
سلام
من ترجیحا رجیستری را ترجیح میدهم

مبین رنجبر
چهارشنبه 17 مرداد 1386, 18:41 عصر
رجیستری به دلایل محکمی بسیار بهتر از ini هست چون امکان کرک شدن برنامه و سرک کشیدن در تنظیمات برنامه در فایل ini بسیار راحت تر از رجیستری است .... البته اگر در ذخیره تنظیمات برنامه در رجیستری می خواهید اعتماد کامل داشته باشید باید مسیر ذخیره اطلاعات رو یه مسیر گنگ و سخت انتخاب کنید مثل : HKEY_CURRENT_CONFIG .... بیشتر کاربر هایی که به دنبال دستکاری تنضیمات برنامه هستند 98 % به این 2 تا آدرس رجوع می کنند : HKEY_CURRENT_USER و HKEY_LOCAl_MACHINE

همین

و در آخر شعار من : علم به تنهایی کافی نیست ، تجربه ، خلاقیت و کنجکاوی تکمیل کننده آن است

حامد مصافی
پنج شنبه 18 مرداد 1386, 09:16 صبح
از حیث درجه اطمینان هیچ کدام برتر از دیگری نیستند.

من خودم به شخصه فایل های INI را ترجیح می دهد. چون هنگام استفاده از فایل ها امکان پشتیبان گیری از تنظیمات برنامه و ساخت چندین تنظیم و همچنین سهولت پیاده سازی امکان چند کاربره را دارید.



البته اگر در ذخیره تنظیمات برنامه در رجیستری می خواهید اعتماد کامل داشته باشی
هرگز نمیشه به ذخیره سازی اطمینان کامل داشت.

M-Gheibi
پنج شنبه 18 مرداد 1386, 11:21 صبح
دقیقاً همونطور که حامد گفت استفاده از رجیستری برای مسائل امنیتی هیچ برتری‌ای نسبت به ini نداره . به همون راحتی که اطلاعات ini قابل دسترسی هست اطلاعات رجیستری نیز ...
البته پر واضحه که در هیچ کدوم از این دو ، اطلاعات مهم ، محرمانه و همچون اینها ذخیره نمیشه .

به شخصه برای تنظیمات معمولی مثلاً تعیین پوسته‌ی نرم‌افزار و مسائل اینچنینی استفاده از ini‌ رو ترجیح میدم .

farzadvb
جمعه 19 مرداد 1386, 10:14 صبح
بابا دنیا به سمت پیشرفته شما میخوای برگردی به عصر یخبندان !
iniبرا ویندوزهای سری 9Xبود که مایکروسافت تصمیم گرفت برای اینکه ابزارها و برناه های که از ویندوزهای 9Xاستفاده میکردند دچار مشکل نشود به صورت محدود امکان استفاده از اونها را در xpقرار بده،وگرنه الان امکان استفاده از این فایل ها داخل Xpنبود گذشته از همه اینها میشه یک برتری فایل های iniرو توضیح بدید و بگید که اساسا شما با فایل های iniچه کار شاخصی میتونید انجام بدید.

حامد مصافی
جمعه 19 مرداد 1386, 14:32 عصر
iniبرا ویندوزهای سری 9Xبود که مایکروسافت تصمیم گرفت برای اینکه ابزارها و برناه های که از ویندوزهای 9Xاستفاده میکردند دچار مشکل نشود به صورت محدود امکان استفاده از اونها را در xpقرار بده،وگرنه الان امکان استفاده از این فایل ها داخل Xpنبود گذشته از همه اینها میشه یک برتری فایل های iniرو توضیح بدید و بگید که اساسا شما با فایل های iniچه کار شاخصی میتونید انجام بدید.
ظاهراً پست های بالا رو با دقت نخوندی!

farzadvb
جمعه 19 مرداد 1386, 15:26 عصر
ظاهراً پست های بالا رو با دقت نخوندی!

که چی؟
چیز خاصی نوشته نشده بود.

حامد مصافی
جمعه 19 مرداد 1386, 15:44 عصر
> چیز خاصی نوشته نشده بود.


...چون هنگام استفاده از فایل ها امکان پشتیبان گیری از تنظیمات برنامه و ساخت چندین تنظیم و همچنین سهولت پیاده سازی امکان چند کاربره را دارید.


به شخصه برای تنظیمات معمولی مثلاً تعیین پوسته‌ی نرم‌افزار و مسائل اینچنینی استفاده از ini‌ رو ترجیح میدم .

Danial_Yousefi
جمعه 19 مرداد 1386, 17:53 عصر
همان طور که دو دوست دیگمون هم گفتند رجیستری هیچ مزیتی نسبت به ini نداره و بعضی وقت ها ini بهتر کار میکنه دلیلش هم اینه که اولا کار با هاش سادس و مثل هر فایل متنی دیگه میشه باز کرد بدون درد سر ولی رجیستری نیاز به اجازه مدیر توابع api و خیلی دردسر های دیگه هم داره فقط مزیتش اینه که راحت میشه قایمش کرد که البته در معمولا توسط برنامه های تمیز کردن رجیستری به عنوان فایل اضافه پاک میشه من خودم ini رو ترجیح میدم

farzadvb
جمعه 19 مرداد 1386, 17:57 عصر
> چیز خاصی نوشته نشده بود.

عزیز من بحث سر اینکه وقتی مایکروسافت فایل های iniرو رها کرده و تکنولوژی بسیار پیچیده ای رو مثل رجیستری پیاده سازی کرده چرا باید ما برگردیم به عقب و از فایل های iniاستفاده کنیم البته شما مختاری که هر جور راحتی کار کنی و این کاملا سلیقه ای هستش.حالا چرا این قدر من پافشاری میکنم رو این قضیه به این دلیله که شما ساختار رجیستری رو نمی شناسی اگر با سیستم های پایگاه داده ای آشنا باشی حتما بانکهای با حجم از پیش تعیین شده رو میدونی چیه رجیستری یه نمونه از این نوع سیستم هاست ، سرعت و پیچیدگی این نوع سیستم ها فوق العاده بالا است و همچنین یک پارچگی وعدم افزونگی در اونها .رجیستری یک پایگاه داده پیچیده با حجم محدود حداکثر 40مگاباتی هست که از هر لحاظ بخوای قیاس کنی چه از لحاظ سرعت چه از لحاظ امنیت از روشهای دیگه بهتره،چون ممکن است که اطلاعات روی هارد خراب بشن یا اصلا پاک بشن اما اگه قرار باشه رجیستری خراب بشه باید قید ویندوز رو هم بزنی که به ندرت این اتفاق رخ میده.جدا از اون ویندوز خودش همیشه یک پشتیبان از رجیستری روداره که در صورت خرابی به راحتی از طریق خط فرمان داس قابل بازیابی هست.تازه پشتیبان گیری از یک کلید رجیستری به مراتب ساده تر از فایل های دیگر است.به هر صورت همون طور که گفتم همه چیز بستگی به فکر و سلیقه برنامه نویس داره در آخر اینکه علت کنار گذاره شدن این سیستم ها افزونگی شدید،سرعت پایین و حجم بالا و به ریختگی اونها بوده است.
کامل نوشتم که چیزه مبهمی نمونده باشه ! :اشتباه:

حامد مصافی
شنبه 20 مرداد 1386, 15:15 عصر
حالا چرا این قدر من پافشاری میکنم رو این قضیه به این دلیله که شما ساختار رجیستری رو نمی شناسی...حتم دارم زمانی که من با نسخه های اولیه VB -که حتی توانایی تولید فایل اجرایی رو نداشتند- یا حتی قبل از اون با gwbasic و qbasic کار می کردم شما چیزی از کامپیوتر نمی دونستید!


... چرا باید ما برگردیم به عقب و از فایل های iniاستفاده کنیم...شما در گذشته حضور دارید نیازی به برگشت به عقب نیست. زبان محبوب شما -VB6- مربوط به سده پیش است. در رویکرد های نوین توسعه مطرح شده مایکروسافت رجیستری بخش حذف شده ای برای یک برنامه کاربردی است.
در سیستم های نوین توسعه مایکروسافت -که مبنای چهار چوب کاری دات نت بنا شده اند- رجیستری جایگاه رسمی سابق خود را ندارد. توصیه مایکروسافت بر ذخیره سازی اطلاعات در متا دیتا -که گمان نمی کنم شما ساختار آن را بشناسید(!)- است.
کسی که با زبانی مثل VB6 برنامه نویسی می کنه نمی تونه ادعایی در به روز بودن داشته باشه.
قبل از اینکه جنابعالی چشم به جمال VB باز کنید این محیط توسعه معروف به toy بود.


...رجیستری یک پایگاه داده پیچیده با حجم محدود حداکثر 40مگاباتی هست...رجیستری یک سری اطلاعات به صورت منظم -شبیه به یک پایگاه داده (فقط شبیه)- است که در قالب یک استریم همیشه باز در سطح هسته ویندوز با برنامه های کاربردی در ارتباط است.


...همچنین یک پارچگی وعدم افزونگی ...منظورت از یکپارچگی چیه؟
یعنی چی عدم افزونگی در رجیستری؟ می دونی افزونگی یعنی چی؟



...چون ممکن است که اطلاعات روی هارد خراب بشن یا اصلا پاک بشن اما اگه قرار باشه رجیستری خراب بشه باید قید ویندوز رو هم بزنی که به ندرت این اتفاق رخ میده.اگر اطلاعات روی هارد پاک بشوند به معنی این است که برنامه شما نیز پاک شده است. پس نیازی به نگرانی در از دست دادن اطلاعات ندارید.
ضمناً هیچ آدم عاقلی (!) اطلاعاتی مهمی را -که از دست دادنشان مایه تاسف است- در رجیستری ذخیره نمی کند!


تازه پشتیبان گیری از یک کلید رجیستری به مراتب ساده تر از فایل های دیگر است.!!!

farzadvb
شنبه 20 مرداد 1386, 21:17 عصر
حتم دارم زمانی که من با نسخه های اولیه VB -که حتی توانایی تولید فایل اجرایی رو نداشتند- یا حتی قبل از اون با gwbasic و qbasic کار می کردم شما چیزی از کامپیوتر نمی دونستید!

شما در گذشته حضور دارید نیازی به برگشت به عقب نیست. زبان محبوب شما -VB6- مربوط به سده پیش است. در رویکرد های نوین توسعه مطرح شده مایکروسافت رجیستری بخش حذف شده ای برای یک برنامه کاربردی است.
در سیستم های نوین توسعه مایکروسافت -که مبنای چهار چوب کاری دات نت بنا شده اند- رجیستری جایگاه رسمی سابق خود را ندارد. توصیه مایکروسافت بر ذخیره سازی اطلاعات در متا دیتا -که گمان نمی کنم شما ساختار آن را بشناسید(!)- است.
کسی که با زبانی مثل VB6 برنامه نویسی می کنه نمی تونه ادعایی در به روز بودن داشته باشه.
قبل از اینکه جنابعالی چشم به جمال VB باز کنید این محیط توسعه معروف به toy بود.

رجیستری یک سری اطلاعات به صورت منظم -شبیه به یک پایگاه داده (فقط شبیه)- است که در قالب یک استریم همیشه باز در سطح هسته ویندوز با برنامه های کاربردی در ارتباط است.

منظورت از یکپارچگی چیه؟
یعنی چی عدم افزونگی در رجیستری؟ می دونی افزونگی یعنی چی؟


اگر اطلاعات روی هارد پاک بشوند به معنی این است که برنامه شما نیز پاک شده است. پس نیازی به نگرانی در از دست دادن اطلاعات ندارید.
ضمناً هیچ آدم عاقلی (!) اطلاعاتی مهمی را -که از دست دادنشان مایه تاسف است- در رجیستری ذخیره نمی کند!

!!!

1-من هیچ وقت قصد به رخ کشیدن اطلاعات ام را برای کسی نداشتم اگه برداشت شما اینه برات متاسفم رو این حساب جواب اولین گزینه رو نمیدم.

2-کی گفته زبان فعلی مورد استفاده من VB هست. نکنه علمه غیب داری شما .من یک زمانی ویژال بیسیک رو خیلی دوست داشتم.در ضمن مهم نیست که با چی مینویسی مهم اینه که چی مینویسی. نام Farzadvb صرفا یک علاقه شخصی بودش نه فراتر از اون.

3-درباره رجیستری و ساختارش هم اول شما بهتره کتاب ذخیره و بازیابی اطلاعات استاد رانکوهی رو کامل بخونی بعد بیا با هم بحث می کنیم که رجیستری چیه و سیستم های با حجم از پیش تعیین شده چه کارایی دارند.اگه من پروژه ذخیره و بازیابی اطلاعات دوران دانشجویی ام رو بخوام اینجا بگذارم و در موردش توضیح بدم خیلی از چیزا روشن میشن.من با هم دانشکده ای هام با زبان c سیستمی را فرا تراز اکسس طراحی کرده بودیم که اطلاعات بالای ده میلیون رکورد را کمتر از چند ثانیه واکشی میکرد.که بعدا در مباحث مدیریت حافظه اصلی دچار مشکل شدیم و رهاش کردیم.

4-شمایی که از دوران طفولیت gwbasicو qbasicکار میکردی نمیدونی افزونگی و یکپارچکی چیه داخل یک بانک اطلاعاتی؟ نباید هم بدونی !مثل خودت پیش داوری نمیکنم اما فکر نکنم یه تک واحدی دراین باره پاس کرده باشی یا شاید هم حتما پاس کردی ولی خوب یاد نگرفتی !

5-فلسفه ایجاد رجیستری مکانی برای رجیستر یا ثبت تنظیمات برنامه هاست .من نگفتم برو اطلاعات بانک اطلاعاتی رو بریز داخل رجیستری بلکه گفتم تنظیمات ریز مثل آخرین استفاده و.... بهترین راهش نوشتن در رجیستری هستش.بحث پاک شدن و از بین رفتن زمانی مطرح میشه که کاربری عمدا یا سهوا فایل iniمورد علاقه شما رو پاک کنه.که این اتفاق برای کاربران مبتدی کامپیوتر یک چیز معمول هست.اما آیا اون کاریر میتونه که از داخل رجیستری این عمل رو انجام بده ؟ مسلما نه ! و احتمال ویروسی شدن فایل های جداگانه از برنامه ها بسیار بالاست.همون مبحث metadata(ساده سازی و دسته بندی اطلاعات معمول مورد نیاز برنامه) با شما کاملا موافق هستم که در سیستم های جدید رجیستری کاملا دگرگون شده و به این شکل فعلی نیست. اما دوست عزیز ما بحثمون درباره xp و vbبود نه دات نت و مک یا ویستا.

6-بحث درباره ویژوال بیسیک رو میگزارم کنار چون با شما موافقم که یک زبان اسکریپتی تقریبا از دور بیرون رفته هست.(البته الان طبق آخرین آمار فکر کنم ویژوال بیسیک سومین یا چهارمین زبان محبوب دنیاست و سی شارپ با اون عظمت و تبلیغ در رده دهم یا یازدهم باشه)همه میدونیم که چون Data typeهای وی بی با c که زبان اصلی توابع ویندوز هستش همخونی ندارند و دیگه اینکه وی بی زبان کلاس بندی شده ای نیست و شما مجبوری همه ی بار همخوان سازی نوع داده ها وتوابع ویندوز را با تعریف های متعدد به دوش بکشی و از آنجایی که ما ایرانی ها اساسا انسان های تن پروری هستیم و هر چه راحت الحلقوم تر باشه بهتره رو همین حساب پس ini بهتره.اما اگه دلفی کار کرده باشی شما با تعریف چند متغییر ساده میتونی هر عملی رو از قبیل خواندن و نوشتن پاک کردن رو انجام بدی بدون اینکه نیاز به حتی یک خط کد اضافه باشه در دات نت هم به همین شکله با Importکردن کلاسش خیلی راحت میتونی هر کاری رو انجام بدی.نه لزوما فایل باز کنی ، از فایلت مواظبت کنی یا اساسا خودت تراکنش جداگانه رو برای خوندن اطلاعات انجام بدی.

7-خب میرم سراغ Metadata حدوداً من سال 2004یک سری اطلاعات درباره Metadataشنیده بودم اما الان تقریبا اطلاعات ام تکمیل تر هست.متا دیتا در حقیقت و عامیانه ای میشه گفت که یک سری اطلاعاتی از اطلاعات هست و نه اون چیزی که ما از موجودیت یک فایل در رسانه سراغ داریم.برای مثال در یک برنامه پردازش گر مثل wordاطلاعات یک نامه ،متن یا هر چیزی ، همون اطلاعات ما هستند.که شامل ایکون ها ، تصاویر، سازنده فایل یا ویرایش گر اون و نوع کدینگ استفاده شده و غیرو.آیا همه اطلاعات شما در زمان ذخیره سازی یک فایل می شوند یا 56 تا فایل ؟ قدر مسلم یک فایل میشن دیگه.این میشه گفت معنای مت دیتا هست البته در سیستم فایل.فایلهای کمکی forks یا انشعاب نامیده میشوند که این وظیفه رو به عهده دارند.که البته در مباحث سیستم فایل و برنامه نویسی خیلی گسترده تر میشه و جای خیلی بحث داره.در حقیقت تمام انشعاب های یک فایل رو در درون یک فایل قرار میده مثل آیکن ها ، کدهای مورد نیاز و هر آن چیزی که نیاز باشه.اما در سیستم فایلهای جدید دقیقا نمی دونم که آیا اطلاعات کدها یا ... در resource fork ذخیره میشن یا catalog entry for the nodeو بحث درباره اون خیلی پیچیده وگسترده میشه حالا بحث درباره چارچوب فریم ورک را اصلا پیش نمیکشم که خودش جای خیلی بحث و بررسی جداگونه داره.من اینها رو میدونم اما ما داریم درباره ویژوال بیسک و فایل iniبحث میکنیم.


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

من اینجا بحث رو برای خودم میبندم و دیگه این تاپیک رو پی نمیگیرم .امیدوارم دوست عزیزی که تاپیک رو شروع کرده بودند جوابشون رو گرفته باشند.

majjjj
یک شنبه 30 دی 1386, 11:10 صبح
دوستان عزیز
فقط میخواستم بگم فایلهای ini محدودیت حجم هم دارن

HjSoft
یک شنبه 30 دی 1386, 15:21 عصر
به نظر من اکنون ( در حال حاضر ( به دلیل داشتن مشکلات زیاد آنتی ویروس ها با ریجستری بهتر ini است چون مشکلی نداره برای اطلاعات بیشتر به این تاپیک مراجعه کنید
http://barnamenevis.org/forum/showthread.php?t=91734

mainprogramer
دوشنبه 20 اسفند 1386, 11:43 صبح
یه موضوع پروژه ی توپ میخوام
برام ایمیل کنید
مرسی