寻找一列数据中的尖峰值,为什么程序无响应?
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