vb在测绘行业的应用

vb在测绘行业的应用,第1张

基于VB6.0的集成开发环境在测量工作中具有重要意义,是测绘人员必须掌握的一门实用、有效的专业技能。随着测绘技术的不断发展,计算机在现代测绘科学中的应用越来越广泛,已经深入到从理论研究到实际生产的方方面面,如坐标解算、数据处理、施工放样计算、地理信息数据加工和管理等。使用计算机程序处理测量数据,不但方便、快速,而且准确、具有可重复性。它综合性很强,涉及面不仅包括控制测量学、测量平差、工程测量学等测量专业内容,还涉及数据结构、数组与过程、编程技术等多方面内容。编写的程序在测量作业中起到了很大的作用,方便了计算,节约了时间,提高了工作效率并且能够保证计算结果准确可靠。同时,为以后熟练使用卡西欧计算器奠定了基础。

本设计课题将VB语言与测量程序设计进行了有机结合。本论文的主要目的是使我们在学习VB语言编程的同时,能够结合测绘专业的例子,一方面可以巩固测绘专业知识,另一方面可以掌握运用VB语言编写程序解决测绘专业问题的能力。

代码未考虑校验和:

Option Explicit

Dim strdata As String

Dim bytInput() As Byte

Dim sj(1) As Double

Dim sjData(1) As String

Dim xswz As Integer

Dim xswz1 As Integer

Private Sub Command1_Click()

Timer1.Enabled = True

End Sub

Private Sub MsComm1_OnComm()

Dim intInputLen As Integer

Select Case MSComm1.CommEvent

Case comEvReceive

'接收代码

While MSComm1.InBufferCount

intInputLen = MSComm1.InBufferCount

ReDim bytInput(intInputLen)

bytInput = MSComm1.Input

jieshou

'数据处理

If Mid(strdata, 1, 2) = "AA" And Len(strdata) = 32 Then

Dim j As Integer

Dim binsj As Integer

'For j = 1 To Len(strdata) - 2 Step 2

'binsj = binsj + Val("&H" &Mid(strdata, j, 2))

'Next

'Print Hex(binsj Mod 256)

Text1 = strdata

xswz = Val("&H" &Mid(strdata, 15, 2))

xswz1 = Val("&H" &Mid(strdata, 29, 2))

sj(0) = Val(Mid(strdata, 5, 10)) / (10 ^ xswz)

sj(1) = Val(Mid(strdata, 19, 10)) / (10 ^ xswz1)

sjData(0) = Format(sj(0), "0.0000000")

sjData(1) = Format(sj(1), "0.0000000")

If Mid(strdata, 4, 1) = "0" Then

Text2 = sjData(0)

Else

Text2 = "-" &sjData(0)

End If

If Mid(strdata, 18, 1) = "0" Then

Text3 = sjData(1)

Else

Text3 = "-" &sjData(1)

End If

Timer1.Enabled = False

strdata = ""

ElseIf Mid(strdata, 1, 2) <>"AA" Then

strdata = ""

End If

Wend

End Select

End Sub

Public Function jieshou() '接收数据处理为16进制

Dim i As Integer

For i = 0 To UBound(bytInput)

If Len(Hex(bytInput(i))) = 1 Then

strdata = strdata &"0" &Hex(bytInput(i))

Else

strdata = strdata &Hex(bytInput(i))

End If

Next

End Function

Private Sub Form_Load()

MSComm1.Settings = "2400,n,8,1"

MSComm1.CommPort = 1

MSComm1.InputMode = comInputModeBinary

MSComm1.RThreshold = 1

MSComm1.SThreshold = 0

MSComm1.PortOpen = True

Timer1 = 200

Timer1.Enabled = False

End Sub

Private Sub Timer1_Timer()

Dim send(0) As Byte

send(0) = &H55

MSComm1.Output = send

End Sub


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11148505.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存