InnoSetup 5 脚本
来源:互联网 发布:sql 连续语句 编辑:程序博客网 时间:2024/06/05 20:25
[代码]InnoSetup 5 脚本
01
{ ================================================================
02
功能: 打开一个XML文档, 返回文档的Nodes对象
03
参数: XMLFile 文档路径, 可以是有效的URL路径
04
XMLRoot 文档的根节点对象
05
返回: 无
06
}
07
procedure
OpenXML(XMLFile:
String
;
var
XMLRoot: Variant);
08
var
09
XMLDocument: Variant;
10
begin
11
try
12
XMLDocument := CreateOleObject(
'MSXML2.DOMDocument'
);
13
XMLDocument
.
async :=
False
;
14
XMLDocument
.
resolveExternals :=
False
;
15
XMLDocument
.
load(XMLFile);
16
XMLRoot := XMLDocument
.
documentElement;
17
except
18
RaiseException(ExpandConstant(
'{cm:LOADXMLFAILED}'
));
19
end
;
20
end
;
21
22
23
{ ================================================================
24
功能: 在打开的XML文档中, 查找指定的节点
25
参数: XMLNode 使用OpenXML打开的XML文档的节点
26
Key 节点名字
27
AttrName 节点属性名, 可以为空
28
AttrValue 节点属性值, 可以为空
29
FoundNode 找到的节点
30
返回: 成功返回True 否则返回False
31
}
32
function
FindXMLNodeByKey(XMLNode: Variant; KeyName:
String
; AttrName:
String
; AttrVal:
String
;
var
FoundNode: Variant) :
Boolean
;
33
var
34
NodeIndex:
Integer
;
35
Node: Variant;
36
begin
37
Result :=
False
;
38
try
39
if
''
= AttrName
then
begin
40
FoundNode := XMLNode
.
selectSingleNode(KeyName)
41
Result :=
True
;
42
end
else
43
for
NodeIndex :=
0
to
XMLNode
.
childNodes
.
length()-
1
do
begin
44
Node := XMLNode
.
childNodes
.
item(NodeIndex);
45
if
(KeyName = Node
.
nodeName)
and
( AttrVal = Node
.
Attributes
.
GetNamedItem(AttrName).value)
then
begin
46
FoundNode := XMLNode
.
childNodes
.
item(NodeIndex);
47
Result :=
True
;
48
break;
49
end
;
50
end
;
51
except
52
Result :=
False
;
53
end
;
54
end
;
55
56
57
{ ================================================================
58
功能: 获取子节点的值
59
参数: XMLNode 使用OpenXML打开的XML文档的节点
60
Key 节点名字
61
返回: 值, 获取失败时, 返回空
62
}
63
function
GetXMLValue(XMLNode: Variant; KeyName:
String
) :
String
;
64
begin
65
try
66
Result := XMLNode
.
selectSingleNode(KeyName).text;
67
except
68
RaiseException(ExpandConstant(
'{cm:READXMLFAILED}'
));
69
end
;
70
end
;
- InnoSetup 5 脚本
- innosetup打包程序脚本
- InnoSetup教程
- InnoSetup实例
- innosetup 使用
- InnoSetup网址收藏
- InnoSetup使用总结
- Innosetup 打包笔记
- innosetup静默安装
- innosetup学习资料
- InnoSetup 自动安装代码
- InnoSetup使用小记
- Innosetup相关操作简介
- Innosetup 操作ini文件
- innosetup卸载删除文件
- InnoSetup安装包制作事例
- 用 InnoSetup 设置文件关联
- InnoSetup 安装程序制作工具
- 如何创建OpenCart主题/模板
- 安卓Apk加载lua文件
- UML概述
- 获取mp4文件的帧率fps
- powershell数据库操作函数
- InnoSetup 5 脚本
- Linux时间函数之gettimeofday()函数之使用方法
- 对称算法,摘要算法,公钥算法
- 问答解题:为什么打开网页的时候图片和文字比较模糊【rmzt】
- 【rmzt】问题解答:装了Office2010怎么会多一个Q盘?
- 软件开发文档编写
- 转载:开源专访】Sea.js创始人玉伯的前端开发之路
- 信号
- 各种json解析包简介