مشروع - حساب الادخار
تصميم المشروع
في المشروع الحالي
سوف نبني مشروع لحساب المدخرات ، وسوف نخصص
موضع للإيداع ، وموضع لعدد الأسابيع، ثم نخصص
موضع لعرض إجمالي المبلغ
وسوف نحتاج لأداة النص لإدخال المعلومات
، وأداة العنوان لعرض إجمالي المبلغ ، وأداة
زر الأوامر ، لتنفيذ الحساب والخروج من
البرنامج .
وضع الأدوات علي
نافذة المشروع :
ابدأ مشروع فيجوال بيسك
جديد ، وضع علي نافذة المشروع 2 أداة نص ، 4
أداة عنوان ، 2 زر أوامر ، ورتبهم بحيث يظهر
مظهر نافذة المشروع كما يلي :
ولا تستخدم خاصية
النسخ ، وضع الأدوات بنقر أداتها في نافذة
المشروع ، لكل أداة علي نحو منفصل
ضبط خواص الأدوات :
اضبط خواص الأدوات السابقة
علي النحو التالي :
أداة نافذة المشروع Form1:
قيمة
الخاصية
|
اسم
الخاصية
|
frmSavings
|
Name
|
حساب الإدخار
|
Caption
|
1-Fixed Single
|
BorderStyle
|
Arabic Transparent
|
Font
|
Alignment
|
Right
|
True
|
RightToLeft
|
أداة النص Text1:
قيمة
الخاصية
|
اسم
الخاصية
|
txtDeposit
|
Name
|
[Blank]
|
Text
|
Arabic Transparent
|
Font
|
10
|
Font Size
|
Alignment
|
Center
|
True
|
RightToLeft
|
أداة النص Text2:
قيمة
الخاصية
|
اسم
الخاصية
|
txtWeeks
|
Name
|
[Blank]
|
Text
|
Arial
|
Font
|
10
|
Font Size
|
Arabic Transparent
|
Font
|
Alignment
|
Center
|
True
|
RightToLeft
|
أداة العنوان Label1
:
قيمة
الخاصية
|
اسم
الخاصية
|
lblDepositHeading
|
Name
|
Weekly Deposit
|
Caption
|
Arabic Transparent
|
Font
|
10
|
Font Size
|
Alignment
|
Right
|
True
|
RightToLeft
|
أداة العنوان Label2
:
قيمة
الخاصية
|
اسم
الخاصية
|
lblWeeksHeading
|
Name
|
Number of Weeks
|
Caption
|
Arial
|
Font
|
10
|
Font Size
|
Arabic Transparent
|
Font
|
Alignment
|
Right
|
True
|
RightToLeft
|
أداة العنوان Label3
:
قيمة
الخاصية
|
اسم
الخاصية
|
lblTotalHeading
|
Name
|
Total Savings
|
Caption
|
10
|
Font Size
|
Arabic Transparent
|
Font
|
Alignment
|
Right
|
True
|
RightToLeft
|
أداة العنوان Label4
:
قيمة
الخاصية
|
اسم
الخاصية
|
lblTotal
|
Name
|
[Blank]
|
Caption
|
Arabic Transparent
|
Font
|
10
|
Font Size
|
White
|
BackColor
|
1-Fixed Single
|
BorderStyle
|
Alignment
|
Right
|
True
|
RightToLeft
|
واستخدام الخاصية BackColor
بجعل الخلفية بيضاء ، والخاصية BorderStyle
باختيار القيمة 1-
Fixed
تصبح أداة العنوان Label
مشابهة لأداة النص Text
من حيث منظر الرؤيا .
زر الأوامر
Command1
:
قيمة
الخاصية
|
اسم
الخاصية
|
cmdExit
|
Name
|
خروج
|
Caption
|
Arabic Transparent
|
Font
|
14
|
Font Size
|
True
|
RightToLeft
|
زر الأوامر Command2
:
قيمة
الخاصية
|
اسم
الخاصية
|
cmdCompute
|
Name
|
احسب
|
Caption
|
Arabic Transparent
|
Font
|
14
|
Font Size
|
True
|
RightToLeft
|
|
|
|
لاحظ أن خاصية Text
في أداتي النص يجب تركها خالية ، وكذلك
الخاصية Caption
للأداة
Label4
، وهذا يتم بتعليم القيمة الحالية ولمس مفتاح
الحذف Delete
، وراعي ضبط حجم خط اللغة العربية علي خط أكبر
من الخط الإنجليزي بـ 2 ، وعندما تنتهي مما سبق
سيكون شكل نافذة المشروع كما يلي :
كتابة
إجراءات الأحداث :
في المشروع الحالي
يدخل المستخدم الإيداع الأسبوعي للمدخرات -
بافتراض أن قيمة الإيداع ثابتة- في خانة الإيداع
الأسبوعي ، ثم يدخل عدد الأسابيع التي
سوف يستمر في الإيداع فيها ثم ينقر الزر احسب
فيخرج الكمبيوتر إجمالي المبلغ أما خانة إجمالي
المدخرات ، وعلي
ذلك فالحدث الأساسي هو نقر زر الأوامر
المعنون بـ احسب -
تذكر أن لديك حدث نقر آخر هو حدث الخروج -
ونحن نحتاج لمتغيرات من النوع الصحيح
لتختزن كل من الإيداع
Deposit ، وعدد الأسابيع Weeks ، و إجمالي المبلغ Total .
افتح
نافذة الشفرة وفي منطقة الإعلانات أو التصريح
، صرح أو أعلن عن متغيراتك كما يلي :
Option Explicit
Dim Deposit As Integer
Dim Weeks As Integer
Dim Total As Integer
وحدث النقر للزر احسب
cmdCompute_Click يتضمن الخطوات التالية :
1.
تحويل قيمة الإيداع من أداة
النص (txtDeposit.Text)
لعدد
واختزان القيمة في المتغير Deposit .
2.
تحويل
عدد الأسابيع من أداة النص (txtWeeks.Text)
لعدد
واختزان القيمة في المتغير Weeks .
3.
ضرب قيمة
الإيداع الأسبوع Deposit في عدد الأسابيع Weeks واختزان الناتج في المتغير
Total .
4.
تحويل القيمة المختزنة في المتغير Total إلي حرفية و وصلها أو ربطها
بكلمة "جنيه" ووضع الناتج في خاصية العنوان
Caption لأداة العنوان lblTotal
وفيما يلي توضيح بالشفرة
لتلك الخطوات :
Private
Sub cmdCompute_Click()
'الحصول علي
الإيداع
Deposit
= Val(txtDeposit.Text)
'الحصول علي
عدد الأسابيع
Weeks
= Val(txtWeeks.Text)
'حساب إجمالي
المدخرات
Total
= Deposit * Weeks
'عرض إجمالي
المدخرات
lblTotal.Caption
= Str(Total) + "جنبه"
End
Sub
لاحظ سهولة ترجمة الخطةات
السابقة لشفرة الفيجوال بيسك ، فهي تستدعي
فقط الاهتمام بالتفاصيل ، وبالتحديد استخدام
الدالتين Str و
Val،
ووظيفتهما تحويل عدد لحروفية ، وتحويل عدد
حرفي إلي عدد علي الترتيب .
وحدث نقر زر الخروج وإنها
البرنامج cmdExit_Click يبدو أكثر بساطة فهو يحتوي
علي سطر واحد هو الأمر (End)
.
Private Sub cmdExit_Click()
End
End Sub
و الآن احفظ مشروعك بملفيه
وشغله :
تشغيل المشروع Run:
شغل المشروع وانقر
أداة النص المقابلة لـ الإيداع الأسبوعي
واكتب قيمة ، وأمام عدد الأسابيع اكتب
قيمة ، ثم انثر الزر احسب ، وهنا سوف تحصل علي إجمالي
المبلغ ، تأكد من صحة الناتج بتجريب قيم تعرف
إجابتها 2 ، 4 والناتج (8) ….. الخ ، ولدي التأكد
من سلامة البرنامج انقر زر الـخروج واحفظ
مشروعك .
والمشروع كما تري
غير معقد ، فهو فقط يحسب ناتج ضرب عددين ،
ولكنه يوضح خطوات بناء مشروع الفيجوال بيسك ،
ولكنه أتاح خبرة بكيفية قراءة القيم ، وتحويل
الأعداد لحروف والعكس ، وجملة التخصيص ،
وتنسيق الأزرار والنتائج
.
تطوير المشروع :
لنفرض أنك أردت استثمار
المبلغ الذي أودعته في البنك ، والبنك سوف
يقدم لك ربح ، فكما تري فحساب المدخرات تجاهل
الأرباح ، حاول أن تضمن مشروعك حساب الأرباح ،
وسوف نقدم لك الخطوات التالية ولكن ليست
بالتفصيل :
·
عرف متغير اسمه الربح Interest لاختزان قيمة الربح السنوي ،
وقيمة الربح السنوي ستتضمن أعداد عشرية لذا
اجعل نوع المتغير Single .
·
أضف
أداة نص أخري لإدخال نسبة الربح باسم txtInterest .
·
أضف أداة
عنوان Label لتعريف أداة النص التي أضفتها وضع في
عنوانها نسبة الربح .
·
حول الشفرة لتستخدم
المتغير Interest
لحساب الإجمالي Total ، بالصيغة :
Interest
= Val(txtInterest.Text)
ويكون
قيمة الإجمالي Total :
Total
= 5200 * ( Deposit * ((1 + Interest / 5200) ^ Weeks - 1) / Interest )
والآن شغل البرنامج ، وأدخل
قيم إيداع ، وعدد الأسابيع ، ونسبة الربح مثل
10 ، عدد الأسابيع 20 ونسبة الربح 6.5 والمفروض أن
تحصل علي الإجمالي 202 جنيه ، لاحظ أن البرنامج
السابق كان سيحسب لك الإجمالي 200 جنيه
ولعلك الآن تذكر
توصيتنا بالتصريح عن جميع متغيرات ، وحتى
يتضح ذلك ضع في المشروع السابق آي متغير لم
تعلن عنه فمثلاُ في إجراء حدث الزر cmdCompute_Click وحور السطر التالي :
Deposit =
Val(txtDeposit.Text)
إلي :
Depsit = Val(txtDeposit.Text)
شغل المشروع ، ولاحظ
ماذا يحدث لدي نقرك للزر احسب ؟ ، سوف تقفز إلي
الشاشة نافذة أو مربع الرسالة التالي :
وسوف تجد المتغير Depsit مظلل Depsit في نافذة الشفرة ، ففيجوال
بيسك تخبرك بان ذلك المتغير غير معرف ، وهنا
تكتشف أن المتغير محذوف منه حرف .
والآن اذهب إلي
منطقة التصريح العامة واحذف عبارة Option
Explicit ، ثم شغل البرنامج علي خطأه السابق وانقر
الزر احسب بعد
أن تدخل قيم ، لاحظ أن البرنامج يعمل ولكن
نتائجه خطأ . ففيجوال بيسك اعتقدت أن المتغير
Depsit
يختلف عن المتغير Deposit
، ونظراً لأن البرنامج لم يحسب قيمة للمتغير Deposit
، لذا ف، فيجوال بيسك تعتبر أن قيمته هي 0 ومن ثم فلديك خطأ منطقي ، فأنت تعرف
أن هناك خطأ ما تسبب في ذلك ، ولن تقدم لك
فيجوال بيسك رسالة لمساعدتك علي تحديد ذلك
الخطأ ، ومن ثم فالتصريح عن المتغيرات يخلصك
من أخطاء كتابة المتغيرات الإملائية .
ملخص :
تعلمنا الكثير عن
أداتي العنوان Label
وأداة النص Text والمتغيرات
وتسميتها وأنواعها ، والتصريح عنها ، وتعلمت
كيفية تحويل الأعداد إلي عدد حرفي بالدالة Str
وتحويل العدد الحرفي إلي عدد بالدالة Val
، كما تعلمت أولوية إجراء العمليات الحسابية
، والآن استرح لبعض الوقت.
|