VB中怎么做累加器?

2024-05-12 09:41

1. VB中怎么做累加器?

方法如下:
Option Explicit
Private Sub Form_Load()
    Dim n1 As Integer
    '这个n1变量来作为求平均值的除数,记录输入数据的次数
    Dim tot1 As Double
    '这个tot1来做为被除数,作为累加总和
    Dim aver1 As Double
    'aver1变量来作为平均数,用来输出
    Dim newinput1 As Double
    '这个newinput1用来存放用户输入的数值    
    Do
        newinput1 = Val(InputBox("请输入新的值"))
            If newinput1 = 31944027 Then 
                Exit Do
                Exit Sub
            End If
    '输入特定的数字,我的QQ号,则退出.否则是不能退出的.
        tot1 = tot1 + newinput1
        n1 = n1 + 1        
        aver1 = tot1 / n1
        Debug.Print "输入值之和=" & tot1
        Debug.Print "平均值=" & aver1
    Loop
    
End Sub

VB中怎么做累加器?

2. 请问vb制作简单文本编辑器怎么做的

这是VB的工具栏控件,可以参考:http://wenku.baidu.com/link?url=LCPtbJA5pyENKS6OdpSyGE7s4GnDfItYr2iRNImNC4loPqOpIlbz7GkfKo_KX_D8FunDz9NlMb3boabXNx7nkXDwkSrsvqmPnC2ahTTuCXu

添加工具栏要使用VB的扩展控件:ToolBar, ImageList。
这两个扩展控件开始的时候并不在工具箱中,使用的时候需要使用VB的“工程”菜单添加。具体步骤是:
选择菜单"工程"—>"部件"->"Microsoft Windows Common Controls",这样就可以在左边的工具箱中找到ToolBar, ImageList。然后,把ToolBar, ImageList拖放到Form中就可以了。

3. vb制作一个科学计算器怎么做,跪求答案!!!

我是抢劫的,把分给我吧
首先建立一个command1 然后剪切复制 系统提示说已经有一个COMMAND1 是否要建立控件数组?
你点击是 这样重复9次  分别把caption该成0到9  然后建立command2 方法同上,caption为 +-*/   然后是 command3 caption是= 
然后输入代码,首先在通用里生命dim shu1,shu2
dim suanfu as string
 private sub command1(index)_click  
text1.text=text1.text & commmand1(index).capton 
end sub
command2里 输入
shu1=text1.text
suanfu=text1.text & command(index).capiton
text1.text=""
end sub
command3里输入
shu2=text1.text
selece case suanfu
case "+"
text1.text=shu1+shu2
case "-"
text1.text=shu1-shu2
case "*"
text1.text=shu*shu2
case "/"
if shu2=0 then
msgbox "分母不能为0"
else text1.text=shu1/shu2
end if
end select
end sub
这是最简单的计算器的 如果还需要什么功能 我也可以告诉你的 我学VB3个月了 略有小成 所以想来照顾新手的  我以前也是新手啊 新手见新手两眼泪旺旺  顺便把分给我吧

vb制作一个科学计算器怎么做,跪求答案!!!

4. 怎么用VB编写这个计数器

图呢?

5. 怎么用VB程序做计算器啊???

其实比较简单啦,用一个窗体就可以实现啦! 
我自己写的,你可以看看 
Option Explicit 
Dim strNumber As String 
Dim strPoint As String 
Dim dblNum1 As Double 
Dim intOperator As Integer 
'清除结果 
Private Sub cmdGT_Click() 
txtDisplay.Text = "0." 
strNumber = "" 
strPoint = "." 
intOperator = 7 
End Sub 
'输入数字 
Private Sub cmdNumber_Click(Index As Integer) 
strNumber = strNumber & cmdNumber(Index).Caption 
txtDisplay.Text = strNumber & strPoint 
End Sub 

Private Sub cmdOnOff_Click() 
End 
End Sub 
'运算过程 
Private Sub cmdOperator_Click(Index As Integer) 
Dim dblnum2 As Double 
'是第一次单击运算符时,将输入的值先赋给第一个数,否则赋值给第二个数进行运算 
If intOperator = 7 Then 
dblNum1 = CDbl(txtDisplay.Text) 
Else 
dblnum2 = CDbl(Val(txtDisplay.Text)) 
'根据输入的符号进行运算 
'求普通运算 
Select Case intOperator 
Case 0 
dblNum1 = dblNum1 + dblnum2 
Case 1 
dblNum1 = dblNum1 - dblnum2 
Case 2 
dblNum1 = dblNum1 * dblnum2 
Case 3 
If dblnum2  0 Then 
dblNum1 = dblNum1 / dblnum2 
Else 
MsgBox "除数不能为“0”!请重新输入除数。", vbOKOnly + vbInformation, "除零错误" 
Index = intOperator 
End If 
Case 6 
dblNum1 = dblNum1 * dblnum2 / 100 
End Select 
End If 

'取得当前输入的运算符,以做下次运算 
intOperator = Index 
strNumber = "" 
txtDisplay = CStr(dblNum1) 
'判断是否为文本框中的数字加点 
If Not txtDisplay Like "*.*" Then 
txtDisplay.Text = txtDisplay.Text & "." 
End If 
End Sub 

Private Sub cmdOtherOper_Click(Index As Integer) 
Dim dblNum As Double 
'求平方根,平方, 
dblNum = CDbl(Val(txtDisplay.Text)) 

Select Case Index 
Case 0 
'验证数据是否有效 
If dblNum >= 0 Then 
txtDisplay.Text = CStr(Sqr(dblNum)) 
Else 
MsgBox "负数不能开平方根!", _ 
vbOKOnly + vbCritical, "开平方根错误" 
End If 
Case 1 
txtDisplay.Text = CStr(dblNum ^ 2) 
End Select 
'判断是否为文本框中的数字加点 
If Not txtDisplay Like "*.*" Then 
txtDisplay.Text = txtDisplay.Text & "." 
End If 
End Sub 

Private Sub cmdPoint_Click() 
strNumber = strNumber & strPoint 
strPoint = "" 
End Sub 

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) 
'使被按下的数字键的对应按钮取得焦点 
Select Case KeyCode 
Case 48 To 57 
cmdNumber(KeyCode - 48).SetFocus 
Case 96 To 105 
cmdNumber(KeyCode - 96).SetFocus 
Case Else 
'使按下的符号键对应的按钮取得焦点 
If KeyCode = 107 Or (Shift = vbShiftMask And KeyCode = 187) Then 
cmdOperator(0).SetFocus 
cmdOperator_Click (0) 
ElseIf KeyCode = 109 Or KeyCode = 189 Then 
cmdOperator(1).SetFocus 
cmdOperator_Click (1) 
ElseIf KeyCode = 106 Or (Shift = vbShiftMask And KeyCode = 56) Then 
cmdOperator(2).SetFocus 
cmdOperator_Click (2) 
ElseIf KeyCode = 111 Or KeyCode = 191 Then 
cmdOperator(3).SetFocus 
cmdOperator_Click (3) 
ElseIf KeyCode = 13 Then 
cmdOperator(7).SetFocus 
cmdOperator_Click (7) 
ElseIf KeyCode = 8 Then 
cmdGT.SetFocus 
Call cmdGT_Click 
End If 
End Select 
End Sub 
Private Sub Form_KeyPress(KeyAscii As Integer) 
'将合法的数据输入到文本框 
Select Case KeyAscii 
Case 48 To 58 
'调用数字键点击处理程序 
cmdNumber_Click KeyAscii - 48 
KeyAscii = 0 
Case 46 
'调用小数点输入 
cmdPoint_Click 
KeyAscii = 0 
Case 13 
'当敲击回车时,不能触发Form的 KeyUp 事件,因此在这里设置文本框的焦点 
txtDisplay.SetFocus 
Case Else 
KeyAscii = 0 
End Select 
End Sub 

Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer) 
txtDisplay.SetFocus 
End Sub 

Private Sub Form_Load() 
strNumber = "" 
strPoint = "." 
intOperator = 7 
End Sub

怎么用VB程序做计算器啊???

6. 用VB做文本编辑器

意思就是做个记事本吧
看下面的
用VB做一个记事本实在不很复杂,我们完全可以通过向导来很方便地做出来。但本文只打算讨论用手动方法制作记事本,旨在向VB初学者展示:学VB原来是如此容易! 
通过阅读、研究本文并按本文所述进行尝试,初学者将学到很多东西,如怎样使用RichText控件来打开和保存文件,怎样制作菜单、工具栏和状态栏以及如何对其编写代码等。 

第一章 让我们的记事本马上运行 

急于求成是初学者共有的心愿。那好,请按如下三个步骤做,我们的愿望立即就可以实现! 

步骤一:绘制界面。 
新建一个标准EXE工程,将其Caption属性改为“超级记事本”,点击Icon属性给它找个合适的Icon图标。单击菜单“工程”-“部件”,在弹出的“部件”对话框里找到Microsoft RichText Box 6.0和公共对话框Microsoft Common Dialog 6.0并选中它们,单击“确定”按钮。这时左边的工具栏上出现了我们刚才新添的两个控件了。在窗体上绘制RichText Box和Commn Dialog,其中RichText Box的大小和位置可不用理睬,我们将在代码中处理它,当然,有必要把它的ScrollBar属性设为2-rtfVertical,这样在打开和编辑文件时垂直滚动条才可用。 

步骤二:编辑菜单。 
按Ctrl+E调出菜单编辑器,我们来做如下几个菜单: 
一.文件菜单: 
文件(第一层) mnuFile 
新建(第二层) mnuNew 
打开(第二层) mnuOpen 
保存(第二层) mnuSave 
- (第二层) mnuFileSep (分隔线) 
退出(第二层) mnuExit 
二.编辑菜单: 
编辑(第一层) mnuEdit 
复制(第二层) mnuCopy 
剪切(第二层) mnuCut 
粘贴(第二层) mnuPaste 
- (第二层) mnuEditSep (分隔线) 
全选(第二层) mnuSelecAll 
三.搜索菜单: 
搜索(第一层) mnuSearch 
查找(第二层) mnuFind 
查找下一个(第二层) mnuFindOn 
四.帮助菜单: 
帮助(第一层) mnuHelp 
使用说明(第二层) mnuUsage 
关于(第二层) mnuAbout 
(注:各菜单项的快捷键请自行设置) 

好了,其它的菜单项以后再根据需要添加。现在进入: 

步骤三:编写代码。 

'声明查找变量 
Dim sFind As String 
'声明文件类型 
Dim FileType, FiType As String 

'初始化程序 
Private Sub Form_Load() 
'设置程序启动时的大小 
Me.Height = 6000 
Me.Width = 9000 
End Sub 

'设置编辑框的位置和大小 
Private Sub Form_Resize() 
On Error Resume Next '出错处理 
RichTextBox1.Top=20 
RichTextBox1.Left=20 
RichTextBox1.Height = ScaleHeight-40 
RichTextBox1.Width = ScaleWidth-40 
End Sub 

'新建文件 
Private Sub mnuNew_Click() 
RichTextBox1.Text = "" '清空文本框 
FileName = "未命名" 
Me.Caption = FileName 
End Sub 


'打开文件 
Private Sub mnuOpen_Click() 
CommonDialog1.Filter = "文本文档(*.txt)|*.txt|RTF文档(*.rtf)|*.rtf|所有文件(*.*)|*.*" 
CommonDialog1.ShowOpen 
RichTextBox1.Text = "" '清空文本框 
FileName = CommonDialog1.FileName 
RichTextBox1.LoadFile FileName 
Me.Caption = "超级记事本:" & FileName 
End Sub 

'保存文件 
Private Sub mnuSave_Click() 
CommonDialog1.Filter = "文本文档(*.txt)|*.txt|RTF文档(*.rtf)|*.rtf|所有文件(*.*)|*.*" 
CommonDialog1.ShowSave 
FileType = CommonDialog1.FileTitle 
FiType = LCase(Right(FileType, 3)) 
FileName = CommonDialog1.FileName 
Select Case FiType 
Case "txt" 
RichTextBox1.SaveFile FileName, rtfText 
Case "rtf" 
RichTextBox1.SaveFile FileName, rtfRTF 
Case "*.*" 
RichTextBox1.SaveFile FileName 
End Select 
Me.Caption = "超级记事本:" & FileName 
End Sub 

'退出 
Private Sub mnuExit_Click() 
End 
End Sub 

'复制 
Private Sub mnuCopy_Click() 
Clipboard.Clear 
Clipboard.SetText RichTextBox1.SelText 
End Sub 

'剪切 
Private Sub mnuCut_Click() 
Clipboard.Clear 
Clipboard.SetText RichTextBox1.SelText 
RichTextBox1.SelText = "" 
End Sub 

'全选 
Private Sub mnuSelectAll_Click() 
RichTextBox1.SelStart = 0 
RichTextBox1.SelLength = Len(RichTextBox1.Text) 
End Sub 

'粘贴 
Private Sub mnuPaste_Click() 
RichTextBox1.SelText = Clipboard.GetText 
End Sub 

'查找 
Private Sub mnuFind_Click() 
sFind = InputBox("请输入要查找的字、词:", "查找内容", sFind) 
RichTextBox1.Find sFind 
End Sub 

'继续查找 
Private Sub mnuFindOn_Click() 
RichTextBox1.SelStart = RichTextBox1.SelStart + RichTextBox1.SelLength + 1 
RichTextBox1.Find sFind, , Len(RichTextBox1) 
End Sub 

'使用说明 
Private Sub mnuReadme_Click() 
On Error GoTo handler 
RichTextBox1.LoadFile "Readme.txt", rtfText '请写好Readme.txt文件并存入程序所在文件夹中 
Me.Caption = "超级记事本:" & "使用说明" 
Exit Sub 
handler: 
MsgBox "使用说明文档可能已经被移除,请与作者联系。", vbOKOnly, " 错误信息" 
End Sub 

'关于 
Private Sub mnuAbout_Click() 
MsgBox "超级记事本 Ver1.0 版权所有(C) 2001 土人",vbOKOnly,"关于" 
End Sub 

'设置弹出式菜单(即在编辑框中单击鼠标右键时弹出的动态菜单) 
Private Sub RichTextBox1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) 
If Button = 2 Then 
PopupMenu mnuEdit, vbPopupMenuLeftAlign 
Else 
Exit Sub 
End If 
End Sub 

'防止在切换输入法时字体自变(感谢王必成先生提供此方案) 
Private Sub RichTextBox1_KeyUp(KeyCode As Integer, Shift As Integer) 
If KeyCode = vbKeySpace Then 
RichTextBox1.SelFontName = CommonDialog1.FontName 
End If 
End Sub 

至此,我们的记事本可以编译使用了。点击菜单“文件”-“生成XXX.EXE”,回到桌面运行我们的记事本看看,是不是颇有成就感? 
当然,这样的记事本还比较粗糙,我们还需要做些工作,请看下一章。 


第二章 美化程序界面 

多数字处理软件都有工具栏和状态栏。工具栏和状态栏除了能美化我们的程序使其更具有专业性质外,还给用户带来操作上的便利。现在我们就来做一做这两样东西。 

一.工具栏 
(一)制作工具栏 
单击“工程”-“部件”,选中Microsoft Windows Common Control 6.0并确定。这时,我们要用到的控件就出现在左边的工具栏上了。 
要做工具栏,首先需要一个叫ImageList的控件来装载图像。在程序界面上添加它,然后右键单击此控件,左键单击“属性”,弹出“属性页”对话框的“图像”,再单击“插入图片”就可以一次性装载图片了(如不满意,以后还可以添加)。图片可在C:\Microsoft Visual Studio\Common\Graphics\Bitmaps\TlBr_W95下选择(这里假设你的VB安装在C盘下)。注意了:在插入图片时给每一张图片注明关键字,以便在引用图片时不至于混乱。如插入“新建”的图片,我们在“关键字”栏注明“New”。 
图片有了,接下来在程序界面添加工具栏(ToolBar)。添加后工具栏就出现在菜单下面,右键单击它,选择“属性”,在弹出的“属性页”对话框中的“通用”项作些设置,主要如下两项: 
1.“图像列表”:选择ImageList1 
2.“样式”:根据喜爱选择1-trbStandard或者2-trbFlat 
继续点击“属性页”的“按钮”选项,插入若干按钮。按钮有多种样式,请根据需要设置。这里请一定注意:每一个与用户操作有关的按钮都必须注明关键字、装载图片,如“新建”按钮,在“关键字”项注明“新建”,在“图像”项键入“New”(即ImageList1中的图片关键字),需要的话还可以在“工具提示文本”项填入适当的提示语。 
(二)编写工具栏的按钮代码 
工具栏按钮的代码编辑很简单,可以按照下面的格式去编写: 
Private Sub ToolBar1_ButtonClick(ByVal Button As MSComctlLib.Button) 
On Error Resume Next '出错处理 
Select Case Button.Key '按关键字选择 
Case "新建" 
mnuNew_Click '等于菜单项“新建”被单击 
Case "打开" '等于菜单项“打开”被单击 
mnuOpen_Click 
'......(继续编写其它按钮的代码) 
End Select 
End Sub 

完成后试运行一下我们的程序,我们发现,有了工具栏之后,程序变得漂亮多了,只是有一个问题:打开一个较长的文档后,编辑框的下拉滚动条向上的箭头不见了。原因是:工具条占用一定的空间。解决方法:将“设置编辑框的位置和大小”中的RichTextBox1.Top = 20 和 RichTextBox1.Height = Me.ScaleHeight - 40分别改为RichTextBox1.Top = 380,RichTextBox1.Height = Me.ScaleHeight - 400即可。 

二.状态栏 
(一)制作状态栏 
状态栏的英文名字叫StatusBar,在窗体上添加它后会默认出现在窗体的最下方。用鼠标右键点击它,调出“属性页”对话框,单击“窗格”项,插入一些窗格,可以将各个窗格的“样式”设置为: 
0-sbrText 显示文本,需编写代码 
1-sbrCaps 显示大小写状态,无需编程 
2-sbrNum 显示NumLock键开关状态,无需编程 
3-sbrIns 显示Insert键状态,无需编程 
4-sbrScr1 
5-sbrTime 显示时间,不编程时时间不会随系统时钟变化 
6-sbrDate 显示日期,无需编程 
注意:加进状态栏后需将Form_Resze中的RichTextBox1.Height = Me.ScaleHeight - 400改为RichTextBox1.Height = Me.ScaleHeight - 600。 
(二)状态栏根据其“样式”属性决定用不用编写代码(如上文所述)。下面举些例子,读者可以认真揣摩,从而达到举一反三的效果。 

例一:用户选取了“新建”后,让第一个窗格显示:“目前状态:正在打开文件《……》”。请将下面代码写进“打开”菜单里面: 
StatusBar1.Panels(1).Text = "目前状态:正在打开文件" & "《" &CommonDialog1.FileTitle & "》" 

例二:让第三个窗格显示时间并让时间跟随系统时钟变化。 
首先,给程序加一个Timer控件,将其Interval属性设为1000。然后: 
在Form_Load过程加入:StatusBar1.Panels(1).Text = Time;然后给Timer控件编写代码: 

Private Sub Timer1_Timer() 
If StatusBar1.Panels(3).Text  CStr(Time) Then 
StatusBar1.Panels(3).Text = Time 
End If 
End Sub 

例三:当编辑框的文本发生变化时让第一个窗格显示:“正在编辑文档:文件名”。 
Private Sub RichTextBox1_Chang() 
StatusBar1.Panels(1).Text = "正在编辑文档:" & CommonDialog1.FileName 
End Sub 

辛苦了那么久,我们现在已经拥有一个象模象样的记事本了。这个记事本由于用了RichText控件,理论上它能打开和编辑任意大的文档,使用起来的确比Windows自带的记事本方便得多。当然,还有一些其它的功能需要添加和完善,这就靠你慢慢去完成了。 
回答完毕!

7. 怎样用VB做一个按键式的计算器

Private Enum JS    加    减    乘    除    没有End EnumPrivate Str$, D As Boolean, DH As BooleanPrivate su(1 To 2) As Double, JSF As JSPrivate Sub CBackspace_Click() '后退If Len(Str) > 1 Then '大于两个字符  Str = Left(Str, Len(Str) - 1) '减去一个字符  If InStr(Str, ".") = 0 Then D = False '如果减去的为点,设置点标志Else  If Str  "0" Then Str = "0" '如果为1位,直接清零End IfPrintTextEnd SubPrivate Sub CCE_Click() '清除当前数值 ,清屏Str = "0"D = FalsePrintTextEnd SubPrivate Sub CC_Click() '清除,归零ExeIntePrintTextEnd SubPrivate Sub CDeng_Click() '等号的运算Dim i% '申请integer变量i = JSF '运算标识号转为integer 不然会出错 enum 为 long型DH = True '设置等号标志为true YunSuan_Click i '调用计算 DH = False '设置等号标志为FalseEnd SubPrivate Sub sum_Click(Index As Integer) '0 to 9 的数组换件索引  Str = Val(Str & Index)  PrintTextEnd SubPrivate Sub PrintText() '显示处理If Str = "" Then Str = "0" '为空时,初始为0  If D Then '如果按过点    If Left(Str, 1) = "." Then Str = "0" & Str '如果点为开始 ,即数值小于1    Text1.Text = Str '显示  Else    Text1.Text = Str & "." '没有点时加上  End IfEnd SubPrivate Sub Vd_Click() '点的处理If D = False Then  Str = Str & "."  D = TrueEnd IfEnd SubPrivate Sub FUValue() '字符转成数值 su(2) = Val(Str) If DH = False Then   Str = "0"   D = False End IfEnd SubPrivate Sub YunSuan_Click(Index As Integer)On Error GoTo E   FUValue '字符转成数值  Select Case JSF '进行计算         Case 加: su(1) = su(1) + su(2)         Case 减: su(1) = su(1) - su(2)         Case 乘: su(1) = su(1) * su(2)         Case 除: su(1) = su(1) / su(2)         Case 没有  End Select  If su(1) Then Text1.Text = IIf(su(1) Mod 1 = 0, su(1) & ".", su(1)) '显示计算后的值!  JSF = Index  Exit SubE:   Text1.Text = "ERROR"   Str = "0"   D = False   JSF = 没有End SubPrivate Sub ExeInte() '参数初始   Str = "0"   D = False   JSF = 没有   su(1) = 0   su(2) = 0   DH = FalseEnd Sub

怎样用VB做一个按键式的计算器

8. 求问这个VB怎么做,最好是发frm格式文件给我

给你段MSDN中的计算器代码作参考:' ------------------------------------------------------------------------'               版权所有 (C) 1994 Microsoft Corporation'' 您可以免费以任何方式使用、修改、复制并分发您认为有用的' 示例应用程序文件 (或任何修改过的版本)。Microsoft 对任何' 示例应用程序文件不做任何保证,不负任何责任和义务。' ------------------------------------------------------------------------Option ExplicitDim Op1, Op2                ' 预先输入操作数。Dim DecimalFlag As Integer  ' 小数点存在吗?Dim NumOps As Integer       ' 操作数个数。Dim LastInput               ' 指示上一次按键事件的类型。Dim OpFlag                  ' 指示未完成的操作。Dim TempReadout' C (取消) 按钮的 Click 事件过程' 重新设置显示并初始化变量。Private Sub Cancel_Click()    Readout = Format(0, "0.")    Op1 = 0    Op2 = 0    Form_LoadEnd Sub' CE (取消输入) 按钮的 Click 事件过程。Private Sub CancelEntry_Click()    Readout = Format(0, "0.")    DecimalFlag = False    LastInput = "CE"End Sub' 小数点 (.) 按钮的 Click 事件过程' 如果上一次按键为运算符,初始化 readout 为 "0.";' 否则显示时追加一个小数点。Private Sub Decimal_Click()    If LastInput = "NEG" Then        Readout = Format(0, "-0.")    ElseIf LastInput  "NUMS" Then        Readout = Format(0, "0.")    End If    DecimalFlag = True    LastInput = "NUMS"End Sub' 窗体的初始化过程' 设置所有变量为其初始值。Private Sub Form_Load()    DecimalFlag = False    NumOps = 0    LastInput = "NONE"    OpFlag = " "    Readout = Format(0, "0.")    'Decimal.Caption = Format(0, ".")End Sub' 数字键 (0-9) 的 Click 事件过程' 向显示中的数追加新数。Private Sub Number_Click(Index As Integer)    If LastInput  "NUMS" Then        Readout = Format(0, ".")        DecimalFlag = False    End If    If DecimalFlag Then        Readout = Readout + Number(Index).Caption    Else        Readout = Left(Readout, InStr(Readout, Format(0, ".")) - 1) + Number(Index).Caption + Format(0, ".")    End If    If LastInput = "NEG" Then Readout = "-" & Readout    LastInput = "NUMS"End Sub' 运算符 (+, -, x, /, =) 的 Click 事件过程' 如果接下来的按键是数字键,增加 NumOps。' 如果有一个操作数,则设置 Op1。' 如果有两个操作数,则将 Op1 设置为 Op1 与' 当前输入字符串的运算结果,并显示结果。Private Sub Operator_Click(Index As Integer)    TempReadout = Readout    If LastInput = "NUMS" Then        NumOps = NumOps + 1    End If    Select Case NumOps        Case 0        If Operator(Index).Caption = "-" And LastInput  "NEG" Then            Readout = "-" & Readout            LastInput = "NEG"        End If        Case 1        Op1 = Readout        If Operator(Index).Caption = "-" And LastInput  "NUMS" And OpFlag  "=" Then            Readout = "-"            LastInput = "NEG"        End If        Case 2        Op2 = TempReadout        Select Case OpFlag            Case "+"                Op1 = CDbl(Op1) + CDbl(Op2)            Case "-"                Op1 = CDbl(Op1) - CDbl(Op2)            Case "X"                Op1 = CDbl(Op1) * CDbl(Op2)            Case "/"                If Op2 = 0 Then                   MsgBox "除数不能为零", 48, "计算器"                Else                   Op1 = CDbl(Op1) / CDbl(Op2)                End If            Case "="                Op1 = CDbl(Op2)            Case "%"                Op1 = CDbl(Op1) * CDbl(Op2)            End Select        Readout = Op1        NumOps = 1    End Select    If LastInput  "NEG" Then        LastInput = "OPS"        OpFlag = Operator(Index).Caption    End IfEnd Sub' 百分比键 (%) 的 Click 事件过程' 计算并显示第一个操作数的百分数。Private Sub Percent_Click()    Readout = Readout / 100    LastInput = "Ops"    OpFlag = "%"    NumOps = NumOps + 1    DecimalFlag = TrueEnd Sub
最新文章
热门文章
推荐阅读