Howto: 如何通过VBScript访问和修改ArcPad的参数

文章编号: 155
软件: ArcPad Application Builder 6.0.1,6.0.2,6.0.3
操作系统: N/A
已邀请:

EsriSupport

赞同来自:

摘要: 大部分的ArcPad参数没法通过VBScript直接访问。这些参数是保存在ArcPad的ArcPadPrefs.apx 文件中的,并通过ArcPad的Options对话窗口公开给用户的。小部分的参数可以用过ArcPad的Application对象的Properties属性进行访问,但是大多数还是需要直接对ArcPadPrefs.apx文件进行读写。既然ArcPadPrefs.apx是一个XML文件,我们可以在VBScript脚本中使用MSXML DOM分析器对它所保存的属性进行读写。 注意:MSXML DOM在所有的Windows 9x/NT/2000/XP 和Pocket PC的设备上已经发布。但在 CE 2.x和一些CE 3.0 的设备上还没有,如果需要要与设备的厂商联系。

内容: 在定制ArcPad的联机帮助里可以查到了所有ArcPadPrefs.ap文件中保存的有效的elements,attributes 和相应的数值。位于 PREFERENCES元素的章节。
以下是用MSXML DOM访问ArcPadPrefs.apx文件的例子子程序,可供参考:

strArcPadAPX = Application.System.Properties("PersonalFolder") & "ArcPadPrefs.apx
'Attempt to create a reference to the MSXML DOM
On Error Resume Next
Dim pXML
Set pXML = CreateObject("Microsoft.XMLDOM")
If Err.Number <> 0 Then
MsgBox "MSXML is not present on this device.", vbCritical, "No MSXML"
Exit Sub
End If
On Error GoTo 0
'Read in ArcPadPrefs.apx
Dim blnExists
blnExists = pXML.Load(strArcPadAPX)
Dim pNewElement ' Used for new elements that may need to be created alongthe way
'If it doesn't exist, create one
If Not blnExists Then
Set pNewElement = pXML.createNode(1,"ArcPad","")
Set pXML.documentElement = pNewElement
Set pNewElement = pXML.createNode(1,"PREFERENCES","")
pXML.documentElement.appendChild(pNewElement)
Set pNewElement = Nothing
End If
'Get the GPS and PREFERENCES element
Dim pPREFSElement, pGPSElement
Set pPREFSElement = pXML.documentElement.selectSingleNode("PREFERENCES")
Set pGPSElement = pPREFSElement.selectSingleNode("GPS")
'If the GPS element doesn't exist, create it
If pGPSElement Is Nothing Then
Set pNewElement = pXML.createNode(1,"GPS","")
Set pGPSElement = pPREFSElement.appendChild(pNewElement)
Set pNewElement = Nothing
End If
'Get the AVERAGING element
Dim pAVGElement
Set pAVGElement = pGPSElement.selectSingleNode("AVERAGING")
'If it doesn't exist, create it
If pAVGElement Is Nothing Then
Set pNewElement = pXML.createNode(1,"AVERAGING","")
Set pAVGElement = pGPSElement.appendChild(pNewElement)
Set pNewElement = Nothing
End If
'Set the attributes of the AVERAGING element
pAVGElement.setAttribute "enabled", "true"
pAVGElement.setAttribute "point", p_AvgTime
'Save the changes to ArcPadPrefs.apx
pXML.Save strArcPadAPX
'Free resources
Set pXML = Nothing
Set pPREFSElement = Nothing
Set pGPSElement = Nothing
Set pAVGElement = Nothing
'Force ArcPad to reload the settings from ArcPadPrefs.apx
Dim blnSuccess
blnSuccess = Application.Properties("Load")
End Sub




创建时间:2005-04-05
最近更新:2005-04-05


原文链接
http://support.esrichina.com.cn/2005/0405/155.html

要回复问题请先登录注册