WEB开发网
开发学院手机开发Windows Mobile 开发 在 WM 平台上开发 GPS 导航系统 阅读

在 WM 平台上开发 GPS 导航系统

 2010-02-21 22:52:00 来源:WEB开发网   
核心提示:153 Exit For154 Case Else155 ' Is this the first value for the checksum?156 If Checksum = 0 Then157 ' Yes. Set the checksum to the value158 Checksum = C

153 Exit For

154 Case Else

155 ' Is this the first value for the checksum?

156 If Checksum = 0 Then

157 ' Yes. Set the checksum to the value

158 Checksum = Convert.ToByte(Character)

159 Else

160 ' No. XOR the checksum with this character's value

161 Checksum = Checksum Xor Convert.ToByte(Character)

162 End If

163 End Select

164 Next

165 ' Return the checksum formatted as a two-character hexadecimal

166 Return Checksum.ToString("X2")

167 End Function

168 End Class

169

一个世界级的解析器

国际读者可能已经发现了一个微妙的问题,这不是在上市初期处理-数字被在美国使用的数字格式报告!如比利时和瑞士使用不同的数字格式,需要调整解析器以便在所有的地方工作。幸运的是,NET框架,其中包括内置支持不同文化之间的转换数量,因此对解析器必要的改变很简单。在解析器中,唯一的分数值是速度,因此只有一处改动是必要的。NmeaCultureInfo变量代表NMEA语句内使用数字的文化。Double.Parse方法使用这个变量用于将速度转换成机器的地方文化。列表1-8显示了完整的解析器,现在可以在国际上用了。

代码片段:

1 *************************************************************

2

3 '** Listing 1-8. Adding support for international cultures

4

5 '*************************************************************

6

7 Imports System.Globalization

8 Public Class NmeaInterpreter

9

10 ' Represents the EN-US culture, used for numbers in NMEA sentences

11 Private NmeaCultureInfo As New CultureInfo("en-US")

12 ' Used to convert knots into miles per hour

13 Private MPHPerKnot As Double = Double.Parse("1.150779", NmeaCultureInfo)

14 ' Raised when the current location has changed

15 Public Event PositionReceived(ByVal latitude As String,_

上一页  16 17 18 19 20 21 22 23 24 25 26  下一页

Tags:WM 平台 开发

编辑录入:coldstar [复制链接] [打 印]
赞助商链接