دسته
لينك هاي دسترسي سريع
مطالب من در ثبت مطالب روزانه
آرشیو
آمار وبلاگ
تعداد بازدید : 1158257
تعداد نوشته ها : 1368
تعداد نظرات : 348
Rss
طراح قالب
مهدي يوسفي
توابع SaveSetting و GetSetting

» وقتی شما برنامه ای مانند ویژوال بیسیک را اجرا می کنید و در محیط کاری آن تغییراتی ایجاد می نمایید ، این تغییرات برای اجرای بعدی برنامه ثبت می شوند . برای مثال اگر شما ToolBox وی بی را مخفی کنید در اجرای بعدی آن ToolBox نمایش داده نخواهد شد . این امر در بسیاری از برنامه های دیگر نیز صدق میکند . این تغییرات که در اصطلاح ( Setting ) نام دارند یا در رجیستری یا در یک فایل ذخیره می شوند . خود VB این تغییرات را در رجیستری ثبت میکند و هنگام اجرا محیط خود را بر اساس این داده ها تنظیم می نماید .

» هنگامی که کلمه رجیستری در VB به گوش برنامه نویسان می رسد سریع ذهن آنها را متوجه توابع پیچیده API مربوط به کار با رجیستری می کند . برای همین من امروز می خواهم روش ذخیره کردن تنظیمات یک برنامه در رجیستری را بدون استفاده از توابع پیچیده مخصوص کار با رجیستری به وسیله دو تابع بسیار ساده مخصوص این کار به شما معرفی کنم :

» تابع SaveSetting : برای ساخت کلید و ذخیره کردن اطلاعات در رجیستری .

( SaveSetting ( AppName As String , Section As String , Key As String , Setting As String

_ AppName : این پارامتر مشخص کننده نام برنامه ( پروژه ) است . البته هر نوشته دیگری هم می تواند باشد که نام کلید اصلی در رجیستری را مشخص می کند .

_ Section : این پارامتر نا کلید زیر شاخه است که بیشتر از نام Setting برای آن استفاده می کنند .

_ Key : این پارامتر مشخص کننده نام کلید از نوع String است که داده ها در آن ذخیره می شوند .

_ Setting : این پارامتر هم که اصلی ترین بخش است همان داده یا مقداری است که در کلید ذخیره می شود .

» برای مثال : تابع با پارامتر های ورودی زیر مقدار رشته ( "1" ) را در کلید SampleKey ذخیره می کند .

"SaveSetting "Test" , "Setting" , "SampleKey" , "1

_ شاید از خودتان بپرسید که مسیر این کلید در رجیستری چگونه است . کلیه این کلیدها و مقادیر که ایجاد می شوند در آدرس زیر قرار می گیرند و ما نمی توانیم از آدرس دیگری استفاده نماییم :

\HKEY_CURRENT_USER\Software\VB and VBA Program Settings

در مثال قبلی مقادیر در شاخه زیر ذخیره می شوند که شما می توانید با مراجعه به آن به این مطلب پی ببرید :

HKEY_CURRENT_USER\Software\VB and VBA Program Settings\Test\Setting

» تابع GetSetting : برای خواندن اطلاعات از رجیستری .

(GetSetting ( AppName As String , Section As String , Key As String , Setting As String

_ پارامتر های این تابع به جز گزینه آخر که در این تابع جایی ندارد دقیقا شبیه به هم هستند :

( " KeyValue = GetSetting ( " Test" , "Setting" , "SampleKey

_ در این مثال مقدار ( 1 ) را که قبلا با تابع قبلی در کلید SampleKey قرار دادیم درون متغیر KeyValue قرار می گیرید .

» برنامه نمونه : حال می خواهیم برنامه جالبی با استفاده از این توابع معرفی شده بنویسیم .

شرح برنامه : می خواهیم برنامه ای بنویسیم که دارای تعداد مشخص اجرا باشد . یعنی کاربر فقط بتواند پنج بار این برنامه را اجرا کند و در هر بار اجرای آن پیغامی مبنی بر تعداد باقیمانده دفعات اجرا برای کاربر نمایش داده شود و هنگامی که این تعداد به پایان رسید پیغامی نمایش داده شود که دیگر کاربر نمی تواند این برنامه را اجرا نماید . مانند برنامه هایی که دارای قفل یا به اصطلاح رجیستری هستند .

_ برای این کار شما فقط کافی است کدهای زیر را در Form_Load برنامه خود قرار دهید :

()Private Sub Form_Load
Dim RunCount As String
( "RunCount = GetSetting("Test", "Setting", "RunCount
If Val(RunCount) > 5 Then

_,"مهلت اجرای برنامه به پایان رسیده و شما دیگر قادر به اجرای آن نخواهید بود"MsgBox vbExclamation , "اتمام مهلت"

End
Else

_ ,"شما فقط " & ((Str(4 - Val(RunCount & " بار دیگر می توانید این برنامه را اجرا کنید" MsgBox

vbInformation, "تعداد اجرای باقیمانده"

(SaveSetting "Test", "Setting", "RunCount", Str(Val(RunCount) + 1
End If
End Sub

حال فایل exe از برنامه خود بسازید و آن را اجرا نمایید

*******************************

پنج شنبه بیست و ششم 10 1387
X