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

📄 form2.frm

📁 全站仪计算仪器加乘常数
💻 FRM
📖 第 1 页 / 共 2 页
字号:
VERSION 5.00
Object = "{F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0"; "comdlg32.ocx"
Object = "{5E9E78A0-531B-11CF-91F6-C2863C385E30}#1.0#0"; "MSFLXGRD.OCX"
Begin VB.Form Form2 
   BorderStyle     =   1  'Fixed Single
   Caption         =   "加乘常数计算 编写:冉海涛"
   ClientHeight    =   10395
   ClientLeft      =   150
   ClientTop       =   840
   ClientWidth     =   8730
   LinkTopic       =   "Form2"
   MaxButton       =   0   'False
   MinButton       =   0   'False
   ScaleHeight     =   10395
   ScaleWidth      =   8730
   StartUpPosition =   3  '窗口缺省
   Begin VB.TextBox Text1 
      Height          =   264
      Left            =   0
      TabIndex        =   1
      Top             =   0
      Visible         =   0   'False
      Width           =   852
   End
   Begin MSFlexGridLib.MSFlexGrid MSFlexGrid1 
      Height          =   10335
      Left            =   0
      TabIndex        =   0
      Top             =   120
      Width           =   8175
      _ExtentX        =   14420
      _ExtentY        =   18230
      _Version        =   393216
      Rows            =   28
      Cols            =   6
      FixedRows       =   0
      FixedCols       =   0
      BackColorBkg    =   16777215
      WordWrap        =   -1  'True
      Redraw          =   -1  'True
      ScrollTrack     =   -1  'True
      GridLines       =   3
      AllowUserResizing=   3
      MousePointer    =   1
      OLEDropMode     =   1
   End
   Begin MSComDlg.CommonDialog CommonDialog1 
      Left            =   0
      Top             =   0
      _ExtentX        =   688
      _ExtentY        =   688
      _Version        =   393216
   End
   Begin VB.Menu file 
      Caption         =   "文件"
      Begin VB.Menu open 
         Caption         =   "打开观测值"
      End
      Begin VB.Menu save 
         Caption         =   "保存"
      End
      Begin VB.Menu end 
         Caption         =   "结束"
      End
   End
   Begin VB.Menu JS 
      Caption         =   "计算"
      Begin VB.Menu JCJS 
         Caption         =   "加乘常数计算"
      End
      Begin VB.Menu BJS 
         Caption         =   "标称精度"
      End
      Begin VB.Menu report 
         Caption         =   "报表"
      End
   End
End
Attribute VB_Name = "Form2"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False

Dim nodX As Node
Dim grow As Integer
Dim gcol As Integer
Public n As Integer
Dim X1 As String
Dim D(1 To 21) As Double '休正后值
Dim D0(1 To 21) As Double '基线值
Dim L(1 To 21) As Double '差值
Dim a As Double '加常数
Dim b As Double '乘常数
Dim filename As String '文件名
Dim sumD As Double
Dim sumL As Double
Dim L0(1 To 21) As Double
Dim sumL0 As Double

Dim sumLL As Double
Dim sumLL0 As Double
Dim sumDL0 As Double
Dim sumDL As Double
Dim sumDD As Double
Dim sumVV As Double
Dim k As Double
Dim m0 As Double
Dim mr As Double
Dim mk As Double
Dim Q11 As Double
Dim Q22 As Double


Private Sub BJS_Click()
CommonDialog1.ShowOpen
filename = CommonDialog1.filename
Open filename For Input As #1

Do While Not EOF(1)
Line Input #1, mynumber
mystr = Split(mynumber, ",")
If i > 1 Then
MSFlexGrid1.TextMatrix(i + 3, 4) = mystr(2)
End If
i = i + 1
Loop
n = i - 1

 For i = 4 To n + 3
 L0(i - 3) = (MSFlexGrid1.TextMatrix(i, 4) - MSFlexGrid1.TextMatrix(i, 1)) * 1000
 Next i
  For i = 4 To n + 3
MSFlexGrid1.TextMatrix(i, 5) = Format(L0(i - 3), "0.0000")
 Next i
 For i = 4 To n + 3
 L0(i - 3) = Abs(L0(i - 3))
 Next i

  
  sumDD = 0
  For i = 1 To n
 sumDD = sumDD + D(i) * D(i)
 Next i
 sumD = 0
 For i = 1 To n
 sumD = sumD + D(i)
 Next i
  sumLL0 = 0
   For i = 1 To n
 sumLL0 = sumLL0 + L0(i) * L0(i)
 Next i
 sumL0 = 0
For i = 1 To n
 sumL0 = sumL0 + L0(i)
 Next i
 sumDL0 = 0
 For i = 1 To n
 sumDL0 = sumDL0 + D(i) * L0(i)
 Next i

aa = (sumD * sumDL0 - sumDD * sumL0) / (sumD ^ 2 - n * sumDD)
bb = (sumD * sumL0 - n * sumDL0) / (sumD ^ 2 - n * sumDD)
End Sub

Private Sub end_Click()
End
End Sub

Private Sub Form_Load()
Dim i As Integer
        JS.Enabled = False
BJS.Enabled = False
    MSFlexGrid1.RowHeight(0) = 450
            MSFlexGrid1.RowHeight(25) = 350
 MSFlexGrid1.RowHeight(26) = 350
  MSFlexGrid1.RowHeight(27) = 350
    For i = 1 To 24 '表格高度
        MSFlexGrid1.RowHeight(i) = 350
        MSFlexGrid1.TextMatrix(i, 0) = i - 3
    Next i
    For i = 1 To 5 '表格宽度
        MSFlexGrid1.ColWidth(i) = 1500
    Next i
    MSFlexGrid1.ColWidth(3) = 1300
    For i = 0 To 5
     MSFlexGrid1.TextMatrix(0, i) = "                         加乘常数计算"
     Next i
       For i = 0 To 5
     MSFlexGrid1.TextMatrix(1, i) = " 仪器型号:          仪器编号:         检定地点:          日 期:               "
     Next i
 For i = 0 To 5
     MSFlexGrid1.TextMatrix(2, i) = " 观 测 者:          记 录 者:         计 算 者:          检 校:               "
     Next i
      For i = 0 To 5
     MSFlexGrid1.TextMatrix(27, i) = "                                            西南电力设计院勘测工程分公司"
     Next i
MSFlexGrid1.MergeRow(27) = True
     MSFlexGrid1.MergeCells = flexMergeFree
     For i = 0 To 5
     MSFlexGrid1.TextMatrix(26, i) = "加常数中误差Mc=" & "   mm       乘常数中误差Mk=" & "    mm/km" & " 测距中误差Mk= mm"
Next i
MSFlexGrid1.MergeRow(26) = True
     MSFlexGrid1.MergeCells = flexMergeFree

For i = 0 To 5
     MSFlexGrid1.TextMatrix(25, i) = "加常数C=" & "  mm       乘常数K=" & "  mm/km" & " 固定误差部分a=" & Format(aa, "0.000") & " mm  比例误差系数b=" & Format(bb * 1000, "0.0") & " mm/km"
Next i
     MSFlexGrid1.MergeRow(25) = True
     MSFlexGrid1.MergeCells = flexMergeFree

     MSFlexGrid1.MergeRow(1) = True
         MSFlexGrid1.MergeRow(0) = True
     MSFlexGrid1.MergeRow(2) = True
     MSFlexGrid1.MergeCells = flexMergeFree

    MSFlexGrid1.Width = 1700 * 4 + MSFlexGrid1.ColWidth(0) + 2200
    MSFlexGrid1.TextMatrix(3, 0) = "   序号"
    MSFlexGrid1.TextMatrix(3, 1) = "   基线值"
    MSFlexGrid1.TextMatrix(3, 2) = "观测值"
    MSFlexGrid1.TextMatrix(3, 3) = "   差值"
    MSFlexGrid1.TextMatrix(3, 4) = "修正后值"
    MSFlexGrid1.TextMatrix(3, 5) = "修正后差值"

  '文本赋值(基线值)
        
      
Dim mystr() As String

Dim j As Integer
filename = App.Path & "\JX.SYS"
Open filename For Input As #1
i = 3
Do While Not EOF(1)
Line Input #1, mynumber
mystr = Split(mynumber, ",")
MSFlexGrid1.TextMatrix(i + 1, 1) = mystr(0)
i = i + 1
Loop
Close #1

'文本赋值(修正后值)
'
'        MSFlexGrid1.TextMatrix(4, 2) = 48.0051
'        MSFlexGrid1.TextMatrix(5, 2) = 120.0096
'        MSFlexGrid1.TextMatrix(6, 2) = 191.9985
'        MSFlexGrid1.TextMatrix(7, 2) = 263.9781
'        MSFlexGrid1.TextMatrix(8, 2) = 407.9842
'        MSFlexGrid1.TextMatrix(9, 2) = 552.0113
'        MSFlexGrid1.TextMatrix(10, 2) = 504.0019
'        MSFlexGrid1.TextMatrix(11, 2) = 791.9556
'        MSFlexGrid1.TextMatrix(12, 2) = 359.9825
'        MSFlexGrid1.TextMatrix(13, 2) = 215.9838
'        MSFlexGrid1.TextMatrix(14, 2) = 144.0018
'        MSFlexGrid1.TextMatrix(15, 2) = 72.0169
'        MSFlexGrid1.TextMatrix(16, 2) = 71.9901
'        MSFlexGrid1.TextMatrix(17, 2) = 143.9725
'        MSFlexGrid1.TextMatrix(18, 2) = 431.9956
'        MSFlexGrid1.TextMatrix(19, 2) = 719.9406
'        MSFlexGrid1.TextMatrix(20, 2) = 647.9494
'        MSFlexGrid1.TextMatrix(21, 2) = 360.0015
'        MSFlexGrid1.TextMatrix(22, 2) = 215.9863
'        MSFlexGrid1.TextMatrix(23, 2) = 71.9872
'        MSFlexGrid1.TextMatrix(24, 2) = 287.9726
'
End Sub

Private Sub JCJS_Click() '加乘常数计算
Dim i As Integer

 For i = 4 To n + 3 '表格高度
        MSFlexGrid1.TextMatrix(i, 3) = Format(Val((MSFlexGrid1.TextMatrix(i, 1)) - Val(MSFlexGrid1.TextMatrix(i, 2))) * 1000, "0.0")
    Next i



 For i = 4 To n + 3
  D0(i - 3) = MSFlexGrid1.TextMatrix(i, 1)
 Next i
  For i = 4 To n + 3
  D(i - 3) = MSFlexGrid1.TextMatrix(i, 2)
 Next i
 For i = 4 To n + 3
  L(i - 3) = MSFlexGrid1.TextMatrix(i, 3)
 Next i
 sumD = 0
 For i = 1 To n
 sumD = sumD + D(i)
 Next i
 sumL = 0
 For i = 1 To n
 sumL = sumL + L(i)
 Next i
  For i = 1 To n
 sumLL = sumLL + L(i) * L(i)
 Next i

 sumDL = 0
  For i = 1 To n
 sumDL = sumDL + D(i) * L(i)
 Next i
   sumDD = 0
  For i = 1 To n
 sumDD = sumDD + D(i) * D(i)
 Next i
a = (sumD * sumDL - sumDD * sumL) / (sumD ^ 2 - 21 * sumDD)
b = (sumD * sumL - 21 * sumDL) / (sumD ^ 2 - 21 * sumDD)
 For i = 4 To 3 + n
  D(i - 3) = MSFlexGrid1.TextMatrix(i, 2) * (1 + b / 1000) + a / 1000
 Next i
  For i = 4 To 3 + n
   MSFlexGrid1.TextMatrix(i, 4) = Format(D(i - 3), "0.0000")
 Next i

 sumVV = sumLL - sumL * a - sumDL * b
     Q11 = -sumDD / (sumD ^ 2 - n * sumDD)
     Q22 = -21 / (sumD ^ 2 - n * sumDD)
m0 = Sqr(sumVV / (n - 2))
mk = m0 * Sqr(Q11)
mr = m0 * Sqr(Q22)
 '************************************************
 For i = 4 To n + 3
 L0(i - 3) = (MSFlexGrid1.TextMatrix(i, 4) - MSFlexGrid1.TextMatrix(i, 1)) * 1000
 Next i
  For i = 4 To n + 3
MSFlexGrid1.TextMatrix(i, 5) = Abs(Format(L0(i - 3), "0.0000"))
 Next i
 For i = 4 To n + 3
 L0(i - 3) = Abs(L0(i - 3))
 Next i

  
  sumDD = 0
  For i = 1 To n
 sumDD = sumDD + D(i) * D(i)
 Next i
 sumD = 0
 For i = 1 To n
 sumD = sumD + D(i)
 Next i
  sumLL0 = 0
   For i = 1 To n
 sumLL0 = sumLL0 + L0(i) * L0(i)
 Next i
 sumL0 = 0
For i = 1 To n
 sumL0 = sumL0 + L0(i)
 Next i
 sumDL0 = 0
 For i = 1 To n
 sumDL0 = sumDL0 + D(i) * L0(i)
 Next i

aa = (sumD * sumDL0 - sumDD * sumL0) / (sumD ^ 2 - n * sumDD)
bb = (sumD * sumL0 - n * sumDL0) / (sumD ^ 2 - n * sumDD)

For i = 0 To 5
     MSFlexGrid1.TextMatrix(25, i) = "加常数C=" & Format(a, "0.000") & "mm  乘常数K=" & Format(b * 1000, "0.000") & "mm/km" & "  固定误差部分a=" & Format(aa, "0.000") & "mm  比例误差系数b=" & Format(bb * 1000, "0.000") & "mm/km"
Next i
     MSFlexGrid1.MergeRow(25) = True
     MSFlexGrid1.MergeCells = flexMergeFree
     
For i = 0 To 5

⌨️ 快捷键说明

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