مثال: طراحی يک ماشين حساب ساده
فرض کنيد بخواهيم يک ماشين حساب ساده، مطابق آنچه در شکل 7 میبينيد، طراحی کنيم:
يک Label به نام lblDisplay به عنوان نمايشگر ماشين حساب و با Caption برابر مقدار" 0" (زيرا مقدار اوليه ماشينحسابها صفر می باشد) در محل خود قرار می دهيم. همچنين يکCommandButtonبه نام cmdequal به عنوان دکمه مساوی" و با Caption برابر "= " نيز در محل مخصوص خود قرار می دهيم.
حال ده عدد Command Botton ديگر با Caption های به ترتيب برابر " 0" تا "9 " را در جای خود قرار می دهيم و سپس نام همه اين ده دکمه را به نام cmdNumber تغيير می دهيم. در اين صورت همانطور که گفته شد، VB اين ده کنترل را به صورت آرايه کنترلی (Control Array) در نظر خواهد گرفت (به پيغام داده شده با همين مضمون جواب Yes دهيد).
به همين ترتيب چهار CommandButton ديگر را با Captionهای "+ " و "- " و "* " و "/ " و با نام يکسان cmdOprator به عنوان دکمه های چهار عمل اصلی به صورت آرايه کنترلی در محل های خود قرار می دهيم.
حال کافی است در يونيت مربوط به اين فرم، چنين کدنويسی کنيم (توجه داشته باشيد که متغيرهاي x و y و op در سطح فرم (Form Level) تعريف شده اند و لذا مقدار آن در تمام فرم قابل دسترسی خواهد بود) :
![]()
Option Explicit
Dim x,y As Integer
Dim op As String
( Private Sub cmdNumber_Click (Index As Integer
“” =IF lblDisplay = “Ø” then lblDisplay
lblDisplay = lblDisplay + cmdNumber(Index).Caption
End Sub
( Private Sub cmdOprator_Click (Index As Integer
( x = Val(lblDisplay
op = cmdOprator(Index).Caption
” lblDisplay = “Ø
End Sub
() Private Sub cmdEqual_Click
( y = Val (lblDisplay
Select Case op
“+” Case
lblDisplay = x + y
“-”Case
lblDisplay = x - y
“*” Case
lblDisplay = x * y
“/” Case
lblDisplay = x / y
End Select
End Sub
![]()
توجه داريد که:
-
در رويدادهايی که مربوط به آرايه های کنترلی (يعنی cmd Number و cmdoperator ) است، يک پارامتر به نام Index در آن وجود دارد که شماره Index (انديس) کليدی که فشرده شده را برمیگرداند. و لذا مثلاً cmdOprator(Index).Caption برابر "+" خواهد بود، اگر کليد + فشرده شود و برابر "- " خواهد بود، اگر کليد – زده شود و ...
-
مشخصه (Property) پيش فرض برای Labelها Caption است و لذا هر جا lblDisplay ذکر شده است، توسط VB مانند lblDisplay.Caption در نظر گرفته می شود.
-
توسط دستور Select Case، يک متغير (که نام آن جلوی دستور Select Case نوشته می شود) با مقادير مختلفی (که جلوی دستورات Case بعدی نوشته می شود) چک می شود که اگر برابر هر يک از اين مقادير بود، دستور پس از همان Case اجرا می شود