1樓:匿名使用者
按你的要求做的**如下:
在1個新窗體上編排以下控制元件:
新增1個label1控制元件用作顯示資料,name=lblscreen
新增1個command控制元件陣列(10個數字)用作輸入資料的按鈕0~9,name=cmdnumber,index=0~9
新增1個command控制元件用作小數點按鈕「.」,name=cmdpoint
新增1個command控制元件等號按鈕「=」,name=cmdequal
新增1個command控制元件陣列(4個符號)用作加減乘除按鈕,name=cmdarithmetic,index=0~3
好了,然後複製以下**執行即可成功啦:
private strcalculatetype as string '存放運算型別
private blncalflag as boolean '標記是否已經輸入加數、或減數、或乘數、或除數等
private dblnum1 as double '存放被加數、或被減數、或被乘數、或被除數等
private dblnum2 as double '存放加數、或減數、或乘數、或除數等
private dblmemo as double '記憶體中的數
private sub form_load()
dim i as integer
lblscreen = "0" '初始化顯示屏和關閉按鈕
lblscreen.backcolor = vbblack
strcalculatetype = "" '初始化運算子型別和標記變數
blncalflag = false
dblmemo = 0 '初始化記憶體變數
end sub
'四則運算
private sub cmdarithmetic_click(index as integer)
select case index
case 0 '輸入加法
cmdequal_click
strcalculatetype = "+"
dblnum1 = val(lblscreen)
case 1 '輸入減法
cmdequal_click
strcalculatetype = "-"
dblnum1 = val(lblscreen)
case 2 '輸入乘法
cmdequal_click
strcalculatetype = "*"
dblnum1 = val(lblscreen)
case 3 '輸入初法
cmdequal_click
strcalculatetype = "/"
dblnum1 = val(lblscreen)
end select
end sub
'求結果(即等於)
private sub cmdequal_click()
dblnum2 = val(lblscreen)
if strcalculatetype = "/" then
lblscreen = dblnum1 / dblnum2
elseif strcalculatetype = "*" then
lblscreen = dblnum1 * dblnum2
elseif strcalculatetype = "-" then
lblscreen = dblnum1 - dblnum2
elseif strcalculatetype = "+" then
lblscreen = dblnum1 + dblnum2
elseif strcalculatetype = "x^y" then
lblscreen = dblnum1 ^ dblnum2
end if
' if left(lblscreen.caption, 1) = "." then lblscreen.
caption = "0" & lblscreen.caption
' if len(lblscreen.caption) > 15 then lblscreen.caption = left(lblscreen.caption, 15)
strcalculatetype = ""
blncalflag = false
end sub
'使用控制元件陣列輸入資料
private sub cmdnumber_click(index as integer)
if lblscreen = "0" then
lblscreen = ""
end if
if blncalflag = false then
lblscreen = cstr(index)
blncalflag = true
else
lblscreen = lblscreen + cstr(index)
end if
end sub
'輸入小數點
private sub cmdpoint_click()
if blncalflag = true then
if instr(1, lblscreen, ".") = 0 then
if lblscreen <> "" then
lblscreen = lblscreen + "."
else
lblscreen = "0."
end if
end if
else
if blncalflag = false then
lblscreen = "0."
blncalflag = true
end if
end if
end sub
怎麼樣?給你的**非常詳細了吧,包括給你的解說哦!
2樓:刀心
用select case 語句 很簡單的
簡易vb加法計算器,請教各位大神**出錯了,該怎麼辦啊
3樓:_死亡狙擊手
private sub text1_change(index as integer)
end sub
亮點是這一段,我估計你的text1被複製成為控制元件陣列了而你使用text1.text並沒有加上識別符號,如:text1(0).text,所以導致錯誤
還有就是你以為黏貼了text2和text3,其實text2和text3反而被黏貼成了text1(1)和text1(2)
建議重新開個工程,儘量不要複製黏貼控制元件
如果黏貼控制元件的時候彈出對話方塊是否建立控制元件陣列,點選否
4樓:銷聲匿跡
你沒有載入
text2.text
text3.text
5樓:ma教教主
你應該根本就沒有叫text3的東西(注意大小寫),死亡狙擊手說的有可能是對的,也有可能只是你單純的大小寫問題
有沒有大神可以幫我用vb做一個簡易計算器啊,能加減乘除,退格、倒數等功能就好了,快考試了,好方啊!! 10
6樓:
介面上放1個文字框。6個按鈕,分別為+、-、*、/、=、c定義幾個窗體級變數
dim x1 as double, x2 as doubledim operateid as integer窗體裝載時給初值
private sub form1_load()x1 = 0
x2 = 0
operateid = 0
end sub
c按鈕,即清零按鈕
private sub button6_click()x1 = 0
x2 = 0
operateid = 0
text1.text = 0
end sub
+按鈕private sub button1_click()calculate()
x1 = val(text1.text)
operateid = 1
end sub
-按鈕private sub button2_click()calculate()
x1 = val(text1.text)
operateid = 2
end sub
*按鈕private sub button3_click()calculate()
x1 = val(text1.text)
operateid = 3
end sub
/按鈕private sub button4_click()calculate()
x1 = val(text1.text)
operateid = 4
end sub
=按鈕private sub button5_click()calculate()
end sub
計算用的函式
sub calculate()
x2 = val(text1.text)
select case operateidcase 1
textbox1.text = x1 + x2case 2
textbox1.text = x1 - x2case 3
textbox1.text = x1 * x2case 4
textbox1.text = x1 / x2end select
operateid = 0
end sub
如何用vb製作計算器(只要有加減乘除,三個文字框)?
7樓:魚木混豬喲
vb中的textbox裡的內容預設是string型別,,如果用+號連線,就會認為是字元型資料做連線運算。如果想要作為數字進行加法,就必須強制轉換算成數值型,可以用val函式來實現轉換。以加法為例:
private sub command1_click() '加text3.text = val(text1) + val(text2.text)
text1.text = ""
text2.text = ""
end sub
其餘幾個預算,也是一樣的道理。
8樓:吹花
private sub command1_click() '加
text3.text = val(text1) + val(text2.text)
text1.text = ""
text2.text = ""
end sub
private sub command2_click() '減
text3.text = val(text1) - val(text2.text)
text1.text = ""
text2.text = ""
end sub
private sub command3_click() '乘
text3.text = val(text1) * val(text2.text)
text1.text = ""
text2.text = ""
end sub
private sub command4_click() '除
text3.text = val(text1) / val(text2.text)
text1.text = ""
text2.text = ""
end sub
注:textbox裡的內容是是string型別,參與運算時應該強制轉換算成數值型,用val函式
你這裡+號兩端都是字元型別資料,在vb中是做連線運算。
咋做英語急急急十萬火急求大神,咋做英語急急急十萬火急求大神幫忙啊
look whymy time canwhat that about where great look whythat time 咋做急急急十萬火急求大神幫忙英語 1 color 2 know 3 meet 4 and 5 call 6 under 7 girl 8 yours 9must 10 s...
工傷!急急急急急急!求律師大神
雖然你們沒有簽訂勞動合同,但是你們存在實際的勞動關係,在工作中發生事故,當然可以申報工傷。如果當地勞動部門不予受理,你可以直接向人民法院提起訴訟!首先對於你的遭遇表示同情。其次如果你確實在這上班,得有證據,比如上崗證啊,或者能夠證明你在這上班的東西啊。第三這事勞動部門確實應該得管,如果你確實在這單位...
求cad大神畫圖,急急急,求cad大神畫圖,急急急!
發 草圖 看下 大概,或者 具體尺寸發出來 也沒個要求,畫什麼,有沒有草圖,這些都不說,人家怎麼知道要不要幫你呢 求cad大神幫畫圖!急急急 請先看一下這個截圖,如果認為可用,請追問,再上傳圖紙給你。或,黑白的 最起碼懸賞100才單獨給你畫 我幫你畫,得給我點時間 求工程圖學大神讀圖cad畫圖!等,...