永发信息网

VB 计算显示出多个TEXT文本框最高和最低数字

答案:1  悬赏:30  手机版
解决时间 2021-04-02 06:27
  • 提问者网友:动次大次蹦擦擦
  • 2021-04-02 00:27
VB 计算显示出多个TEXT文本框最高和最低数字
最佳答案
  • 五星知识达人网友:轮獄道
  • 2021-04-02 00:51
这个要知道你的数据如何获得,还需知道你的数据刷新的频率。
Private Sub Timer1_Timer()
Dim t(5) As Single
Dim i As Integer
For i = 1 To 5
t(i) = Val(Text1(i - 1).Text)
Next
For i = 1 To 5
If t(i) > t(0) Then
t(0) = t(i)
End If
Next
Text2.Text = t(0)
For i = 1 To 5
If t(i) < t(0) Then
t(0) = t(i)
End If
Next
Text3.Text = t(0)
End Sub追问我有个按钮,点击就能获取数据,获取数据后就自动计算最高和最低追答那就把我的代码加在你获取数据的代码后面。
Dim t(5) As Single
Dim i As Integer
For i = 1 To 5
t(i) = Val(Text1(i - 1).Text) '也可直接使用你保存数据的变量
Next '把文本框中的值赋给数组变量
For i = 1 To 5
If t(i) > t(0) Then
t(0) = t(i)
End If
Next '求最高温度值
Text2.Text = t(0)
For i = 1 To 5
If t(i) < t(0) Then
t(0) = t(i)
End If
Next '求最低温度值
Text3.Text = t(0)追问这个一个问题,我温度格式是XX°C ~ YY°C,自动算出来的最低应该是YY里面的一个数,例如下图:最高应该是18°C ,最低应该是3°C ,你的计算出来最高18°C ,最低15°C 

追答原来是格式的问题,我帮你修改一下。因为最低温度可能为两位数,最高温度有可能为三位数,要根据字符串的长度来判断。
Dim t(10) As Single
Dim i As Integer,j As Integer
For i = 1 To 5
t(i) = val(left(Text1(i - 1).Text,2)) '也可直接使用你保存数据的变量
Next '把文本框中的值赋给数组变量
For i = 6 To 10
j=iif(len(Text1(i - 1).Text)=6,1,2)
t(i) = val(mid(Text1(i - 1).Text,5,j)) '也可直接使用你保存数据的变量
Next '把文本框中的值赋给数组变量
For i = 1 To 10
If t(i) > t(0) Then
t(0) = t(i)
End If
Next '求最高温度值
Text2.Text = t(0)
For i = 1 To 10
If t(i) < t(0) Then
t(0) = t(i)
End If
Next '求最低温度值
Text3.Text = t(0)追问提示这个

追答Dim t(10) As Single
Dim i As Integer,j As Integer
For i = 1 To 5
t(i) = val(left(Text1(i - 1).Text,2)) '也可直接使用你保存数据的变量
Next '把文本框中的值赋给数组变量
For i = 6 To 10
j=iif(len(Text1(i - 6).Text)=6,1,2)
t(i) = val(mid(Text1(i - 6).Text,5,j)) '也可直接使用你保存数据的变量
Next '把文本框中的值赋给数组变量
For i = 1 To 10
If t(i) > t(0) Then
t(0) = t(i)
End If
Next '求最高温度值
Text2.Text = t(0)
For i = 1 To 10
If t(i) < t(0) Then
t(0) = t(i)
End If
Next '求最低温度值
Text3.Text = t(0) 把错误处的(i - 1)改为:(i - 6)


追问这次没报错,但是算出来的结果是这样的

越来越迷糊了

追答我这里输出的是正确的。

你先计算一下,你文本框中字符串的长度,估计是跟我的不一样,我的字符串是半角字符串。15℃~3℃
你把文本框中的字符串贴出来,我帮你看看长度。
我的长度为6,如果长度为8,t(i) = val(mid(Text1(i - 6).Text,5,j)),t(i) = val(mid(Text1(i - 6).Text,6,j)),5改为6。
如果长度为9,t(i) = val(mid(Text1(i - 6).Text,5,j)),t(i) = val(mid(Text1(i - 6).Text,7,j)),5改为7。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯