ربيع
31-07-2014, 04:06 AM
السلام عليكم ورحمة الله وبركاته
لتوضيح هذا الإجراء أكثر
01 - التصريح بعدد مرات استعمال البرنامج هنااا تم اختيار 3 مرات
kiss = 3
02 - قراءة قيمة في الريجستري بتسمية معينة مع تحويل التعامل مع القيمة كرقم و ليست نص و هذا ما يوضحه السطر الثاني
result = Registry.GetValue(HKEY_LOCAL_MACHINE, "Software\\My Application", "bel", true);
result = String.ToNumber(result);
03 - نكنب شرط اذا كانت القيمة المقروءة سابقا من الريجستري تساوي صفر و هذا طبيعي عند تشغيل البرنامج لأول وهلة
if result==0 then
04 - ماذا يحدث ؟؟؟ سيكتب البرنامج هذا المفتاح الذي لم يجده سابقا و بالتالي قيمته 0 و يعطيه القيمة 1
Registry.SetValue(HKEY_LOCAL_MACHINE, "Software\\My Application", "bel",1);
05- جيد اذا تحقق شرط أن هذه القيمة أكبر من 0 وهذا طبيعي بعد الاستعمال الاول وكذلك سنحددالقيمة بأن تكون أقل من عدد المرات
elseif result>0 and result<kiss then
06 - سيقوم برنامج بقراءة القيمة ويضيف لها واحد
y = Registry.GetValue(HKEY_LOCAL_MACHINE, "Software\\My Application", "bel", true);
e = y +1
07-ثم يسجلها مكان الاولى و هكذا تستمر العملية لغاية ؟؟؟
Registry.SetValue(HKEY_LOCAL_MACHINE, "Software\\My Application", "bel", e);
Dialog.Message("Notice","عدد المرات المتبقية لاستعمال البرنامج تجريبيا:"..kiss+1 - e);
08-تحقق قيمة الريجستري تساوي تماما لعدد المرات المختار في بداية الكود
elseif result == kiss then
09-ليخبرنا البرنامج على انتهاء المهلة التجريبية و يغلق
Dialog.Message("Notice", "انتهت المدة التجريبية عليك بشراء البرنامج");
Application.Exit(0);
10- نغلق الاكواد الان :
end
انتهى جمع الاكواد تحت بعضها في on startup وعاين مشروعك ليخبرك بعد المعاينة الثالثة
أن المهلة التجريبية انتهت انتهى و السلام عليكم :abc_138:
ملاحظة : إجراءات التعامل مع الريجستري تتطلب أن يكون البرنامج مسؤول
بدون ذلك لن تظهر النتائج
لتوضيح هذا الإجراء أكثر
01 - التصريح بعدد مرات استعمال البرنامج هنااا تم اختيار 3 مرات
kiss = 3
02 - قراءة قيمة في الريجستري بتسمية معينة مع تحويل التعامل مع القيمة كرقم و ليست نص و هذا ما يوضحه السطر الثاني
result = Registry.GetValue(HKEY_LOCAL_MACHINE, "Software\\My Application", "bel", true);
result = String.ToNumber(result);
03 - نكنب شرط اذا كانت القيمة المقروءة سابقا من الريجستري تساوي صفر و هذا طبيعي عند تشغيل البرنامج لأول وهلة
if result==0 then
04 - ماذا يحدث ؟؟؟ سيكتب البرنامج هذا المفتاح الذي لم يجده سابقا و بالتالي قيمته 0 و يعطيه القيمة 1
Registry.SetValue(HKEY_LOCAL_MACHINE, "Software\\My Application", "bel",1);
05- جيد اذا تحقق شرط أن هذه القيمة أكبر من 0 وهذا طبيعي بعد الاستعمال الاول وكذلك سنحددالقيمة بأن تكون أقل من عدد المرات
elseif result>0 and result<kiss then
06 - سيقوم برنامج بقراءة القيمة ويضيف لها واحد
y = Registry.GetValue(HKEY_LOCAL_MACHINE, "Software\\My Application", "bel", true);
e = y +1
07-ثم يسجلها مكان الاولى و هكذا تستمر العملية لغاية ؟؟؟
Registry.SetValue(HKEY_LOCAL_MACHINE, "Software\\My Application", "bel", e);
Dialog.Message("Notice","عدد المرات المتبقية لاستعمال البرنامج تجريبيا:"..kiss+1 - e);
08-تحقق قيمة الريجستري تساوي تماما لعدد المرات المختار في بداية الكود
elseif result == kiss then
09-ليخبرنا البرنامج على انتهاء المهلة التجريبية و يغلق
Dialog.Message("Notice", "انتهت المدة التجريبية عليك بشراء البرنامج");
Application.Exit(0);
10- نغلق الاكواد الان :
end
انتهى جمع الاكواد تحت بعضها في on startup وعاين مشروعك ليخبرك بعد المعاينة الثالثة
أن المهلة التجريبية انتهت انتهى و السلام عليكم :abc_138:
ملاحظة : إجراءات التعامل مع الريجستري تتطلب أن يكون البرنامج مسؤول
بدون ذلك لن تظهر النتائج