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

📄 航带网概算.frm

📁 用于摄影测量航带网概算的程序
💻 FRM
字号:
VERSION 5.00
Object = "{F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0"; "COMDLG32.OCX"
Begin VB.Form frmmain 
   Caption         =   "航带网概算"
   ClientHeight    =   5370
   ClientLeft      =   165
   ClientTop       =   735
   ClientWidth     =   8025
   LinkTopic       =   "Form1"
   LockControls    =   -1  'True
   ScaleHeight     =   5370
   ScaleWidth      =   8025
   StartUpPosition =   3  '窗口缺省
   Begin VB.CommandButton cmdend 
      Caption         =   "退出"
      BeginProperty Font 
         Name            =   "楷体_GB2312"
         Size            =   15
         Charset         =   134
         Weight          =   700
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   615
      Left            =   5880
      TabIndex        =   5
      Top             =   4440
      Width           =   1935
   End
   Begin VB.CommandButton cmdnew 
      Caption         =   "建数据文件"
      BeginProperty Font 
         Name            =   "楷体_GB2312"
         Size            =   15
         Charset         =   134
         Weight          =   700
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   615
      Left            =   3480
      TabIndex        =   4
      Top             =   4440
      Width           =   1935
   End
   Begin VB.TextBox txtout 
      Height          =   3375
      Left            =   3480
      MultiLine       =   -1  'True
      ScrollBars      =   3  'Both
      TabIndex        =   3
      Top             =   840
      Width           =   4455
   End
   Begin VB.CommandButton cmddo 
      Caption         =   "直接概算 "
      Enabled         =   0   'False
      BeginProperty Font 
         Name            =   "楷体_GB2312"
         Size            =   15
         Charset         =   134
         Weight          =   700
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   495
      Left            =   4560
      TabIndex        =   2
      Top             =   240
      Width           =   2415
   End
   Begin MSComDlg.CommonDialog CommonDialog1 
      Left            =   3480
      Top             =   240
      _ExtentX        =   847
      _ExtentY        =   847
      _Version        =   393216
   End
   Begin VB.CommandButton cmdinput 
      Appearance      =   0  'Flat
      Caption         =   "数 据 输 入"
      BeginProperty Font 
         Name            =   "楷体_GB2312"
         Size            =   14.25
         Charset         =   134
         Weight          =   700
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   495
      Left            =   480
      TabIndex        =   1
      Top             =   240
      Width           =   2415
   End
   Begin VB.TextBox txtresouce 
      Height          =   4215
      Left            =   240
      MultiLine       =   -1  'True
      ScrollBars      =   3  'Both
      TabIndex        =   0
      Top             =   840
      Width           =   3015
   End
   Begin VB.Menu meufile 
      Caption         =   "文件"
      Begin VB.Menu meunew 
         Caption         =   "新建"
         Shortcut        =   ^N
      End
      Begin VB.Menu meuopen 
         Caption         =   "打开文件"
         Shortcut        =   ^O
      End
      Begin VB.Menu meusave 
         Caption         =   "保存文件"
         Shortcut        =   ^S
      End
      Begin VB.Menu innn 
         Caption         =   "-"
      End
      Begin VB.Menu meuexit 
         Caption         =   "退出"
         Shortcut        =   ^X
      End
   End
End
Attribute VB_Name = "frmmain"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit

Private Sub cmddo_Click()
 'φωκu v
 Dim i As Integer
  Call xddx
  txtout.Text = ""
  txtout.Text = "相对定向结果为:" & vbCrLf
  txtout.Text = txtout.Text & "     第一像对" & "    第二像对" & vbCrLf
  txtout.Text = txtout.Text & "by    " & Format(u(1) * bx, "0.0000") & "    " & Format(u(2) * bx, "0.0000") & vbCrLf
  txtout.Text = txtout.Text & "bz    " & Format(V(1) * bx, "0.0000") & "    " & Format(V(2) * bx, "0.0000") & vbCrLf
  txtout.Text = txtout.Text & "φ    " & Format(fy(1), "0.0000") & "    " & Format(fy(2), "0.0000") & vbCrLf
  txtout.Text = txtout.Text & "ω    " & Format(om(1), "0.0000") & "    " & Format(om(2), "0.0000") & vbCrLf
  txtout.Text = txtout.Text & "κ    " & Format(kp(1), "0.0000") & "    " & Format(kp(2), "0.0000") & vbCrLf
  
  Call mxlj
  txtout.Text = txtout.Text & "---------------------------------------" & vbCrLf
  txtout.Text = txtout.Text & "模型连接后,模型点坐标为" & vbCrLf
  txtout.Text = txtout.Text & "第一个模型" & vbCrLf
  txtout.Text = txtout.Text & "点号 " & "       X" & "         Y" & "          Z" & vbCrLf
  For i = 1 To num(1)
      txtout.Text = txtout.Text & name1(i) & "   " & Format(Xmo(1, i), "0.0000") & "   " & Format(Ymo(1, i), "0.0000") & "   " & Format(Zmo(1, i), "0.0000") & vbCrLf
  Next i
  txtout.Text = txtout.Text & "第二个模型" & vbCrLf
  txtout.Text = txtout.Text & "点号 " & "       X" & "         Y" & "         Z" & vbCrLf
  For i = 1 To num(2)
      txtout.Text = txtout.Text & name2(i) & "   " & Format(Xmo(2, i), "0.0000") & "   " & Format(Ymo(2, i), "0.0000") & "   " & Format(Zmo(2, i), "0.0000") & vbCrLf
  Next i
  
  Call jddx
  txtout.Text = txtout.Text & "---------------------------------------" & vbCrLf
  txtout.Text = txtout.Text & "绝对定向后各点的大地坐标为:" & vbCrLf
  txtout.Text = txtout.Text & "第一个模型" & vbCrLf
  txtout.Text = txtout.Text & "点号 " & "        X" & "        Y" & "         Z" & vbCrLf
  For i = 1 To num(1)
      txtout.Text = txtout.Text & name1(i) & "   " & Format(dadi1(i, 1), "0.0000") & "   " & Format(dadi1(i, 2), "0.0000") & "   " & Format(dadi1(i, 3), "0.0000") & vbCrLf
  Next i
  txtout.Text = txtout.Text & "第二个模型" & vbCrLf
  txtout.Text = txtout.Text & "点号 " & "        X" & "        Y" & "         Z" & vbCrLf
  For i = 1 To num(2)
      txtout.Text = txtout.Text & name2(i) & "   " & Format(dadi2(i, 1), "0.0000") & "   " & Format(dadi2(i, 2), "0.0000") & "   " & Format(dadi2(i, 3), "0.0000") & vbCrLf
  Next i
End Sub

Private Sub cmdend_Click()
  End
End Sub

Private Sub cmdinput_Click()
On Err GoTo err_hander
   txtresouce.Text = ""
   Dim issuccess As Boolean
   issuccess = True
   issuccess = LoadTextControl(txtresouce, CommonDialog1, App.Path & "\基本数据")
   '处理不成功的情况
   If issuccess = False Then
      txtresouce.Text = ""
      Exit Sub
   End If
   cmddo.Enabled = True

   '变量定义
   Dim lines() As String         '用于分离整体文本框
   Dim inline() As String        '分离各行中数据
   Dim i As Integer              '循环变量
   
   '调用mysplit()函数,读取数据
   Dim readflag As Boolean
   readflag = True
   readflag = mysplit(txtresouce.Text, vbCrLf, lines())
   
   readflag = mysplit(lines(2), " ", inline())
   f = Val(Mid$(inline(1), 3))                      '求焦距 f
   bx = Val(Mid$(inline(2), 4))                     '求摄影基线 bx
   e = Val(Mid$(inline(3), 3))                      '求迭代限差 e
   
   num(1) = 0
   '读取第一像对中点的坐标
   For i = 5 To UBound(lines())
       readflag = mysplit(lines(i), " ", inline())
       If UBound(inline) < 5 Then Exit For
          num(1) = num(1) + 1
          ReDim Preserve name1(1 To num(1))
          ReDim Preserve x11(1 To num(1))
          ReDim Preserve y11(1 To num(1))
          ReDim Preserve x12(1 To num(1))
          ReDim Preserve y12(1 To num(1))
          
          name1(num(1)) = inline(1)
          x11(num(1)) = inline(2)
          y11(num(1)) = inline(3)
          x12(num(1)) = inline(4)
          y12(num(1)) = inline(5)
   Next i
   '读取第二像对中点的坐标
   num(2) = 0
   For i = 6 + num(1) To UBound(lines())
       readflag = mysplit(lines(i), " ", inline())
       If UBound(inline) < 5 Then Exit For
          num(2) = num(2) + 1
          ReDim Preserve name2(1 To num(2))
          ReDim Preserve x21(1 To num(2))
          ReDim Preserve y21(1 To num(2))
          ReDim Preserve x22(1 To num(2))
          ReDim Preserve y22(1 To num(2))
          
          name2(num(2)) = inline(1)
          x21(num(2)) = inline(2)
          y21(num(2)) = inline(3)
          x22(num(2)) = inline(4)
          y22(num(2)) = inline(5)
   Next i
   '读取控制点坐标
   num(3) = 0
   For i = 7 + num(1) + num(2) To UBound(lines())
       readflag = mysplit(lines(i), " ", inline())
       num(3) = num(3) + 1
       ReDim Preserve name3(1 To num(3))
       ReDim Preserve xkong(1 To num(3))
       ReDim Preserve ykong(1 To num(3))
       ReDim Preserve zkong(1 To num(3))
             
       name3(num(3)) = inline(1)
       xkong(num(3)) = inline(2)
       ykong(num(3)) = inline(3)
       zkong(num(3)) = inline(4)
   Next i
Exit Sub
err_hander:
   If issuccess = False Then MsgBox "读取文件出错"
   If readflag = False Then MsgBox "文件格式可能出错"
      
End Sub

Private Sub meuexit_Click()
  Call cmdend_Click
End Sub

⌨️ 快捷键说明

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