'Text1输入,Text2结果
Private Sub Text1_KeyPress(KeyAscii As Integer)
Static int1 As Integer
DebugPrint KeyAscii '45-,43+
If KeyAscii = 45 Or KeyAscii = 43 Then
'+,-
If int1 = 0 Then
Text2Text = Val(Text1Text)
Else
Text2Text = Val(Text2Text) + int1 Val(Text1Text)
End If
Text1Text = ""
int1 = (44 - KeyAscii)
KeyAscii = 0
ElseIf (KeyAscii < 48 Or KeyAscii > 57) Then
KeyAscii = 0 '取消输入
Else
End If
End Sub
Private Sub Form_Click()
Dim i, j, k
i = InputBox("输入要累加的最大数字")
For j = 1 To Val(i)'使i数字化
k = k + j'累加
Next
Print k
End Sub
以下这个函数可以计算任意一天是当年的第几天,入口参数输入要计算的日期,函数返回值为当年的第几天。
Function CalDt(Dt As Date) As Integer
Dim Year As String
Dim Diff As Integer
Year = Format(Dt, "yyyy-01-01") '获得当年的第一天
Diff = DateDiff("d", Year, Dt) '计算两个日期间的差距
Diff = Diff + 1 '增加一天,即从1开始
CalDt = Diff
End Function
把日期控件得到的日期作为入口参数,定义一个整形变量获得返回值,然后把返回值显示在位文本中即可。
补充:
DateDiff函数支持闰年的自动处理,我刚测试过的,没有问题的。
若按钮为Command1,数值加1的文本框为Text1。
在Command1_Click中输入:
Text1Text = Val(Text1Text) + 1
即可。
中间的算法如下:
Dim sum As Integer
n = 99 '你输入的最大数
i = 1
sum = 0
Do Until i > n
sum = sum + i
i = i + 1
Loop
'求和到此为止,下面的是求素数
k = 1
Do Until k > n
For j = 1 To k / 2
If k Mod j = 0 And j <> 1 Then
Exit For
End If
Next j
If j > k / 2 And k <> 2 Then
MsgBox k
End If
k = k + 1
Loop
假定左边那个是控件数组Text1,右边的是控件数组Text2,按钮是Command1,则
Private Sub Command1_Click()
Dim s As Long, i As Long
For i = Text1LBound To Text1UBound
s = s + Len(Text1(i)Text)
Text2(i)Text = s
Next
End Sub
以上就是关于我想设计一个vb计算器程序,只能用小键盘输入,只有两个文本框,一个是当前输入数,一个是累计数,全部的内容,包括:我想设计一个vb计算器程序,只能用小键盘输入,只有两个文本框,一个是当前输入数,一个是累计数,、VB中求1到n的累加和、vb 日期天数的累加等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)