خب اين مطلبو كه قبلا هم گذاشته بودم توي وبلاگ ولي خب چون اين وبلاگ جديده ندارتش پس بد نيست كه بزارم اينجا هم
گاهي ممكنه كه قصد داشته باشيد يه مقدار رو جايي ذخيره كنيد كه بعدا هم از اون استفاده كنيد. خب راه هاي زيادي هست. حالا فرض كنيد كه يه برنامه دو زبانه (فارسي و انگليسي) داريد. بار اولي كه برنامه اجرا ميشه از كاربر زبان برنامه را سوال مي كنيد كه مثلا فارسي را انتخاب مي كند. حالا قصد داريد كه دفعه بعد كه برنامه باز ميشه ديگه اين سوال پرسيده نشه و با زباني كه بار اول انتخاب كرده برنامه نمايش داده بشه. خب وقتي فرم اصلي برنامه Load مي شود بايد چك كنيد كه آيا كاربر زباني را انتخاب كرده يا نه كه اگر انتخاب نكرده باشد فرمي باز مي شود و از كاربر مي خواهد كه زبان را انتخاب كند. حالا اگر قبلا زبان را انتخاب كرده باشد، ديگه اين فرم نبايد باز بشود و با زباني كه انتخاب شده اطلاعات را نمايش بدهد. اين كار فقط يك دستور شرطي مي باشد كه به راحتي ميشه نوشتش. ولي خب ما از كجا بفهميم كه قبلا زبان را انتخاب كرده يانه! جواب اين سوال سادست. يه جايي بايد مقدار Language را ست كنيم و مقدار Persian يا English را به آن بدهيم. حالا Language را كجا ست كنيم؟ توي ديتابيس MS Access ؟ يه فايل ؟ يا يه جاي بهتر و ساده تر …ما مقدار Language را توي رجيستري مقدار دهي مي كنيم. اما نه با استفاده از توابع API و Module هايي كه براي كار با رجيستري هست بلكه با استفاده از دو تابع SaveSetting و GetSetting …
تابع SaveSettingاين تابع وظيفه ي ذخيره كردن مقدار را دارد و به صورت زير تعريف مي شود:
SaveSetting AppName , Section , Key , Setting
حالا مثلا ما همچين دستوري رو توي VB مي نويسيم و اجرا مي كنيم:
SaveSetting Me.Caption, “Setting”, “Language”, “Persian”
خب حالا يه نگاهي به رجيستري بندازيم ببينيم اين مقاديري كه داديم كجاي رجيستري و به چه صورت ذخيره شده اند:
فكر مي كنم ديگه عكس گوياي همه چيز باشه و نيازي به توضيح نيست.
تابع GetSettingاين تابع وظيفه ي خواندن مقادير را بر عهده دارد و به صورت زير تعريف مي شود:
GetSetting AppName , Section , Key , [default]
كه پارامتر آخر (default) اختياري مي باشد و اگر مقدار دهي نكنيد مشكلي ندارد. به عنوان مثال كد زير مقداري را كه قبلا ذخيره كرده ايم را بازيابي مي كند و در يك Textbox نمايش مي دهد:
Text1.Text = GetSetting (Me.Caption, “Setting”, “Language”)
حالا اون پارامتر اختياري كه نامش default بود واسه چيه؟اگر مقداري در Key مورد نظر وجود نداشته باشد يا اصلا اين Key يا Section وجود نداشته باشد، مقدار default وارد Textbox مي شود.






























































































































