因?yàn)門ext1里是存放字符串的,所以要把輸入的數(shù)據(jù)進(jìn)行運(yùn)算,必須把字符型變量轉(zhuǎn)變?yōu)閷?shí)型變量,分別用Num1、Num2和StrNum1、StrNum2進(jìn)行存放。
在Form_Load事件里給變量初賦值:
Num1=0
Num2=0
StrNum1=""
StrNum2=""
FirstNum=True
因?yàn)?7個(gè)按鈕使用的是同一事件,所以我們用一個(gè)SelectCase語(yǔ)句區(qū)分各個(gè)按鈕,雙擊任意按鈕輸入代碼:
PrivateSubCommand1_Click(IndexAsInteger)
SelectCaseIndex
Case0To9
IfFirstNumThen
StrNum1=Str(Index)’實(shí)型轉(zhuǎn)字符型
FirstNum=False’初賦值為假
Else’非初賦值
StrNum1=StrNum1 Str(Index)
EndIf
Text1.Text=StrNum1’顯示
<還有其他語(yǔ)句,等待插入>
EndSelect
EndSub
運(yùn)行程序的話已經(jīng)可以輸入數(shù)據(jù),下面我們來(lái)處理小數(shù)點(diǎn)。
在General里聲明新的變量:
DimPointFlagAsBoolean'判斷是否已有小數(shù)點(diǎn)
我們知道小數(shù)點(diǎn)只能輸入一次,一個(gè)數(shù)據(jù)中不能有多個(gè)小數(shù)點(diǎn)存在,所以需要一個(gè)布爾變量做判斷。
在Form_Load里進(jìn)行初賦值:
PointFlag=False
在Command的單擊事件里接著上面輸入新的代碼:
Case10
IfNotPointFlagThen’如果沒(méi)有小數(shù)點(diǎn)
IfFirstNumThen’如果是第一個(gè)字符
StrNum1="0."
FirstNum=False
Else
StrNum1=StrNum1 "."
EndIf
Else’已有小數(shù)點(diǎn)
ExitSub’則退出單擊事件
EndIf
PointFlag=True
Text1.Text=StrNum1
->