Private Sub cmdfindmax_Click()
CommonDialog1.Action = 1Open CommonDialog1.FileName For Input As #1Do 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语句屏蔽掉的时候,就不会有错误。
CommonDialog1.Action = 1Open CommonDialog1.FileName For Input As #1Do 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语句屏蔽掉的时候,就不会有错误。
If a(i + 1) >= a(i) And a(i + 1) >= a(i + 2) Then
Print #2, a(i)
End If
i = i + 1 '这一句的位置一定要放正确哦
Loop
Private Sub cmdfindmax_Click()
CommonDialog1.Action = 1Open CommonDialog1.FileName For Input As #1Do While Not EOF(1)
Line Input #1, inputdata
Data = Data + inputdata + vbCrLf
Loop
a = Split(Data, vbCrLf)
Close #1
i = 1
Open "c:\speeddata.txt" For Append As #2
Do While (i < (UBound(a) - 1))
If a(i) >= a(i + 1) And a(i) >= a(i - 1) Then
Print #2, a(i)
End If
i = i + 1
Loop
Close #2
End Sub