![]() |
|
كلاس Conversions من برمجتي لتحويلات الأنظمة العددية (كود + شرح + مثال) - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم مقالات VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=184) +--- الموضوع : كلاس Conversions من برمجتي لتحويلات الأنظمة العددية (كود + شرح + مثال) (/showthread.php?tid=4472) |
كلاس Conversions من برمجتي لتحويلات الأنظمة العددية (كود + شرح + مثال) - Aly El-Haddad - 25-09-12 السلام عليكم و رحمة الله و بركاته
اليوم أقدم لكم Class من برمجتي 100% لتحويلات الأنظمة العددية،
فالنبدأ بالشرح مباشرتاً: الكلاس به 15 دالة منهم دالتين أساسيتين و البقية تعتمد على تلك الدالتين قبل البدء أبحث في موقع You Tube عن فيديو بعنوان Number System - Base System - 1 of 2 لمعرفة طريقة التحويل على الورق التي سوف نحولها إلى كود برمجي لم أضع الرابط مباشرتاً لأنه يظهر في هيئة ******* الدالة الأولى:BaseToDecimal الكود: PHP كود : ''' <summary>![]() طبعاً كما نعلم أن القواعد العددية لا يمكن أن تقل عن 2 و ذلك هو عمل السطر الأول ملاحظة: عند حدوث أي خطأ في أي دالة الدالة تعود الدالة بـ0 لذلك تلك الدالة و بقية الدوال موضوعة بين Try و Catch و End Try ثم بعد ذلك ننشئ مصفوفة رقمية لتحتوي على قيم الأسس PHP كود : Dim _OS As Integer() = New Integer() {} PHP كود : For I As Integer = 0 To number.Length - 1الحلقة التكرارية For هي لتكرار أمر معين عدة مرات و صيغتها كالتالي: PHP كود : For [Variable] As [NumericDataType] = [StartFrom] To [FinishAt] Step 1و الآن إلى ما بداخل الحلقة التكرارية For طبعاً كما رأينا في شرح الفيديو فالأسس يبدأ وضعها من اليمين لليسار لذلك أستخدمت الدالة StrReverse ثم بعد ذلك يتم أستبدال كل حرف بالرقم الذي يواجهه ليتم ضربه في الأس و تستخدم الدالة Math.Abs للعودة بالقيمة الموجبة لرقم الدالة الثانية: DecimalToBase الكود: PHP كود : ''' <summary>بعد ذلك نضع متغير تحمل القيمة الموجبة للرقم المدخل ثم متغير يحمل قيمة القاعدة ثم متغير لجلب باقي القسمة ثم متغير لتحويل الأرقام الأكبر من 10 إلى الحروف التي تمثلها ثم متغير للنتيجة النهائية ثم أستخدام الحلقة التكرارية Do Until و أعتقد أنها لا تحتاج إلى شرح لأن أسمها يوضح شرحها يستخدم الكود التالي لجلب باقي القسمة PHP كود : R = VN / Bثم تم أستخدام الدالة Math.Truncate لجلب الرقم بدون كسور ثم إضافة الحرف\الرقم إلى متغير النتيجة النهائية و كما لاحظت في الفيديو السابق أنه يأخذ الأرقام من الأسفل إلى الأعلى لذلك تم أستخدام الدالة StrReverse الدالة الثالثة: BaseToBase الكود: PHP كود : ''' <summary>أول سطرين كما هو الحال في الدالتين السابقتين ثم يحول الرقم من النظام الحالي إلى النظام العشري و من ثم إلى النظام المطلوب التحويل إليه الدالة الرابعة، ......، الدالة الخامسة عشر: ليس بهم أفكار جديدة فكلها معتمدة بشكلٍ كلي على أول ثلاث دوال أما بخصوص الكود المكتوب قبل كل دالة PHP كود : ''' <summary>[FONT=&] [/FONT][FONT=&]يوجد بالمرفقات الكلاس كاملاً(الـ15 دالة) و مثال عن أستخدامهم[/FONT][FONT=&] [/FONT][FONT=&]و في النهاية أتمنى من الله أن أكود قد وفقت في شرحي[/FONT][FONT=&] و لا أنتظر منكم سوى الدعوة الصالحة و السلام عليكم و رحمة الله و بركاته[/FONT] ![]() |