ys = CInt(Text2) xe = CInt(Text3) ye = CInt(Text4)
jvx = Abs(CInt(Text2)) jvy = Abs(CInt(Text1)) jrx = 0 jry = 0
xi = Abs(CInt(Text3) - CInt(Text1)) 'X方向总步 yi = Abs(CInt(Text4) - CInt(Text2)) 'Y方向总步长 ai = xs bi = ys
Picture1.ForeColor = vbGreen Picture1.DrawWidth = 3 form1.CurrentX = 200 form1.CurrentY = 200
Print \积分器 \积分器 \form1.CurrentX = 100 form1.CurrentY = 400
Print \累加次数 n\△X \∑x\Jry=Jry+Jvy\△Y \∑y \form1.CurrentX = 100 form1.CurrentY = 600
Print \开始 \& jvy & \
wz: k = 0 'X方向进给标志 1 X正向进给 -1负向进给 m = 0 'Y方向进给标志 1 Y正向进给 -1负向进给 If xi > 0 Then 'X方向判断 jrx = jrx + jvx
If jrx >= l Then '判断寄存器是否溢出 jrx = jrx - l '溢出修正
If jrx >= l Then '寄存器位数判断 GoTo ww5 End If
If Option1.Value = True Then If a > c And b < d Then k = -1 Else k = 1 End If End If
If Option2.Value = True Then If a > c And b > d Then k = -1 Else
k = 1 End If End If
If Option3.Value = True Then If a > c And b < d Then k = -1 Else k = 1 End If End If
If Option4.Value = True Then If a > c And b > d Then k = -1 Else k = 1 End If End If
xi = xi - 1 End If End If
If yi > 0 Then 'Y方向判断 jry = jry + jvy
If jry >= l Then '判断寄存器是否溢出 jry = jry - l '溢出修正
If jry >= l Then '寄存器位数判断 GoTo ww5 End If
If Option1.Value = True Then If a > c And b < d Then m = 1 Else m = -1 End If End If
If Option2.Value = True Then If a < c And b < d Then m = 1 Else m = -1 End If End If
If Option3.Value = True Then If a > c And b < d Then
m = 1 Else m = -1 End If End If
If Option4.Value = True Then If a < c And b < d Then m = 1 Else m = -1 End If End If
yi = yi - 1 'Y方向总步长减1 End If End If
n = n + 1 '累加次数加1 form1.CurrentX = 100
form1.CurrentY = 600 + n * 200 If xi = 0 Or yi = 0 Then
If xi = 0 And yi <> 0 And f = 0 Then
Print \\ GoTo wz2 End If
If xi = 0 And yi <> 0 And f < 0 Then
Print \\ GoTo wz2 End If
If xi <> 0 And yi = 0 And g = 0 Then
Print \& \停止\ GoTo wz2 End If
If xi <> 0 And yi = 0 And g < 0 Then
Print \& \ GoTo wz2 End If
If xi = 0 And yi = 0 And f = 1 And g < 0 Then
Print \& \ GoTo wz2 End If
停止\ If xi = 0 And yi = 0 And f < 0 And g = 1 Then
Print \\ GoTo wz2 End If
If xi = 0 And yi = 0 And f = 0 And g = 0 Then
Print \停止\\停止\ GoTo wz2 End If
If xi = 0 And yi = 0 And f = 0 And g < 0 Then
Print \停止\& \GoTo wz2 End If
If xi = 0 And yi = 0 And f < 0 And g = 0 Then
Print \\停止\GoTo wz2 End If End If
Print \& n & \& jvx & \& jrx & \& k & \& xi & \& jvy & \wz2: If xi = 0 Then f = f - 1 End If
If yi = 0 Then g = g - 1 End If
If xi = 0 And yi = 0 Then ci = ci - 1 If ci = 0 Then GoTo wz3 End If End If
If Option1.Value = True Then
If a > c And b < d And k = -1 Then jvy = jvy - 1
ElseIf a > c And b < d And m = 1 Then jvx = jvx + 1
ElseIf a < c And b > d And k = 1 Then jvy = jvy + 1
ElseIf a < c And b > d And m = -1 Then jvx = jvx - 1
End If End If
If Option2.Value = True Then
If a > c And b > d And k = -1 Then jvy = jvy + 1
ElseIf a > c And b > d And m = -1 Then jvx = jvx - 1
ElseIf a < c And b < d And k = 1 Then jvy = jvy - 1
ElseIf a < c And b < d And m = 1 Then jvx = jvx + 1 End If End If
If Option3.Value = True Then
If a > c And b < d And k = -1 Then jvy = jvy + 1
ElseIf a > c And b < d And m = 1 Then jvx = jvx - 1
ElseIf a < c And b > d And k = 1 Then jvy = jvy - 1
ElseIf a < c And b > d And m = -1 Then jvx = jvx + 1 End If End If
If Option4.Value = True Then
If a > c And b > d And k = -1 Then jvy = jvy - 1
ElseIf a > c And b > d And m = -1 Then jvx = jvx + 1
ElseIf a < c And b < d And k = 1 Then jvy = jvy + 1
ElseIf a < c And b < d And m = 1 Then jvx = jvx - 1 End If End If
Picture1.Line (4500 + 300 * ai, 4500 - bi * 300)-(4500 + 300 * (ai + k), 4500 - (bi + m) * 300) ai = ai + k bi = bi + m GoTo wz
ww3: Text1.Text = \ Text2.Text = \ Text3.Text = \ Text4.Text = \ Text5.Text = \