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

📄 loadnavifile.bas

📁 调入Renix格式的GPS卫星星历文件(N文件)的函数模块;
💻 BAS
字号:
Attribute VB_Name = "调入导航电文"
'---------------------------------------------------------------------------------
'调入导航数据到Sates()
'---------------------------------------------------------------------------------
Public Function Load_Nav_Msg(FILESTRING As String)

Dim filenum As Integer
Dim temp As String
Dim i As Integer, j As Integer, k As Integer


filenum = FreeFile()
Open FILESTRING For Input As #filenum

'1.跳过文件头
Do While True
   Line Input #filenum, temp
   If Right(temp, 13) = "END OF HEADER" Then
   Exit Do
   End If
Loop

'2.开始读取数据

'动态数组的动态数组

i = 0 '编号
Do While Not EOF(filenum)
   ReDim Preserve Sates(i)  '添加一个轨道
         Line Input #filenum, temp '第一行
                  Sates(i).Prn = Val(Mid(temp, 1, 2))
                  Sates(i).TOC.Y = Val(Mid(temp, 4, 2))
                  
                  If Sates(i).TOC.Y < 80 Then
                      Sates(i).TOC.Y = Sates(i).TOC.Y + 2000
                  Else
                      Sates(i).TOC.Y = Sates(i).TOC.Y + 1900
                  End If
                  
                  Sates(i).TOC.M = Val(Mid(temp, 7, 2))
                  Sates(i).TOC.D = Val(Mid(temp, 10, 2))
                  Sates(i).TOC.h = Val(Mid(temp, 13, 2))
                  Sates(i).TOC.Min = Val(Mid(temp, 15, 2))
                  Sates(i).TOC.s = Val(Mid(temp, 17, 5))
                  Sates(i).Clockd = Val(Mid(temp, 23, 19))
                  Sates(i).Clockv = Val(Mid(temp, 42, 19))
                  Sates(i).Clocka = Val(Mid(temp, 61, 19))
                  
         Line Input #filenum, temp '第二行
                  Sates(i).IODE = Val(Mid(temp, 4, 19))
                  Sates(i).Crs = Val(Mid(temp, 23, 19))
                  Sates(i).deltan = Val(Mid(temp, 42, 19))
                  Sates(i).M0 = Val(Mid(temp, 61, 19))

         Line Input #filenum, temp '第三行
                  Sates(i).Cuc = Val(Mid(temp, 4, 19))
                  Sates(i).E = Val(Mid(temp, 23, 19))
                  Sates(i).Cus = Val(Mid(temp, 42, 19))
                  Sates(i).sA = Val(Mid(temp, 61, 19))

         Line Input #filenum, temp '第四行
                  Sates(i).TOE = Val(Mid(temp, 4, 19))
                  Sates(i).Cic = Val(Mid(temp, 23, 19))
                  Sates(i).Omega = Val(Mid(temp, 42, 19))
                  Sates(i).Cis = Val(Mid(temp, 61, 19))

         Line Input #filenum, temp '第五行
                  Sates(i).I0 = Val(Mid(temp, 4, 19))
                  Sates(i).Crc = Val(Mid(temp, 23, 19))
                  Sates(i).W = Val(Mid(temp, 42, 19))
                  Sates(i).Omegadot = Val(Mid(temp, 61, 19))
                  
         Line Input #filenum, temp '第六行
                  Sates(i).Idot = Val(Mid(temp, 4, 19))
                  Sates(i).L2 = Val(Mid(temp, 23, 19))
                  Sates(i).GpsWeek = Val(Mid(temp, 42, 19))
                  Sates(i).L2P = Val(Mid(temp, 61, 19))

         Line Input #filenum, temp '第七行
                  Sates(i).SateN = Val(Mid(temp, 4, 19))
                  Sates(i).SateHealth = Val(Mid(temp, 23, 19))
                  Sates(i).TGD = Val(Mid(temp, 42, 19))
                  Sates(i).IODC = Val(Mid(temp, 61, 19))

         Line Input #filenum, temp '第八行
                  Sates(i).Tom = Val(Mid(temp, 4, 19))

    
 i = i + 1
Loop

Close #filenum



End Function


⌨️ 快捷键说明

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