المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : كيف نتجاوز رسالة الخطا بخصوص الاكشن Registry.GetValue


علي قد حالي
27-04-2016, 07:37 PM
السلام عليكم ورحمة الله وبركاته :abc_025:
وضعت في الاوتوبلاي الكود التالي

reg_data = Registry.GetValue(HKEY_LOCAL_MACHINE, "Software\\Munshedon", "Value", false);
ثم قمت بتفريغ الريجستري بنفسي بحيث أصبحت القيمة Value فارغة فظهرت رسالة الخطأ التالية
Error: attempt to perform arithmetic on global 'reg_data'

في حالة ظلت القيمة Value ممتلئة بالارقام لا تظهر هذه الرسالة ، تظهر فقط اذا كانت القيمة Value فارغة في الريجستري
السؤال كيف يمكن تجاوز رسالة الخطأ ؟ :abc_088:
تحياتي لكم جميعا إخواني :abc_138::abc_138::abc_138:

ثامر أبو بلقيس
27-04-2016, 08:17 PM
وعليكم السلام ورحمة الله وبركاته

عني لا أملك جوابا الا بعد وضعي في نفس ظروف تسجيل القيمة Value حتى يظهر عندي
الخطأ لتفاديه
بمعنى ملف مفتوح يوضح أو وصف لعملية التسجيل قد يسهل ... للأسف لا أعرف جوابا للتساؤل
موفق :abc_130:

ربيع
27-04-2016, 10:48 PM
ســؤال صعب يلزمه خبير تحليل رسائل الخطأ و أحداث صدورها :abc_152:

علي قد حالي
28-04-2016, 11:14 AM
وعليكم السلام ورحمة الله وبركاته

عني لا أملك جوابا الا بعد وضعي في نفس ظروف تسجيل القيمة Value حتى يظهر عندي
الخطأ لتفاديه
بمعنى ملف مفتوح يوضح أو وصف لعملية التسجيل قد يسهل ... للأسف لا أعرف جوابا للتساؤل
موفق :abc_130:

اخي ثامر ... الملف المفتوح بالمرفقات :abc_088:
ما فعلته انا كالتالي
قمت بالضغط علي زر Set number in registry ثم اعدت المعاينة وقمت بالضغط علي الزر الاخر Get number from registry فوجدت الامور علي ما يرام
ثم دخلت علي الريجستري من regedit وبدات اغير قيمة value يدويا و اشاهد ما يحدث للمشروع عند معاينته
عندما اغير قيمة value لتصبح رقما اخر غير 123456 ثم اجرب معاينة مشروع الاوتوبلاي تظهر هذه الرسالة وهي ليست مشكلة لانها مكتوبة فعلا في الكود
The value read from the Registry is 123456
المشكلة عندما اغير قيمة value لتصبح فارغة تماما ثم اعيد معاينة مشروع الاوتوبلاي فانه تظهر رسالة الخطأ هذه
Error: attempt to perform arithmetic on global 'reg_data'
ما معني هذه الرسالة ؟
اريد التخلص منها اذا تم تفريغ الريجستري يدويا بحيث تظهر رسالة من اختياري انا و لكني لا اعرف كيف افعل ذلك باكواد الاوتوبلاي :abc_103:

علي قد حالي
28-04-2016, 11:16 AM
ســؤال صعب يلزمه خبير تحليل رسائل الخطأ و أحداث صدورها :abc_152:
مرور عطر أخي ربيع :abc_025:

ثامر أبو بلقيس
28-04-2016, 12:47 PM
جرب هذا :

if reg_data ~= nil then
if reg_data == 123456 then
Dialog.Message("Registry Data", "The value read from the Registry is 123456");
else
Dialog.Message("Registry Data", "The value read from the Registry is not 123456");
end
end

ثامر أبو بلقيس
28-04-2016, 01:09 PM
و هو نفسه :
if reg_data ~= nil then
if reg_data == Registry.GetValue(HKEY_CURRENT_USER, "Software\\My Application", "Value", true) then
Dialog.Message("Registry Data", "The value read from the Registry is"..Registry.GetValue(HKEY_CURRENT_USER, "Software\\My Application", "Value", true));
else
Dialog.Message("Registry Data", "The value read from the Registry is 0 ");
end
end

ربيع
28-04-2016, 01:18 PM
و هذا أحسن لتحيين النتائج
reg_data = Registry.GetValue(HKEY_CURRENT_USER, "Software\\My Application", "Value", true)
if reg_data ~= nil and reg_data~="" then
if reg_data == Registry.GetValue(HKEY_CURRENT_USER, "Software\\My Application", "Value", true) then
Dialog.Message("Registry Data", "The value read from the Registry is"..Registry.GetValue(HKEY_CURRENT_USER, "Software\\My Application", "Value", true));
end
else
Dialog.Message("Registry Data", "The value read from the Registry is 0 ");
end

ثامر أبو بلقيس
28-04-2016, 01:24 PM
و قد نتخلى عن دالة شرطية لا قيمة لها ونختصر :
reg_data = Registry.GetValue(HKEY_CURRENT_USER, "Software\\My Application", "Value", true)
if reg_data ~= nil and reg_data~="" then
Dialog.Message("Registry Data", "The value read from the Registry is"..Registry.GetValue(HKEY_CURRENT_USER, "Software\\My Application", "Value", true));
else
Dialog.Message("Registry Data", "The value read from the Registry is 0 ");
end

فرح صالحي
28-04-2016, 03:50 PM
موفق بإذن الله ...:abc_152: لك مني أجمل تحية .

علي قد حالي
28-04-2016, 07:08 PM
السلام عليكم ورحمة الله وبركاته
الكود ظبط معي بارك الله فيكم جميعا
أخي الحبيب ثامر ... هل توجد لك شروحات في البرمجة ؟ :abc_088:
إن كانت الإجابة (نعم) فأخبرني بكيفية الحصول عليها وإن كانت (لا) ففكر في ذلك أخي الحبيب فهو خير عظيم إن أخلصت النية وصدقة جارية :abc_052:

أخي ربيع أثريت الموضوع بمشاركتك و تكويدك ... بارك الله فيك :abc_152:

أخي فرج صالحي عطرت الموضوع بمرورك :abc_025: