版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、VB6.0的小程序 計算器對于剛?cè)腴T學習VB6的朋友來說肯定會做些小程序吧,這里就是給大家演示個簡單的計算器程序,僅供參考啦。界面上加減乘除四個按鈕分別是cmdAdd、cmdPlus、cmdMultiple、cmdDevide,小數(shù)點按鈕是cmdDot,負號按鈕是cmdMinuse,數(shù)字09為了偷懶,用了控件數(shù)組cmdNumber(0) cmdNumber(9),上面txtShow是顯示數(shù)字和結(jié)果用的,txtOperate是顯示中間步驟的。思路大致是這樣,點加減乘除這類操作符的時候,把當前txtShow的值保存在模塊變量mstrParam1里,同時把操作符保存到mstrOperate里,按等于
2、號時把先把當前txtShow的值保存在模塊變量mstrParam2里,然后對mstrParam1和mstrParam2進行運算,當然要記得設法把String轉(zhuǎn)換成數(shù)值進行運算。 轉(zhuǎn)換的過程要注意,這里是用的Variant數(shù)據(jù)類型,vParam1和vParam2都是Variant類型,保存的是mstrParam1和mstrParam2的數(shù)值。之所以不用integer、long、double這些標準類型,是因為這些類型都有大小限制,做出來用著不方便,VB最大的整型long才到 2147483647,這意味著計算器的計算結(jié)果只能限制在9位到10位。而Variant類型可以支持非常大的數(shù),具體多大不清
3、楚,但起碼幾十位是能夠支持的。另外,最后算完的結(jié)果也要做格式化,因為如果數(shù)值非常大的話,VB會自動轉(zhuǎn)成科學計數(shù)法,所以要用Format函數(shù)進行調(diào)整。如果需要源代碼的話在我百度空間里留言。Option ExplicitPrivate Const mstrFORMATDEFAULT As String = "#.#"Private mstrParam1 As String, mstrParam2 As StringPrivate mstrOperate As StringPrivate Sub cmdAdd_Click() mstrParam1 = Trim(txtShow.T
4、ext) mstrOperate = "+" txtShow.Text = "" txtOperate.Text = txtOperate.Text & mstrParam1 & vbCrLf txtOperate.Text = txtOperate.Text & mstrOperate & vbCrLf End SubPrivate Sub cmdPlus_Click() mstrParam1 = Trim(txtShow.Text) mstrOperate = "-" txtShow.Text =
5、"" txtOperate.Text = txtOperate.Text & mstrParam1 & vbCrLf txtOperate.Text = txtOperate.Text & mstrOperate & vbCrLf End SubPrivate Sub cmdMultiple_Click() mstrParam1 = Trim(txtShow.Text) mstrOperate = "*" txtShow.Text = "" txtOperate.Text = txtOperate.Te
6、xt & mstrParam1 & vbCrLf txtOperate.Text = txtOperate.Text & mstrOperate & vbCrLf End SubPrivate Sub cmdDevide_Click() mstrParam1 = Trim(txtShow.Text) mstrOperate = "/" txtShow.Text = "" txtOperate.Text = txtOperate.Text & mstrParam1 & vbCrLf txtOperate.Te
7、xt = txtOperate.Text & mstrOperate & vbCrLf End SubPrivate Sub cmdDot_Click() Dim mstrShow As String Dim i As Integer mstrShow = "." i = InStr(1, txtShow.Text, mstrShow) If i <= 0 Then txtShow.Text = txtShow.Text & mstrShow End If End SubPrivate Sub cmdMinuse_Click() Dim mst
8、rShow As String Dim i As Integer mstrShow = "-" i = InStr(1, txtShow.Text, mstrShow) If i <= 0 Then txtShow.Text = mstrShow & txtShow.Text Else txtShow.Text = Right(txtShow.Text, Len(txtShow.Text) - 1) End If End SubPrivate Sub cmdNumber_Click(Index As Integer) Dim mstrShow As Strin
9、g mstrShow = Index txtShow.Text = txtShow.Text & mstrShow End SubPrivate Sub cmdClear_Click() txtShow.Text = ""End SubPrivate Sub cmdResult_Click() Dim vParam1 As Variant, vParam2 As Variant Dim vResult As Variant Dim strResult As String Dim i As Long Dim blnBeforeDot As Boolean Dim ln
10、gDotPos As Long Dim blnMinuse As Boolean mstrParam2 = Trim(txtShow.Text) txtOperate.Text = txtOperate.Text & mstrParam2 & vbCrLf vParam1 = 0 blnBeforeDot = True lngDotPos = -1 blnMinuse = False For i = 1 To Len(mstrParam1) If IsNumeric(Mid(mstrParam1, i, 1) = True Then If blnBeforeDot = True
11、 Then vParam1 = vParam1 * 10 + CByte(Mid(mstrParam1, i, 1) Else vParam1 = vParam1 + CByte(Mid(mstrParam1, i, 1) * (0.1 (i - lngDotPos) End If ElseIf Mid(mstrParam1, i, 1) = "." Then blnBeforeDot = False lngDotPos = i ElseIf Mid(mstrParam1, i, 1) = "-" Then blnMinuse = True End If
12、 Next i If blnMinuse = True Then vParam1 = -vParam1 End If vParam2 = 0 blnBeforeDot = True lngDotPos = -1 blnMinuse = False For i = 1 To Len(mstrParam2) If IsNumeric(Mid(mstrParam2, i, 1) = True Then If blnBeforeDot = True Then vParam2 = vParam2 * 10 + CByte(Mid(mstrParam2, i, 1) Else vParam2 = vPar
13、am2 + CByte(Mid(mstrParam2, i, 1) * (0.1 (i - lngDotPos) End If ElseIf Mid(mstrParam2, i, 1) = "." Then blnBeforeDot = False lngDotPos = i ElseIf Mid(mstrParam2, i, 1) = "-" Then blnMinuse = True End If Next i If blnMinuse = True Then vParam2 = -vParam2 End If Select Case mstrOperate Case "+" vResult = vParam1 + vParam2 Case "-" vResult = vParam1 - vParam2 Case "*" vResult = vParam1 * vParam2 Case "/" vResult = vParam1 / vParam2 End Select txtOperate.Text = txtOperate.Text & "=" & vbCrLf strResult =
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 抵押汽車借款協(xié)議法律格式樣本
- 2024年不銹鋼管材管件購銷協(xié)議模板
- 2024年聯(lián)防保障協(xié)議書樣本
- 2024高效能發(fā)電機供應協(xié)議條款
- 2024年銀川房屋租賃化協(xié)議
- 2024年規(guī)范化勞務服務協(xié)議模板
- 2024年專業(yè)工程項目分包協(xié)議模板
- 低空經(jīng)濟的國內(nèi)外發(fā)展現(xiàn)狀
- 危險廢棄物處理現(xiàn)代化技術(shù)的創(chuàng)新與進步
- 開展鄉(xiāng)村教師評估與反饋機制
- 建立自己的文件夾
- 辦公樓消防改造方案
- 圍產(chǎn)期母嬰感染B族鏈球菌的防治及專家共識防治指南PPT課件院內(nèi)培訓
- 木材名稱對照表
- 拉波夫敘事結(jié)構(gòu)助力讀后續(xù)寫高考真題講義-高三英語二輪復習寫作專項
- 積極心理學視域下的班級文化建設
- 一企一檔模板
- 銀行保險客戶KYC基礎信息表
- JJG 1030-2007超聲流量計
- 人教版音樂八年級下冊-第四單元 神州音韻(四)-教案設計
- 小學研學游安全管理制度(學習生活技能資料)
評論
0/150
提交評論