Intouch在做按钮动作和调试脚本时,经常需要用户确认窗口,根据用户点击的“是”“否”“确认”“取消”“OK”等取得返回值,从而根据用户二次确认以获得最终结果,下面给出两种MessageBox窗口的脚本,给大家参考:
方案A:
采用Intouch系统自带的OLE控件自行编写MsgBox。
缺点是创建的用户界面对话框可能会被其他窗口覆盖,不易别察觉。
下面是一个例子:
1.创建用户界面对话框
2.在脚本中,使用以下命令产生用户界面对话框:
3.
4.dim DlgBody as message;
5.dim DlgTitle as message;
6.dim Style as integer;
7.dim Result as integer;
8.
9.OLE_CreateObject(%WS,"Wscript.Shell");
10.result = %WS.Popup(DlgBody,1,DlgTitle,Style);
11.
12.本例创建以下用户界面对话框
13.Style 标记名确定有哪些图标与按钮出现在对话框上。
使用以下值:
复制代码
1.图标样式值
2.(无图标)无图标 0
3.错误图标 16
4.问号图标 32
5.警告图标 48
6.信息图标 64
7.
8.要使用特定的按钮,请将以下值之一添加到 Style 值:
9.值样式
10.0 仅确定按钮
11.1 确定与取消按钮
12.2 放弃、重试及忽略按钮
13.3 是、否及取消按钮
14.4 是与否按钮
15.5 重试与取消按钮
16.6 取消、重试及继续按钮
17.
18.Result 标记名包含用户单击的按钮编号。
这可用作 InTouch 脚本中的条件分支。
可能的结果码如下:
19.结果值含义
20.1 按了确定按钮
21.2 按了取消按钮
22.3 按了放弃按钮
23.4 按了重试按钮
24.5 按了忽略按钮
25.6 按了是按钮
26.7 按了否按钮
27.10 按了重试按钮
28.11 按了继续按钮
复制代码
代码说明:DlgBody是消息变量写需要显示的字符串;DlgTitle是消息变量写窗口的标题;Style是整形变量定义格式。
Style的值写最终想表达的样式值,是图标样式值和特定按钮值的和。
比如Style是33=32(问号图标)+1(显示确定与取消按钮),具体的组合自己尝试下就知道了。
返回值result对应的是用户点击了那个按钮。
可以将上面的代码写成快速脚本,多次调用,就避免了每次写代码的过程。
方案B:
采用Wonderware提供的脚本函数库Messagebox()函数来实现,不过需要单独下载控件包后才能使用此函数,好处是次用户窗口不会被其他窗口覆盖,直至点击了按钮。
此函数语法是: return=MessageBox( Message, Title, Style);
1.message是显示的内容,消息变量
2.Title是标题内容,消息变量
3.Style是样式,整形
4.这三个参数参考方案A的参数,只是代码的数值含义不同,但是原理一致:
复制代码
1.返回值return
2.[是] 1
3.[取消] 2
4.[禁止] 3
5.[重试] 4
6.[忽略] 5
7.[是] 6
8.[否] 7
复制代码
1.按钮样式代码
2.0 [OK]
3. 1 [OK] [取消]
4. 2 [禁止] [重试] [取消]
5. 3 [是] [否] [取消]
6. 4 [是] [否]
7. 5 [重试] [取消]
复制代码
1.图标代码值
2.10 错误图标
3.20 问号图标
4.30 警告图标
5.40 信息图标
6.同样Stytle是图标代码和按钮代码的值之和
复制代码
列子:result=MessageBox( "加到趋势?", "曲线加笔确认", 24 );
效果图
下面附上MessageBox()函数控件包,分为Intouch7.0版本和7.1及更高版本的压缩包,将解压缩的两个文件放入Intouch安装目录下,比如:C:\Program Files\Wonderware\InTouch WwTSup70-7.0版本.zip(12.65KB)
WWTSup71-7.1及更高版本.zip(42。