这是我编写的,调试时说下表越界,不知怎么回事,高手帮我啊!Option Explicit
Dim xl, yt, xr, yb As Double
Dim i, x1, y1, j, k As Variant
Dim c As Integer
Dim x(1 To 6000) As Long
Dim y(1 To 6000) As LongPrivate Sub Command1_Click()
xl = Text1.Text
yt = Text2.Text
xr = Text3.Text
yb = Text4.TextPicture1.Scale (Val(xl), Val(yt))-(Val(xr), Val(yb))
Picture1.Line (-100, 0)-(100, 0)
Picture1.Line (95, 3)-(100, 0)
Picture1.Line (95, -3)-(100, 0)
Picture1.CurrentX = 90
Picture1.CurrentY = 15
Picture1.Print "x"
'画x
Picture1.Line (0, 100)-(0, -100)
Picture1.Line (3, 95)-(0, 100)
Picture1.Line (-3, 95)-(0, 100)
Picture1.CurrentX = 5
Picture1.CurrentY = 95
Picture1.Print "y"
'画y
Picture1.CurrentX = 2
Picture1.CurrentY = 0
Picture1.Print "o" '画圆点Command1.Enabled = FalseFor i = 1 To 6000 Step 1
x(i) = 1 - 1.4 * x(i - 1) * x(i - 1) + y(i - 1)
y(i) = 0.3 * x(i - 1)
Picture1.PSet (x(i), y(i))
c = DoEvents()
Next i
End Sub
Dim xl, yt, xr, yb As Double
Dim i, x1, y1, j, k As Variant
Dim c As Integer
Dim x(1 To 6000) As Long
Dim y(1 To 6000) As LongPrivate Sub Command1_Click()
xl = Text1.Text
yt = Text2.Text
xr = Text3.Text
yb = Text4.TextPicture1.Scale (Val(xl), Val(yt))-(Val(xr), Val(yb))
Picture1.Line (-100, 0)-(100, 0)
Picture1.Line (95, 3)-(100, 0)
Picture1.Line (95, -3)-(100, 0)
Picture1.CurrentX = 90
Picture1.CurrentY = 15
Picture1.Print "x"
'画x
Picture1.Line (0, 100)-(0, -100)
Picture1.Line (3, 95)-(0, 100)
Picture1.Line (-3, 95)-(0, 100)
Picture1.CurrentX = 5
Picture1.CurrentY = 95
Picture1.Print "y"
'画y
Picture1.CurrentX = 2
Picture1.CurrentY = 0
Picture1.Print "o" '画圆点Command1.Enabled = FalseFor i = 1 To 6000 Step 1
x(i) = 1 - 1.4 * x(i - 1) * x(i - 1) + y(i - 1)
y(i) = 0.3 * x(i - 1)
Picture1.PSet (x(i), y(i))
c = DoEvents()
Next i
End Sub
x(i) = 1 - 1.4 * x(i - 1) * x(i - 1) + y(i - 1)当i=1 时,你的语句相当于
x(1) = 1 - 1.4 * x(0) * x(0) + y(0)
而你又是:
Dim x(1 To 6000) As Long
Dim y(1 To 6000) As Long
这样定义数组的,所以x(0)、 y(0)下标越界
Dim y(1 To 6000) As Long
改为
Dim x(6000) As Long
Dim y(6000) As Long