ايران ويج

نسخه‌ی کامل: ناحيه ثبات ويندوز !
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام دوستان
امروز به موضوع جالبي برخوردم "ناحیه ثبات ویندوز" که هر برنامه ای در آنجا یک بخش مختص به خود را میتواند داشته باشد. وقتی بیشتر روی این مسئله تحقیق کردم متوجه شدم در VB به وسیله فرمان SaveSettings میتوان اطلاعاتی را در این ناحیه نوشت. و به وسیله GetSettings هم اطلاعات نوشته شده را بازیابی کرد !
البته فرمان های دیگری هم مانند GetAllSettings و DeleteSettings هم در VB برای این منظور وجود دارد...
کمی جلوتر که رفتم به نمونه برنامه زیر هم برخورد کردم:
کد:
'Add a Command button to Form1. At Startup Form1 will show form2, then you can use the check boc to tell your application not to show this form at next startup. With the command button you can load the form2 even if you have checked the 'don't show this message again' check box. You can put the Form_Load code even in the Sub Main Sub...
Private Sub Command1_Click()
    Form2.Check1.Value = Val(GetSetting("MyApp", "General", "DontShow", 0))
    Form2.Show
End Sub

Private Sub Form_Load()
    If GetSetting("MyApp", "General", "DontShow", 0) = 0 Then
        Form2.Check1.Value = Val(GetSetting("MyApp", "General", "DontShow", 0))
        Form2.Show
    End If
End Sub

'Then create another form (Form2) and add a check box...the 'Don't show this message again' check box
Private Sub Check1_Click()
    SaveSetting "MyApp", "General", "DontShow", Check1.Value
End Sub
اگر کد های بالا را طبق دستور در دو فرم ایجاد کنید و به فرم اولی یک CommandButton و به دومی یک کنترل چکباکس اضافه کنید, زمانی که فرم اول را اجرا کردید و با فراخوانی فرم دوم چکباکس موجود در آن را تیک دار نمودید حتی وقتی که پروژه ذخیره شده را ببندید و دوباره باز کنید و برنامه را اجرا کنید خواهید دید که آن چکباکس داده خود را حفظ نموده است !

البته فکر میکنم این ناحیه از ثبات ویندوز قسمتی از رجیستری باشد (شاید) ...
اگر دوستان اطلاعاتی در این باره دارند از شما ممنون میشوم ما را هم در آنها شریک کنید :wink:
آقا شما که تو رجیستری کار کردی نمی دونی این با استفاده از همون رجیستریه ؟
:oops:
شايد هم قبلا خوندم ولي الان كه اصلا كاملا برام تازگى داره آره اما چيز بيشتري در موردش ميدونيد:
الان توي يه مقاله ديگه خوندم "مایکروسافت به شدت استفاده از ثبات ویندوز (رجیستری) را به جای فایل های INI توصیه میکند" ...
فقط خواستم اطلاعات همدیگر را به اشتراک گذاشته باشیم ...
سلام

در رابطه با دو تابع صحبت شده: اين دو تابع براي ذخيره وبازيابي اطلاعات در رجيستري ويندوزه. البته بايد دقت كرد كه شما با استفاده از اين دو تابع نمي تونيد در هر قسمتي از رجيستري ويندوز اطلاعات ذخيره كنيد.
در رابطه با گفته مايكروسافت: استفاده از فايلهاي INI رو بايد به فراموشي سپرد. چون درگيري با اون فايلها بسيار بالا و سرعت اونها در مقابل رجيستري پايين و آخرين موردي كه به ذهنم مي رسه اينه كه تعداد فراواني فايل INI براي برنامه هاي مختلف بايد بوجود بياد.
توابع API خوبي هم براي كار با رجيستري وجود داره كه مي تونيد از اونها استفاده كنيد. فعلا ... :wink:
متشكرم از همه دوستان كه با اين سرعت (كمتر از دو ساعت شده) جواب و حدس و گمان من رو جواب دادند ...
بازم تشكر :wink:
رجيستري رو كه بررسي ميكردم به مورد مثال ابتداي اين گفتگو برخوردم در كليد:
HKEY_CURRENT_USER\Software\VB and VBA Program Settings\MyApp\General
با داده "DontShow"="1" نونه ها ذخيره ميشوند.