Dim n(100) As Integer Dim X(100), Y(100) As Single Dim dn As Integer Dim heigohi As Integer Dim tl, f, ff As Single Dim l(100) As Single Dim cl As Double Dim minx, miny, maxx, maxy As Single Dim dnum, dl, vl, v1, v2 As Single Dim hoseichk As Integer Private Sub Command1_Click() Dim xp1, xp2, yp1, yp2 As Single Picture1.Cls scl = Text1.Text / 100 Picture1.Print "S=1/"; scl * 100 For j = 0 To (dn - 1) xp1 = (X(j) - minx) / scl + 0.5 yp1 = Picture1.ScaleHeight - (Y(j) - miny) / scl - 0.5 xp2 = (X(j + 1) - minx) / scl + 0.5 yp2 = Picture1.ScaleHeight - (Y(j + 1) - miny) / scl - 0.5 Picture1.Circle (xp1, yp1), 0.03 Picture1.Print n(j) Picture1.Line (xp1, yp1)-(xp2, yp2) Next Picture1.Circle (xp2, yp2), 0.03 Picture1.Print n(dn - 1) + 1 End Sub Private Sub Command2_Click() Dim tx, ty As Single For i = 0 To 100 n(i) = 0 X(i) = 0 Y(i) = 0 Next CommonDialog1.ShowOpen Open CommonDialog1.FileName For Input As #1 i = 1 minx = 9999 maxx = -9999 miny = 9999 maxy = -9999 X(0) = 0 Y(0) = 0 tx = 0 ty = 0 hoseichk = 1 Picture1.Cls Picture2.Cls Picture1.Print "No.", "ŽΞ‹——£", "•ϋˆΚ", "‚’αŠp", "Xΐ•W", "Yΐ•W" While Not EOF(1) Input #1, dnum, vl, v1, v2 n(i - 1) = dnum dl = vl * Cos(v2 / 180 * 3.1416) tx = tx + dl * Sin(v1 / 180 * 3.1416) ty = ty + dl * Cos(v1 / 180 * 3.1416) X(i) = tx Y(i) = ty If X(i) < minx Then minx = X(i) End If If Y(i) < miny Then miny = Y(i) End If If X(i) > maxx Then maxx = X(i) End If If Y(i) > maxy Then maxy = Y(i) End If Picture1.Print dnum, vl, v1, v2, Int(X(i) * 10) / 10, Int(Y(i) * 10) / 10 i = i + 1 Wend dn = i - 1 Close End Sub Private Sub Command3_Click() If hoseichk = 2 Then Picture2.Print "•β³Ο‚έ‚Ε‚·!" GoTo modori End If tl = 0 xho = 0 yho = 0 cl = 0 Rem Œλ·•β³ For i = 1 To dn l(i) = Sqr((X(i) - X(i - 1)) ^ 2 + ((Y(i) - Y(i - 1)) ^ 2)) tl = tl + l(i) Next Picture1.Cls cl = Sqr(X(dn) ^ 2 + Y(dn) ^ 2) / tl Picture2.Print "•Β‡”δ‚Ν 1:"; Int(1 / cl); "‚Ε‚·B" For i = 1 To dn xho = xho + X(dn) * l(i) / tl X(i) = X(i) - xho yho = yho + Y(dn) * l(i) / tl Y(i) = Y(i) - yho Next i Rem@–ΚΟŒvŽZ ff = 0 For i = 0 To (dn - 1) ff = ff + (X(i) + X(i + 1)) * (Y(i + 1) - Y(i)) Next f = Abs(ff / 2) Picture2.Print "–ʐΟ="; f hoseichk = 2 modori: End Sub Private Sub Command4_Click() Printer.ScaleMode = 7 scl = Text1.Text / 100 Printer.Print "S=1/"; scl * 100 For j = 0 To (dn - 1) xp1 = (X(j) - minx) / scl + 1 yp1 = Printer.ScaleHeight - (Y(j) - miny) / scl - 1 xp2 = (X(j + 1) - minx) / scl + 1 yp2 = Printer.ScaleHeight - (Y(j + 1) - miny) / scl - 1 Printer.Circle (xp1, yp1), 0.1 Printer.Print n(j) Printer.Line (xp1, yp1)-(xp2, yp2) Next Printer.Circle (xp2, yp2), 0.1 Printer.Print n(dn) Printer.EndDoc End Sub Private Sub Command5_Click() Form1.Hide Form2.Show End Sub