📄 frm_hfecg2.frm
字号:
For k = X To X + 1999 Step 1
Picture2.Line (k, HFECG2(k))-(k + 1, HFECG2(k + 1))
Next k
For i = 2 To 4
If rpt2(i) > X And rpt2(i) < X + 1999 Then
Picture2.CurrentX = q2(i)
Picture2.CurrentY = HFECG2(q2(i))
Picture2.Print "q"
Picture2.CurrentX = s2(i)
Picture2.CurrentY = HFECG2(s2(i))
Picture2.Print "s"
Picture2.CurrentX = rpt2(i)
Picture2.CurrentY = HFECG2(rpt2(i))
Picture2.Print "R"
End If
Next i
Else
Picture2.Cls
X = HScroll2.Value
Picture2.Scale (X, Bmax + Bmax * 0.25)-(X + 2000, Bmin + Bmin * 0.25)
For k = X To X + 1999 Step 1
Picture2.Line (k, HFECG2(k))-(k + 1, HFECG2(k + 1))
Next k
End If
End Sub
Private Sub HScroll3_Change()
Static X As Integer
If HScroll3.Value > X Then
Picture3.Cls
X = HScroll3.Value
Picture3.Scale (X, Cmax + Cmax * 0.25)-(X + 2000, Cmin + Cmin * 0.25)
For k = X To X + 1999 Step 1
Picture3.Line (k, HFECG3(k))-(k + 1, HFECG3(k + 1))
Next k
For i = 2 To 4
If rpt3(i) > X And rpt3(i) < X + 1999 Then
Picture3.CurrentX = q3(i)
Picture3.CurrentY = HFECG3(q3(i))
Picture3.Print "q"
Picture3.CurrentX = s3(i)
Picture3.CurrentY = HFECG3(s3(i))
Picture3.Print "s"
Picture3.CurrentX = rpt3(i)
Picture3.CurrentY = HFECG3(rpt3(i))
Picture3.Print "R"
End If
Next i
Else
Picture3.Cls
X = HScroll3.Value
Picture3.Scale (X, Cmax + Cmax * 0.25)-(X + 2000, Cmin + Cmin * 0.25)
For k = X To X + 1999 Step 1
Picture3.Line (k, HFECG3(k))-(k + 1, HFECG3(k + 1))
Next k
End If
End Sub
Private Sub HScroll4_Change()
Static X As Integer
If HScroll4.Value > X Then
Picture4.Cls
X = HScroll4.Value
Picture4.Scale (X, Dmax + Dmax * 0.25)-(X + 2000, Dmin + Dmin * 0.25)
For k = X To X + 1999 Step 1
Picture4.Line (k, HFECG4(k))-(k + 1, HFECG4(k + 1))
Next k
For i = 2 To 4
If rpt4(i) > X And rpt4(i) < X + 1999 Then
Picture4.CurrentX = q4(i)
Picture4.CurrentY = HFECG4(q4(i))
Picture4.Print "q"
Picture4.CurrentX = s4(i)
Picture4.CurrentY = HFECG4(s4(i))
Picture4.Print "s"
Picture4.CurrentX = rpt4(i)
Picture4.CurrentY = HFECG4(rpt4(i))
Picture4.Print "R"
End If
Next i
Else
Picture4.Cls
X = HScroll4.Value
Picture4.Scale (X, Dmax + Dmax * 0.25)-(X + 2000, Dmin + Dmin * 0.25)
For k = X To X + 1999 Step 1
Picture4.Line (k, HFECG4(k))-(k + 1, HFECG4(k + 1))
Next k
End If
End Sub
Private Sub HScroll5_Change()
Static X As Integer
If HScroll5.Value > X Then
Picture5.Cls
X = HScroll5.Value
Picture5.Scale (X, Emax + Emax * 0.25)-(X + 2000, Emin + Emin * 0.25)
For k = X To X + 1999 Step 1
Picture5.Line (k, HFECG5(k))-(k + 1, HFECG5(k + 1))
Next k
For i = 2 To 4
If rpt5(i) > X And rpt5(i) < X + 1999 Then
Picture5.CurrentX = q5(i)
Picture5.CurrentY = HFECG5(q5(i))
Picture5.Print "q"
Picture5.CurrentX = s5(i)
Picture5.CurrentY = HFECG5(s5(i))
Picture5.Print "s"
Picture5.CurrentX = rpt5(i)
Picture5.CurrentY = HFECG5(rpt5(i))
Picture5.Print "R"
End If
Next i
Else
Picture5.Cls
X = HScroll5.Value
Picture5.Scale (X, Emax + Emax * 0.25)-(X + 2000, Emin + Emin * 0.25)
For k = X To X + 1999 Step 1
Picture5.Line (k, HFECG5(k))-(k + 1, HFECG5(k + 1))
Next k
End If
End Sub
Private Sub HScroll6_Change()
Static X As Integer
If HScroll6.Value > X Then
Picture6.Cls
X = HScroll6.Value
Picture6.Scale (X, Fmax + Fmax * 0.25)-(X + 2000, Fmin + Fmin * 0.25)
For k = X To X + 1999 Step 1
Picture6.Line (k, HFECG6(k))-(k + 1, HFECG6(k + 1))
Next k
For i = 2 To 4
If rpt6(i) > X And rpt6(i) < X + 1999 Then
Picture6.CurrentX = q6(i)
Picture6.CurrentY = HFECG3(q6(i))
Picture6.Print "q"
Picture6.CurrentX = s6(i)
Picture6.CurrentY = HFECG6(s6(i))
Picture6.Print "s"
Picture6.CurrentX = rpt6(i)
Picture6.CurrentY = HFECG6(rpt6(i))
Picture6.Print "R"
End If
Next i
Else
Picture6.Cls
X = HScroll6.Value
Picture6.Scale (X, Fmax + Fmax * 0.25)-(X + 2000, Fmin + Fmin * 0.25)
For k = X To X + 1999 Step 1
Picture6.Line (k, HFECG6(k))-(k + 1, HFECG6(k + 1))
Next k
End If
End Sub
Private Sub HScroll7_Change()
Static X As Integer
If HScroll7.Value > X Then
Picture7.Cls
X = HScroll7.Value
Picture7.Scale (X, Gmax + Gmax * 0.25)-(X + 2000, Gmin + Gmin * 0.25)
For k = X To X + 1999 Step 1
Picture7.Line (k, HFECG7(k))-(k + 1, HFECG7(k + 1))
Next k
For i = 2 To 4
If rpt7(i) > X And rpt7(i) < X + 1999 Then
Picture7.CurrentX = q7(i)
Picture7.CurrentY = HFECG7(q7(i))
Picture7.Print "q"
Picture7.CurrentX = s7(i)
Picture7.CurrentY = HFECG7(s7(i))
Picture7.Print "s"
Picture7.CurrentX = rpt7(i)
Picture7.CurrentY = HFECG7(rpt7(i))
Picture7.Print "R"
End If
Next i
Else
Picture7.Cls
X = HScroll7.Value
Picture7.Scale (X, Gmax + Gmax * 0.25)-(X + 2000, Gmin + Gmin * 0.25)
For k = X To X + 1999 Step 1
Picture7.Line (k, HFECG7(k))-(k + 1, HFECG7(k + 1))
Next k
End If
End Sub
Private Sub HScroll8_Change()
Static X As Integer
If HScroll8.Value > X Then
Picture8.Cls
X = HScroll8.Value
Picture8.Scale (X, Hmax + Hmax * 0.25)-(X + 2000, Hmin + Hmin * 0.25)
For k = X To X + 1999 Step 1
Picture8.Line (k, HFECG8(k))-(k + 1, HFECG8(k + 1))
Next k
For i = 2 To 4
If rpt8(i) > X And rpt8(i) < X + 1999 Then
Picture8.CurrentX = q8(i)
Picture8.CurrentY = HFECG8(q8(i))
Picture8.Print "q"
Picture8.CurrentX = s8(i)
Picture8.CurrentY = HFECG8(s8(i))
Picture8.Print "s"
Picture8.CurrentX = rpt8(i)
Picture8.CurrentY = HFECG8(rpt8(i))
Picture8.Print "R"
End If
Next i
Else
Picture8.Cls
X = HScroll8.Value
Picture8.Scale (X, Hmax + Hmax * 0.25)-(X + 2000, Hmin + Hmin * 0.25)
For k = X To X + 1999 Step 1
Picture8.Line (k, HFECG8(k))-(k + 1, HFECG8(k + 1))
Next k
End If
End Sub
Private Sub HScroll9_Change()
Static X As Integer
If HScroll9.Value > X Then
Picture9.Cls
X = HScroll9.Value
Picture9.Scale (X, Imax + Imax * 0.25)-(X + 2000, Imin + Imin * 0.25)
For k = X To X + 1999 Step 1
Picture9.Line (k, HFECG9(k))-(k + 1, HFECG9(k + 1))
Next k
For i = 2 To 4
If rpt9(i) > X And rpt9(i) < X + 1999 Then
Picture9.CurrentX = q9(i)
Picture9.CurrentY = HFECG9(q9(i))
Picture9.Print "q"
Picture9.CurrentX = s9(i)
Picture9.CurrentY = HFECG9(s9(i))
Picture9.Print "s"
Picture9.CurrentX = rpt9(i)
Picture9.CurrentY = HFECG9(rpt9(i))
Picture9.Print "R"
End If
Next i
Else
Picture9.Cls
X = HScroll9.Value
Picture9.Scale (X, Imax + Imax * 0.25)-(X + 2000, Imin + Imin * 0.25)
For k = X To X + 1999 Step 1
Picture9.Line (k, HFECG9(k))-(k + 1, HFECG9(k + 1))
Next k
End If
End Sub
Public Sub FindR(p(), fr(), a())
Dim z1, z2
Dim z3
Dim n, s, m, h
'n = 0
'For i = 2 To 8398
'j = p(i - 2) + 4 * p(i - 1) + 6 * p(i) + 4 * p(i + 1) + p(i + 2)
'fr(n) = j
'n = n + 1
'Next i
n = 0
For i = 2 To 8398
j = p(i) - p(i - 1)
fr(n) = j
n = n + 1
Next i
m = fr(0)
For k = 0 To 4199
If fr(k + 1) > m Then
m = fr(k + 1)
Else
End If
Next k
s = fr(4200)
For k = 4200 To 8399
If fr(k + 1) > s Then
s = fr(k + 1)
Else
End If
Next k
h = (s + m) / 2
z1 = 2 * h / 5
z2 = 2 * h / 5 + 0.01
z3 = 2 * h / 9
k = 0
For i = 0 To 8400
If Abs(fr(i)) > z1 Then
i = i + 1
If Abs(fr(i)) > z2 Then
n = 0
Do
i = i + 1
n = n + 1
If i > 8400 Then
Exit Do
End If
If fr(i) < 0 Then
If Abs(fr(i)) > z3 Then
k = k + 1
a(k) = i - n
If k > 2 Then
Exit Do
End If
Else: End If
Else: End If
Loop Until n = 1000
If k > 1 Then
h1 = Abs(fr(a(k - 1)))
For Y = a(k - 1) To a(k)
If Abs(fr(Y + 1)) > h1 Then
h1 = Abs(fr(Y + 1))
End If
Next Y
If h1 > h Then
z1 = h1 / 4 + h1 / 10
z2 = h1 / 4 + h1 / 10 + 0.01
z3 = h1 / 8 + h1 / 10
Else: End If
End If
End If
End If
Next i
End Sub
Public Sub Rpoint(g(), p(), q())
For i = 0 To 49
If p(i + 1) - p(i) < 100 Then
If Abs(g(p(i + 1))) > Abs(g(p(i))) Then
q(n) = i + 1
End If
Else: n = n + 1
End If
Next i
End Sub
Public Sub Lvbo(X(), h(), d())
Dim d1(8400), d11(8400), d2(8400), d22(8400)
For n = 0 To 8400
d1(n) = Abs(h(n + 1) - h(n))
Next n
For n = 1 To 8398
d11(n) = (d1(n + 1) + 3 * d1(n) + d1(n - 1)) / 5
Next n
For n = 2 To 8399
d2(n) = Abs(h(n) - 2 * h(n - 1) + h(n - 2))
Next n
For n = 1 To 8398
d22(n) = (d2(n + 1) + 3 * d2(n) + d2(n - 1)) / 5
Next n
For n = 2 To 8399
d(n) = d22(n) + d11(n)
Next n
End Sub
Public Sub jz1(j(), p(), na(), nb(), jza(), jzb())
For i = 1 To 4
jza(i) = j(p(i))
For k = p(i) To p(i) + 100
If j(k + 1) > jza(i) Then
jza(i) = j(k + 1)
na(i) = k + 1
Else: End If
Next k
Next i
For i = 1 To 4
jzb(i) = j(p(i))
If p(i) > 500 Then
For k = p(i) - 500 To p(i)
If j(k + 1) > jzb(i) Then
jzb(i) = j(k + 1)
nb(i) = k + 1
Else: End If
Next k
End If
Next i
End Sub
Public Sub rposit(a(), b(), c())
For i = 1 To 4
c(i) = a(b(i))
Next i
End Sub
Public Sub QSpt(a(), b(), c(), d())
Dim t, m
For i = 1 To 4
m = a(b(i))
If b(i) > 500 Then
For k = b(i) - 500 To b(i) - 50 '''shenme
t = a(k) - m / 2
If t < 0.00001 Then
c(i) = k
End If
Next k
End If
Next i
For i = 1 To 4
m = a(b(i))
For k = b(i) To b(i) + 100
t = a(k) - m / 4
If t < 0.00001 Then
d(i) = k
End If
Next k
Next i
End Sub
Public Sub qieji(s(), e(), a(), d()) 'd()是切迹的位置,b()是零点的位置
Dim Y(5 To 8500): Dim n: Dim t As Integer
Dim b(1000), c(1000)
If s(1) > 5 Then
k = 1
n = 2
For m = 1 To 4
If e(m) > 1 And s(m) > 1 Then
For i = s(m) To e(m)
If i > 5 Then
Y(i) = (-5) * a(i - 5) + (-4) * a(i - 4) + (-3) * a(i - 3) + (-2) * a(i - 2) - a(i - 1) + a(i + 1) + 2 * a(i + 2) + 3 * a(i + 3) + 4 * a(i + 4) + 5 * a(i + 5)
End If
Next i
For i = s(m) To e(m)
If i > 5 Then
If Y(i) * Y(i + 1) <= 0 Then
If Abs(Y(i)) > Abs(Y(i + 1)) Then
b(n) = i + 1
Else: b(n) = i
End If
n = n + 1
End If
End If
Next i
b(n + 1) = e(m) + 40
b(1) = s(m) - 30
For i = 2 To n - 1
If (b(i + 1) - b(i)) < 14 And (b(i + 1) - b(i)) > 4 Then
c(k) = i
k = k + 1
End If
Next i
End If
Next m
If c(1) > 1 Then
If (b(c(1) + 1) - b(c(1))) > (b(c(1)) - b(c(1) - 1)) Then '修改
d(1) = b(c(1))
Else
d(1) = b(c(1) + 1)
End If
slope = Y(b(c(1)) - 1) - Y(b(c(1)) + 1)
t = 2
For i = c(1) To c(k - 1)
slope1 = Y(b(i) - 1) - Y(b(i) + 1)
If slope1 * slope > 0 Then
d(t) = b(i)
Else: i = i + 1: d(t) = b(i)
End If
t = t + 1
Next i
End If
End If
End Sub
Public Sub niujie(s(), e(), a(), d())
Dim Y(8500): Dim n: Dim t As Integer
Dim y1(8500)
Dim b(500), c(500)
If s(1) > 5 Then
k = 1
n = 2
For m = 1 To 4
If s(m) > 100 And e(m) > 100 Then
For i = s(m) To e(m) - 100
If i > 5 Then
Y(i) = (-5) * a(i - 5) + (-4) * a(i - 4) + (-3) * a(i - 3) + (-2) * a(i - 2) + (-a(i - 1)) + a(i + 1) + 2 * a(i + 2) + 3 * a(i + 3) + 4 * a(i + 4) + 5 * a(i + 5)
End If
Next i
For i = s(m) To e(m) - 100
If i > 5 Then
y1(i) = (-5) * Y(i - 5) + (-4) * Y(i - 4) + (-3) * Y(i - 3) + (-2) * Y(i - 2) + (-Y(i - 1)) + Y(i + 1) + 2 * Y(i + 2) + 3 * Y(i + 3) + 4 * Y(i + 4) + 5 * Y(i + 5)
End If
Next i
For i = s(m) To e(m) - 100
If i > 5 Then
If y1(i) * y1(i + 1) <= 0 Then
If Abs(y1(i)) > Abs(y1(i + 1)) Then
b(n) = i + 1
Else: b(n) = i
End If
n = n + 1
End If
End If
Next i
b(n + 1) = e(m) + 40
b(1) = s(m) - 30
For i = 2 To n - 1
If (b(i + 1) - b(i)) < 14 And (b(i + 1) - b(i)) > 4 Then
c(k) = i
k = k + 1
End If
Next i
End If
Next m
If c(1) > 1 Then
If (b(c(1) + 1) - b(c(1))) > (b(c(1)) - b(c(1) - 1)) Then '修改
d(1) = b(c(1))
Else
d(1) = b(c(1) + 1)
End If
slope = y1(b(c(1)) - 1) - y1(b(c(1)) + 1)
t = 2
For i = c(1) To c(k - 1)
slope1 = y1(b(i) - 1) - y1(b(i) + 1)
If slope1 * slope > 0 Then
d(t) = b(i)
Else: i = i + 1: d(t) = b(i)
End If
t = t + 1
Next i
End If
End If
End Sub
Public Sub countqj(a(), n)
n = 0
For i = 0 To 50
If a(i) > 0 Then
n = n + 1
End If
Next i
End Sub
Public Sub countnc(a(), n)
n = 0
For i = 0 To 50
If a(i) > 0 Then
n = n + 1
End If
Next i
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -