⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jdjb.frm

📁 WINDOWS环境中
💻 FRM
📖 第 1 页 / 共 3 页
字号:
         TabIndex        =   4
         Text            =   "8476.35"
         Top             =   2280
         Width           =   1455
      End
      Begin VB.TextBox inls 
         BeginProperty Font 
            Name            =   "幼圆"
            Size            =   12
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         ForeColor       =   &H00800000&
         Height          =   370
         Left            =   1440
         TabIndex        =   3
         Text            =   "60"
         Top             =   1845
         Width           =   1455
      End
      Begin VB.TextBox inr 
         BeginProperty Font 
            Name            =   "幼圆"
            Size            =   12
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         ForeColor       =   &H00800000&
         Height          =   370
         Left            =   1440
         TabIndex        =   2
         Text            =   "200"
         Top             =   840
         Width           =   1455
      End
      Begin VB.TextBox inpj 
         BeginProperty Font 
            Name            =   "幼圆"
            Size            =   12
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         ForeColor       =   &H00800000&
         Height          =   370
         Left            =   1440
         TabIndex        =   1
         Text            =   "33.0512"
         Top             =   400
         Width           =   1455
      End
      Begin VB.Label Label1 
         Caption         =   "路线偏角:"
         BeginProperty Font 
            Name            =   "幼圆"
            Size            =   12
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   255
         Left            =   120
         TabIndex        =   55
         Top             =   480
         Width           =   1095
      End
      Begin VB.Label Label2 
         Caption         =   "曲线半径:"
         BeginProperty Font 
            Name            =   "幼圆"
            Size            =   12
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   255
         Left            =   120
         TabIndex        =   54
         Top             =   960
         Width           =   1095
      End
      Begin VB.Label Label3 
         Caption         =   "缓和曲线长:"
         BeginProperty Font 
            Name            =   "幼圆"
            Size            =   12
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   255
         Left            =   120
         TabIndex        =   53
         Top             =   1920
         Width           =   1215
      End
      Begin VB.Label Label4 
         Caption         =   "交点桩号:"
         BeginProperty Font 
            Name            =   "幼圆"
            Size            =   12
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   255
         Left            =   120
         TabIndex        =   52
         Top             =   2400
         Width           =   1095
      End
      Begin VB.Label Label5 
         Caption         =   "桩距:"
         BeginProperty Font 
            Name            =   "幼圆"
            Size            =   12
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   255
         Left            =   120
         TabIndex        =   51
         Top             =   3360
         Width           =   1335
      End
      Begin VB.Label Label24 
         Caption         =   "保留小数:"
         BeginProperty Font 
            Name            =   "幼圆"
            Size            =   12
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   255
         Left            =   120
         TabIndex        =   50
         Top             =   3840
         Width           =   1095
      End
   End
   Begin VB.Image Image1 
      Height          =   900
      Left            =   840
      Picture         =   "jdjb.frx":0058
      Top             =   120
      Width           =   6750
   End
End
Attribute VB_Name = "jdjb"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim pj1 As Single, pj As Single, r As Single, ls As Single, jd As Single, zj As Single, t As Single, wj As Single, ly As Single, l As Single
Dim p As Single, q As Single, b As Single, zh As Single, hy As Single, qz As Single, yh As Single, hz As Single, fan As Integer
Dim zzh(100) As Single, zx(100) As Single, zy(100) As Single, i As Integer, jzzh(100) As String, szjd As Integer, pjstr As String

Private Sub Combo1_Click()
Select Case Combo1.ListIndex
Case 0
szjd = 0
Case 1
szjd = 1
Case 2
szjd = 2
Case 3
szjd = 3
Case 4
szjd = 4
Case 5
szjd = 5
End Select

End Sub

Private Sub exit_Click()
End
End Sub
Private Sub Form_Load()
Combo1.ListIndex = 2: szjd = 2
inpj.Text = "": inr.Text = "": xt.Value = 1: inls.BackColor = &H8000000F: inls.Text = ""
inls.Enabled = False: injd.Text = "": jz.Value = 1: inzj.Text = "20"
outjd.Text = "": outpj.Text = "": outr.Text = "": outt.Text = "": outly.Text = "": outpj.Text = ""
outls.Text = "": outwj.Text = "": outl.Text = ""
Fqxjz.Enabled = True
outzh.Text = "": outhy.Text = "": outqz.Text = "": outyh.Text = "": outhz.Text = ""
qxjzb.Clear
End Sub

Private Sub jz_Click()
If jz.Value = 1 Then
    inzj.BackColor = &H8000000E
    inzj.Enabled = True
Else
    inzj.BackColor = &H8000000F
    inzj.Text = "": inzj.Enabled = False
End If
End Sub
Private Sub ok_Click()
Dim i As Integer, temzh As Single, x As Single, fi As Single
fan = 0: qxjzb.DataChanged = True
qxjzb.Clear
If inpj.Text = "" Or inr.Text = "" Or injd.Text = "" Or xt.Value <> 1 And inls.Text = "" Or jz.Value = 1 And inzj.Text = "" Then
    MsgBox "请将输入部分填写完整!", , "数据录入"
    Exit Sub
Else
    On Error GoTo jserr
    pj1 = Val(inpj.Text): pjstr = dtodms(pj1): r = Val(inr.Text): jd = Val(injd.Text): pj = dh(pj1)
    If fan <> 0 Then
        MsgBox "您输入的路线偏角有错误!请您重新输入!(格式:按度分秒形式输入,如23度12分45秒,可输入为:23.1245)", , "输入错误"
        Exit Sub
    End If
    If xt.Value = 1 Then
        ls = pj / 2 * r: ls = CInt(ls)
    Else
        ls = Val(inls.Text)
    End If
    If jz.Value = 1 Then
        zj = Val(inzj.Text)
    Else
        zj = 0
    End If
    p = ls * ls / 24 / r: q = ls / 2 - ls ^ 3 / 240 / r / r: b = ls / 2 / r
    t = (r + p) * Tan(pj / 2) + q
    wj = (r + p) / Cos(pj / 2) - r
    ly = (pj - 2 * b) * r
    l = ly + 2 * ls
    zh = Round((jd - t), szjd): hy = Round((zh + ls), szjd): qz = Round((hy + ly / 2), szjd)
    yh = Round((hy + ly), szjd): hz = Round((yh + ls), szjd)
    Call qxjzsub
    Call output
    Exit Sub
End If
jserr:
    MsgBox "输入错误!请重新输入!", vbOKOnly, "错误"
    Call Form_Load
    Exit Sub
End Sub

Private Sub sz_Click()
szjd = InputBox$("请输入要保留几位小数?", "设置精度")
End Sub

Private Sub re_Click()
Call Form_Load
Exit Sub
End Sub

Private Sub rejs_Click()
Call Form_Load
Exit Sub
End Sub

Private Sub sm_Click()
Form1.Show
End Sub

Private Sub TabStrip1_Click()
Select Case TabStrip1.SelectedItem.Key
Case "tzdlc"
Fzdlc.Visible = True
Fqxjz.Visible = False
Case "tqxjz"
Fqxjz.Visible = True
Fzdlc.Visible = False
End Select
End Sub
Private Sub xt_Click()
If xt.Value = 1 Then
inls.BackColor = &H8000000F
inls.Text = ""
inls.Enabled = False
Else
inls.BackColor = &H8000000E
inls.Enabled = True
End If
End Sub
Private Function dh(dms As Single) As Single
Dim jd As Single, d As Single, m As Single, s As Single, rad As Single
jd = Abs(dms): d = Int(jd): m = Int(jd * 100) - d * 100
s = jd * 10000 - d * 10000 - m * 100
rad = d + m / 60 + s / 60 / 60: rad = rad * 3.1415927 / 180: rad = rad * Sgn(dms)
dh = rad
End Function
Private Function qg(a1 As Single, b1 As Single, c1 As Single) As Single
Dim d As Single, x As Single
d = b1 ^ 2 - 4 * a1 * c1
If d < 0 Then qg = 0: Exit Function
x = (-b1 + Sqr(d)) / 2 / a1
 qg = x
End Function
Private Sub output()
Dim o As Integer, msg As String
outjd.Text = bzh(jd)
outpj.Text = dtodms(pj1)
outr.Text = Str(Round(r, szjd))
outls.Text = Str(Round(ls, szjd))
outt.Text = Str(Round(t, szjd))
outwj.Text = Str(Round(wj, szjd))
outly.Text = Str(Round(ly, szjd))
outl.Text = Str(Round(l, szjd))
outzh.Text = bzh(zh)
outhy.Text = bzh(hy)
outqz.Text = bzh(qz)
outyh.Text = bzh(yh)
outhz.Text = bzh(hz)
If jz.Value = 1 Then
    For o = 0 To i - 1
    jzzh(o) = bzh(zzh(o)): zx(o) = Round(zx(o), szjd): zy(o) = Round(zy(o), szjd)
    msg = jzzh(o) + "         " + Str(zx(o)) + "         " + Str(zy(o))
    qxjzb.AddItem msg
    Next o
End If
End Sub
Private Function bzh(ybzh As Single) As String
Dim k As Single, k1 As Single
ybzh = Round(ybzh, szjd)
k = Int(ybzh / 1000): k1 = ybzh - k * 1000
bzh = "K" + LTrim(Str(k)) + "+" + LTrim(Str(Round(k1, szjd)))
End Function
Private Sub qxjzsub()
Dim temzh As Single, x As Single, lf As Single
If zj <> 0 Then
  Dim tem As Single, yy As Integer, zz As Integer
  tem = zh - Int(zh): yy = 0
    i = 0: temzh = zh + (zj - ((Int(zh) Mod zj) + tem))
Do Until temzh > hz
    x = temzh - zh: If temzh > qz Then x = hz - temzh
    If x < ls Then
        If yh < temzh And temzh - yh < zj Then
            If zz = 0 Then
                zzh(i) = yh
                zx(i) = q + r * Sin(ls / 2 / r)
                zy(i) = p + r * (1 - Cos(ls / 2 / r))
                temzh = zzh(i - 1)
                zz = 1
                GoTo jz
            End If
        End If
        zx(i) = x - x ^ 5 / 40 / r / r / ls / ls
        zy(i) = x ^ 3 / 6 / r / ls - x ^ 7 / 336 / r ^ 3 / ls ^ 3
    Else
        If temzh - hy < zj Then
            If yy = 0 Then
                zzh(i) = hy
                zx(i) = q + r * Sin(ls / 2 / r)
                zy(i) = p + r * (1 - Cos(ls / 2 / r))
                temzh = zzh(i - 1)
                yy = 1
                GoTo jz
            End If
        End If
    fi = ((x - ls) / r + ls / 2 / r)
    zx(i) = q + r * Sin(fi)
    zy(i) = p + r * (1 - Cos(fi))
    End If
   zzh(i) = temzh
jz:
    i = i + 1
    temzh = temzh + zj
Loop
End If
End Sub
Private Sub save_click()
Dim filename As String
filename = InputBox$("请输入要保存的文件名", "保存成果")
If filename = "" Then Exit Sub
On Error GoTo err1
Open filename For Output As #1
Print #1, "                单交点基本平曲线设计成果"
Print #1, "-----------------------------------------------------------"
Print #1, "曲线的基本要素:"
Print #1, "  路线偏角:"; dtodms(pj1), "园曲线半径:"; Round(r, szjd); "米"
Print #1, "  缓和曲线长:"; Round(ls, szjd); "米", "              切线长:"; Round(t, szjd); "米"
Print #1, "  外距长:"; Round(wj, szjd); "米", "中间圆曲线长:"; Round(ly, szjd); "米"
Print #1, "  平曲线总长:"; Round(l, szjd); "米"
Print #1, "-----------------------------------------------------------"
Print #1, "曲线的主点里程:"
Print #1, "   ZH点:"; bzh(zh), "HY点:"; bzh(hy)
Print #1, "   QZ点:"; bzh(qz), "YH点:"; bzh(yh)
Print #1, "   HZ点:"; bzh(hz)
Print #1, "-----------------------------------------------------------"
Print #1, "曲线加桩一览表:"
Print #1, " 加桩里程             支距X值               支距Y值"
For o = 0 To i - 1
Print #1, jzzh(o) + "               " + Str(zx(o)) + "                " + Str(zy(o))
Next o
Print #1, "___________________________________________________________"
Print #1, "                               Copyright by 星梦软件工作室"
Close #1
MsgBox "存取成功!", , "保存文件"
Exit Sub
err1:
MsgBox Err.Description, , "存取错误!"
End Sub
Private Function dtodms(ybd As Single) As String
Dim d As Integer, m As Integer, s As Integer
d = Round(ybd, 0): m = Round((ybd - d) * 100, 0): s = Round((ybd - d - m / 100) * 10000, 0)
dtodms = LTrim(Str(d)) + "度" + LTrim(Str(m)) + "分" + LTrim(Str(s)) + "秒"
If m >= 60 Or s >= 60 Then fan = 1
Exit Function

End Function

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -