24-09-2016, 04:02 AM
ارجو من الاخوة مساعدتي في كيفية عمل هذا البرنامج في دلفي و هو لحساب rip للصك البريدي
1- الحساب الجاري بدون مفتاح × 100
2- نقسم ناتج العملية رقم (1) على 97 و نحتفض بالباقي
3- نظيف العدد 85 إلى الباقي الناتج عن العملية رقم (2)
ثم ننظر إذا كان الناتج أقل من 97 نحتفض به أما إذا كان أكثر
من 97 فننقص منه العدد 97 و نحتفض بالباقي
4- نأخذ العدد 97 و ننقص منه ناتج العملية رقم (3) و الناتج هو رقم RIP
ملاحظة : إذا كان الناتج النهائي أقل من 10 فنضيف له (0) على اليسار.
مثلا:
1) 4178451 × 100 = 417845100
2) (417845100/97) = 4307681 و الباقي 43
3) 58 + 43 = 101 و بما أنه أكثر من 97 فننقص منه 97 يبقى 4
4) 97 - 4 = 93 و هو رقم (RIP)
و للعلم اني جربت عمل هذا المشروع بدلفي الا اني في اعداد كبيرة حجم فان متغير من نوع integer عند ضربه في 100 يصبح يعطي قيم سالبة
مثلا عند استعمال العدد 22416770 فما فوق فان حاصل جداءه في100 دائما يعطي العدد -2053290296
و عند تغيير النوع الى double فان الدالة mod لا تعمل
1- الحساب الجاري بدون مفتاح × 100
2- نقسم ناتج العملية رقم (1) على 97 و نحتفض بالباقي
3- نظيف العدد 85 إلى الباقي الناتج عن العملية رقم (2)
ثم ننظر إذا كان الناتج أقل من 97 نحتفض به أما إذا كان أكثر
من 97 فننقص منه العدد 97 و نحتفض بالباقي
4- نأخذ العدد 97 و ننقص منه ناتج العملية رقم (3) و الناتج هو رقم RIP
ملاحظة : إذا كان الناتج النهائي أقل من 10 فنضيف له (0) على اليسار.
مثلا:
1) 4178451 × 100 = 417845100
2) (417845100/97) = 4307681 و الباقي 43
3) 58 + 43 = 101 و بما أنه أكثر من 97 فننقص منه 97 يبقى 4
4) 97 - 4 = 93 و هو رقم (RIP)
و للعلم اني جربت عمل هذا المشروع بدلفي الا اني في اعداد كبيرة حجم فان متغير من نوع integer عند ضربه في 100 يصبح يعطي قيم سالبة
مثلا عند استعمال العدد 22416770 فما فوق فان حاصل جداءه في100 دائما يعطي العدد -2053290296
و عند تغيير النوع الى double فان الدالة mod لا تعمل