حال کافی است در یونیت مربوط به این فرم، چنین کدنویسی کنیم (توجه داشته باشید که متغیرهای 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 اجرا می شود. پایان