كيف تصنع آلة حاسبة باستخدام Visual Basic

click fraud protection

افتح Visual Basic 6 ، وحدد "Standard EXE" من قائمة المشروع الجديدة. سترى نموذج فارغ يظهر على الشاشة.

أعد تسمية المشروع والنموذج الخاص بك عن طريق النقر فوق "مشروع 1" على الجانب الأيمن من الشاشة ، في قائمة المشروع ، وإدخال اسم جديد في سطر "الاسم" في مربع الخصائص ، والذي يجب أن يظهر أسفل قائمة المشروع بواسطة إفتراضي. اضغط على "أدخل" لقبول الاسم الجديد. افعل الشيء نفسه مع النموذج (اسم النموذج المقترح هو "CalculatorUI") ، وتأكد من إدخال اسم مشابه في خاصية "Caption" أيضًا ، مما سيؤدي إلى تغيير النص في الشريط العلوي من النموذج. احفظ المشروع في مجلد جديد على جهاز الكمبيوتر الخاص بك.

إضافة أزرار ومربع نص إلى النموذج. أولاً ، أضف مربع نص ، حيث تظهر الأرقام التي تم إدخالها في الآلة الحاسبة ، بالإضافة إلى نتائج الحسابات. قم بذلك عن طريق تحديد زر TextBox من شريط الأدوات على الجانب الأيسر من الشاشة ، ثم سحب بالماوس الحجم والموقع الذي تريده لـ TextBox. بمجرد وضع TextBox ، يمكنك تغيير الحجم والموقع عن طريق سحبه إلى موقع آخر من النموذج أو عن طريق سحب المقابض (المربعات الصغيرة) على طول حدود TextBox. تأكد من تغيير الأسطر التالية في نافذة الخصائص ، مع تحديد مربع نص: "(الاسم)" = tbResult ، "المحاذاة" = 1- ضبط لليمين ، "تنسيق البيانات" = (انقر فوق الزر "..." لتحديد) الرقم ، "مغلق" = صحيح ، و "نص" = 0.

حدد رمز CommandButton على شريط الأدوات وأنشئ الزر الأول بنفس الطريقة التي أنشأت بها مربع النص لإضافة أزرار. كمرجع ، استخدم حاسبة Windows في العرض القياسي (البرامج> الملحقات> الآلة الحاسبة) كأساس لتخطيط الآلة الحاسبة ، مع استبعاد الأزرار "MC" و "MR" و "MS" و "M +". على كل زر ، قم بتغيير الخصائص التالية (باستخدام الزر "+" كمثال): "(الاسم)" = btnPlus ، "Caption" = +. افعل الشيء نفسه بالنسبة لبقية أزرار الآلة الحاسبة ، ثم احفظ عملك. يجب أن يشبه النموذج الخاص بك الآن المثال الموضح هنا.

أضف الكود. لاحظ أنه إذا لم يتم تسمية الأزرار ومربع النص بنفس الاسم الذي يتوقعه الرمز المدرج هنا ، فستحتاج لتغيير الأسماء لتتناسب مع الأزرار ومربع النص ، أو تغيير الأزرار ومربع النص لمطابقة ذلك الشفرة. نحتاج أولاً إلى إنشاء بعض المتغيرات لمعالجة مدخلات الآلة الحاسبة:

خافت إلى اليسار كسلسلة ، يمين كسلسلة ، عامل تشغيل مثل خافت السلسلة يتحول إلى ضعف ، يمين كمزدوج ، iResult مثل خافت مزدوج بتبقي مثل قيمة منطقية

تتكون كل عملية حسابية من أربعة أجزاء: رقم على يسار عامل التشغيل (sLeft ، iLeft) ، عامل تشغيل (sOperator) ، رقم على يمين المشغل (sRight ، iRight) ، ونتيجة (iResult). من أجل تتبع ما إذا كان المستخدم يقوم بإدخال الرقم الأيسر أو الأيمن ، نحتاج إلى إنشاء متغير منطقي ، bLeft. إذا كانت bLeft صحيحة ، فسيتم إدخال الجانب الأيسر من الحساب ؛ إذا كانت bLeft خاطئة ، يتم إدخال الجانب الأيمن.

تهيئة المتغير bLeft. نقوم بذلك عن طريق إنشاء روتين فرعي Form_Load ، والذي يمكنك إما كتابته كما هو مدرج هنا أو إنشائه تلقائيًا بالنقر المزدوج على أي جزء من النموذج لا يغطيه زر أو مربع نص. داخل الوظيفة ، نحتاج إلى ضبط bLeft على True ، لأن الرقم الأول الذي يتم إدخاله سيكون الجزء الأيسر:

قم بإنشاء روتين فرعي يتعامل مع النقر فوق أي من أزرار الأرقام. نقوم بإنشاء هذا كإجراء فرعي لأننا نستخدم رمزًا متطابقًا لكل زر ، واستخدام روتين فرعي يعني عدم الاضطرار إلى تكرار نفس الرمز عشر مرات. أدخل ما يلي أسفل سطر End Sub الروتين الفرعي Form_Load:

كما ترى ، تأخذ هذه الوظيفة معلمة سلسلة ، sNumber ، والتي ستحتوي على الرقم الذي نقر عليه المستخدم. إذا كانت bLeft صحيحة ، يتم إلحاق هذا الرقم بالسلسلة التي تمثل الرقم الذي يتم إدخاله ، ويتم تحديث مربع النص ، tbResult ، لعرض الرقم الجديد. إذا كانت bLeft خاطئة ، فسيتم إجراء نفس العملية باستخدام sRight بدلاً من ذلك.

أخيرًا ، قم بإنشاء وظيفة حدث النقر لكل رقم يستدعي روتين AddNumber الخاص بنا. يمكنك القيام بذلك بسهولة عن طريق النقر نقرًا مزدوجًا فوق كل زر رقم ، مما يؤدي إلى إنشاء بنية الإجراء الفرعي لك. ثم أضف المكالمة إلى AddNumber ، واستبدل الرقم الموجود في علامات الاقتباس بالرقم المرتبط بالزر. بالنسبة لزر الصفر ، سيبدو الرمز الخاص بك كما يلي:

وبالمثل ، بالنسبة للزر الواحد ، سيبدو الرمز الخاص بك كما يلي:

تعامل مع عوامل التشغيل: زائد ، ناقص ، مرات ، وقسمة. سنفعل هذا مثل الخطوة الأخيرة ، حيث ننشئ روتينًا فرعيًا يسمى في أحداث النقر لأزرار المشغل. سيبدو الروتين الفرعي كما يلي:

إذا كانت bLeft صحيحة ، بمعنى أن المستخدم قد أدخل للتو الجزء الأيسر من الحساب ، فإن هذا الروتين الفرعي يعيّن متغير sOperator أنشأناه في الخطوة 5 ليساوي العامل الذي تم إدخاله ، والذي يتم تمريره إلى AddOperator كسلسلة مشغل جديد. الخطوة الثانية هي ضبط bLeft على False ، لأن إدخال عامل التشغيل يعني أن المستخدم قد انتهى من إدخال الجانب الأيسر من المعادلة. من أجل معالجة الإدخالات التي تربط عدة عوامل معًا ، مثل 9 * 3 * 2 * 6 ، نحتاج إلى ذلك تحقق أيضًا مما إذا كانت bLeft خاطئة ، مما يعني أن المستخدم قد أدخل عامل تشغيل حيث كنا نتوقع وجود ملف يساوي. أولاً ، نسمي حدث النقر لزر يساوي (الموصوف في الخطوة التالية) ، والذي يقوم بالحساب ويعين tbResult إلى نتيجة ما تم إدخاله بالفعل. ثم نقوم بمسح sRight حتى يتمكن المستخدم من إدخال الرقم التالي ، وضبط bLeft على False حتى يعرف البرنامج أننا ندخل الجانب الأيمن من الحساب بعد ذلك.

أخيرًا ، أضف استدعاء AddOperator إلى حدث Click لكل زر عامل ، باستخدام نفس الطريقة التي استخدمناها في الخطوة 7 لإنشاء أحداث Click لأزرار الأرقام. سيبدو الرمز الخاص بك لزر الإضافة كما يلي:

قم بإنشاء حدث Click لزر يساوي ، وهو الرمز الأكثر تعقيدًا في هذا البرنامج. قم بإنشاء بنية روتين فرعي كما فعلت للأزرار الأخرى ، عن طريق النقر المزدوج فوق زر يساوي في النموذج الخاص بك. سيبدو الروتين الفرعي الخاص بك على هذا النحو عندما تقوم بإدخال الرمز:

تتحقق الأسطر الثلاثة الأولى من الكود لمعرفة ما إذا كان قد تم إدخال جانبي الحساب جنبًا إلى جنب مع عامل التشغيل. إذا تم إدخال الجانب الأيسر وعامل التشغيل فقط ، فسيتم نسخ قيمة الجانب الأيسر إلى اليمين ، حتى نتمكن من محاكاة سلوك الآلة الحاسبة القياسي للتعامل مع إدخال مثل 9 * = ، والذي يضرب 9 في نفسه للحصول على نتيجة 81. سيتم تشغيل باقي الكود فقط إذا تم إدخال اليسار واليمين والعامل ، ويبدأ بالنسخ سلاسل الأرقام في متغيرات iLeft و iRight المزدوجة ، والتي يمكن أن تفعل الشيء الفعلي العمليات الحسابية. تسمح لنا عبارة Select Case بتشغيل كود مختلف بناءً على العامل الذي تم إدخاله ، وإجراء الحساب الفعلي ، ووضع النتيجة في iResult. أخيرًا ، نقوم بتحديث مربع النص بالنتيجة ، ونسخ النتيجة إلى sLeft ، وإعادة تعيين sRight ، وتعيين bLeft = True. تسمح لنا هذه الأسطر الأخيرة بأخذ نتيجة الحساب واستخدامها لإجراء عملية حسابية أخرى.

تعامل مع أزرار التشغيل الثلاثة الأخيرة: sqrt و٪ و 1 / x. بالنسبة إلى حدث النقر لزر الجذر التربيعي ، ستبدو التعليمات البرمجية الخاصة بك على النحو التالي:

تأكد من أول 11 سطرًا من التعليمات البرمجية أنه إذا لم يكن لدينا قيمة تم إدخالها لأي من جانبي المعادلة ، نستبدل الصفر بدلًا من محاولة نسخ سلسلة فارغة إلى iLeft أو iRight ، والتي ستنشئ ملف خطأ. تؤدي الخطوط الوسطى وظيفة الجذر التربيعي في الجزء الحالي من الحساب ، إما يسارًا أو يمينًا. أخيرًا ، قمنا بعكس عمليات التحقق التي أجريناها في البداية بحيث يتم نسخ الصفر كسلسلة فارغة مرة أخرى إلى sLeft و sRight.

بالنسبة لزر النسبة المئوية ، يكون الرمز مشابهًا ، مع استثناء واحد: لا يمكن إجراء عملية النسبة المئوية إلا إذا تم إدخال كلا الجانبين الأيمن والأيسر.

أخيرًا ، حدث النقر 1 / x أو الكسر ، والذي يشبه إلى حد بعيد الكود أعلاه:

أضف التعليمات البرمجية للتعامل مع الأزرار C و CE. يمسح C كل المدخلات إلى الآلة الحاسبة ، بينما CE يمسح فقط الرقم الذي يتم إدخاله حاليًا.

قم بتشغيل برنامج الآلة الحاسبة الخاص بك وقم بأي عملية حسابية تريدها. يمكن توسيع هذه الآلة الحاسبة بسهولة للتعامل مع المزيد من العمليات أو العمليات الحسابية الأكثر تعقيدًا أو حتى لتكون آلة حاسبة علمية مع القليل من العمل الإضافي.

نصيحة

إذا واجهت أخطاء ، فتحقق من التعليمات البرمجية سطراً بسطر ، مع التركيز على الأسطر التي وصفها VB على أنها تحتوي على أخطاء ، وقارنها بالرمز أعلاه. تم اختبار الكود الموجود في هذه المقالة بالكامل ليكون خاليًا من الأخطاء ، لذا فإن نسخه بأمانة سينتج عنه برنامج وظيفي. إذا كنت تستخدم إصدارًا سابقًا من Visual Basic ، فقد تواجه بعض المشكلات حيث تم إجراء تغييرات في اللغة عبر الإصدارات. الإصدارات السابقة من VB ، على سبيل المثال ، استخدمت Math. Sqrt () بدلاً من Math. Sqr () لإجراء عملية الجذر التربيعي. تحقق من المراجع الخاصة بإصدارك المحدد لمعرفة ما إذا كانت هناك أية تغييرات ضرورية.