读书人

寻找一列数据中的尖峰值为什么程序无

发布时间: 2012-01-13 22:43:29 作者: rapoo

寻找一列数据中的尖峰值,为什么程序无响应?
Private Sub cmdfindmax_Click()


CommonDialog1.Action = 1

Open CommonDialog1.FileName For Input As #1

Do While Not EOF(1)
Line Input #1, inputdata

Data = Data + inputdata + vbCrLf


Loop
a = Split(Data, vbCrLf)
Close #1
'///////////以上代码的目的是把txt格式的一列数据导入到数组a中////////////
i = 0
Open "c:\speeddata.txt " For Append As #2
Do While (i < UBound(a))

If a(i + 1) > = a(i) And a(i + 1) > = a(i + 2) Then

Print #2, a(i)

i = i + 1
End If

Loop
Close #2
End Sub
'///////////以上代码的意思是找到数据列里的尖峰值,比如1 2 1 2 2 3 4 1 0,找出的尖峰值就是2 4
现在的问题是:我执行程序的时候,会出现程序未响应,CPU到100% 我不知道哪里出错了?而当我把if 和endif语句屏蔽掉的时候,就不会有错误。




[解决办法]
Do While (i < UBound(a))
If a(i + 1) > = a(i) And a(i + 1) > = a(i + 2) Then
Print #2, a(i)
End If
i = i + 1 '这一句的位置一定要放正确哦
Loop

读书人网 >VB

热点推荐