技术论坛

脚本中Screens与Screen的区别

作者 主题
侠客

经验值: 735
发帖数: 159
精华帖: 0
主题:【求助】脚本中Screens与Screen的区别


只看楼主 楼主 2019-12-13 09:35:28

搞不明白脚本中Screens与Screen的区别,是什么?帮忙说明一下,谢谢


 
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1598470&b_id=5

版主

经验值: 17308
发帖数: 8469
精华帖: 18
回复:脚本中Screens与Screen的区别


只看楼主 1楼 2019-12-13 10:40:48

带s的是集合,不带s的是成员。


无论成与败,无论甜与苦,我还是我。
以下网友喜欢您的帖子:

  
侠客

经验值: 735
发帖数: 159
精华帖: 0
回复:脚本中Screens与Screen的区别


只看楼主 楼主 2楼 2019-12-13 12:07:02
以下是引用城外之人在2019-12-13 10:40:48的发言 >1楼

带s的是集合,不带s的是成员。

那Screens(1),ScreenItems(1)中的(1)表示什么呢?

比如

HMIRuntime.BaseScreenName = "MainScreen"

Dim ObjScreen

Set ObjScreen = HmiRuntime.Screens(1).ScreenItems(1)

第一句还可以理解,把画面切换为名称为MainScreen的画面

但第二,第三就不明白了,像第一行代码就已完成画面的切换,为什么还要增加第二,第三行代码?

望大师帮忙解读! 谢谢



 
以下网友喜欢您的帖子:

  
版主

经验值: 17308
发帖数: 8469
精华帖: 18
回复:脚本中Screens与Screen的区别


只看楼主 3楼 2019-12-13 14:04:01

Screens(1)表示第1 个画面,括号里的数字,也是集合对象中的索引,从1开始。另一种表达方式是用画面名称来引用,当然名称要用双引号括起来。

ScreenItems(1)是这个画面中的第一个对象。同样,可以用索引值引用,也可以用对象名称来引用。

Set ObjScreen = HmiRuntime.Screens(1).ScreenItems(1)这句只是定义了一个画面对象,程序后面可能要引用这个对象。比如设置或读取某个属性值等等。


无论成与败,无论甜与苦,我还是我。
以下网友喜欢您的帖子:

  
侠客

经验值: 735
发帖数: 159
精华帖: 0
回复:脚本中Screens与Screen的区别


只看楼主 楼主 4楼 2019-12-13 14:25:29
以下是引用城外之人在2019-12-13 14:04:01的发言 >3楼

Screens(1)表示第1 个画面,括号里的数字,也是集合对象中的索引,从1开始。另一种表达方式是用画面名称来引用,当然名称要用双引号括起来。

ScreenItems(1)是这个画面中的第一个对象。同样,可以用索引值引用,也可以用对象名称来引用。

Set ObjScreen = HmiRuntime.Screens(1).ScreenItems(1)这句只是定义了一个画面对象,程序后面可能要引用这个对象。比如设置或读取某个属性值等等。

如果只需要切换画面,是不是只要第一行代码就可以了

Screens(1)是不是就是表示编号为1的画面,如果要表示编号为5的是不是就是Screens(5)?


别外帮助中说的根画面与永久性窗口,还是比较混!


 
以下网友喜欢您的帖子:

  
版主

经验值: 69041
发帖数: 12260
精华帖: 59
回复:脚本中Screens与Screen的区别


只看楼主 5楼 2019-12-13 15:23:45

还有Screens(1).ScreenItems(1)这种用法啊?从来没见过呢

你那个脚本是干什么用的?


Q群:https://jq.qq.com/?k=9BDuEgf6
以下网友喜欢您的帖子:

  
侠客

经验值: 735
发帖数: 159
精华帖: 0
回复:脚本中Screens与Screen的区别


只看楼主 楼主 6楼 2019-12-13 15:40:13
以下是引用RENHQ在2019-12-13 15:23:45的发言 >5楼

还有Screens(1).ScreenItems(1)这种用法啊?从来没见过呢

你那个脚本是干什么用的?

老外写的,下面的标注是我自已标的,实现的功能就是切换画面,至于下面DIm等就不知干什么用了,好像与切换画面没有关系了




 
以下网友喜欢您的帖子:

  
版主

经验值: 69041
发帖数: 12260
精华帖: 59
回复:脚本中Screens与Screen的区别


只看楼主 7楼 2019-12-13 16:57:56

用的博图啊

手册上这样说的:

返回 Screens 列表。Screens 列表包含两种元素:第一个元素,索引为“0”,表示永久区域。另一个元素包含索引 1,表示根画面。另外,两个元素都可以通过其名称寻址。使用永久区域的“Overview”和根画面的“Base”。 

你看是实现的这个功能不



Q群:https://jq.qq.com/?k=9BDuEgf6
以下网友喜欢您的帖子:

  
侠客

经验值: 735
发帖数: 159
精华帖: 0
回复:脚本中Screens与Screen的区别


只看楼主 楼主 8楼 2019-12-13 17:50:46
以下是引用RENHQ在2019-12-13 16:57:56的发言 >7楼

用的博图啊

手册上这样说的:

返回 Screens 列表。Screens 列表包含两种元素:第一个元素,索引为“0”,表示永久区域。另一个元素包含索引 1,表示根画面。另外,两个元素都可以通过其名称寻址。使用永久区域的“Overview”和根画面的“Base”。 

你看是实现的这个功能不


根目录好理解,就是永久区域不知是什么东东,帮助中也没有介绍



 
以下网友喜欢您的帖子:

  
版主

经验值: 69041
发帖数: 12260
精华帖: 59
回复:脚本中Screens与Screen的区别


只看楼主 9楼 2019-12-13 18:21:56
以下是引用dennyshen2549在2019-12-13 15:40:13的发言 >

老外写的,下面的标注是我自已标的,实现的功能就是切换画面,至于下面DIm等就不知干什么用了,好像与切换画面没有关系了



永久区域在坐标那个项目树里面有啊,就是触摸屏最上面一直显示的东西


Q群:https://jq.qq.com/?k=9BDuEgf6
以下网友喜欢您的帖子:

  
侠客

经验值: 735
发帖数: 159
精华帖: 0
回复:脚本中Screens与Screen的区别


只看楼主 楼主 10楼 2019-12-13 20:39:25
以下是引用RENHQ在2019-12-13 18:21:56的发言 >9楼

永久区域在坐标那个项目树里面有啊,就是触摸屏最上面一直显示的东西

以下是引用dennyshen2549在2019-12-13 15:40:13的发言 >:老外写的,下面的标...

引用详细内容:

老外写的,下面的标注是我自已标的,实现的功能就是切换画面,至于下面DIm等就不知干什么用了,好像与切换画面没有关系了



有点明白了,谢谢指导


 
以下网友喜欢您的帖子:

  
版主

经验值: 69041
发帖数: 12260
精华帖: 59
回复:脚本中Screens与Screen的区别


只看楼主 12楼 2019-12-16 20:00:26
以下是引用dennyshen2549在2019-12-13 17:50:46的发言 >

根目录好理解,就是永久区域不知是什么东东,帮助中也没有介绍


不用客气,学好了别忘了指导一下我们


Q群:https://jq.qq.com/?k=9BDuEgf6
以下网友喜欢您的帖子:

  
侠客

经验值: 735
发帖数: 159
精华帖: 0
回复:脚本中Screens与Screen的区别


只看楼主 楼主 13楼 2019-12-17 08:08:20
以下是引用RENHQ在2019-12-16 20:00:26的发言 >12楼

不用客气,学好了别忘了指导一下我们

以下是引用dennyshen2549在2019-12-13 17:50:46的发言 >:根目录好理解,就是...

引用详细内容:

根目录好理解,就是永久区域不知是什么东东,帮助中也没有介绍


哈哈,没有能力在你们大师面前献丑


 
以下网友喜欢您的帖子:

  
侠客

经验值: 735
发帖数: 159
精华帖: 0
回复:脚本中Screens与Screen的区别


只看楼主 楼主 14楼 2019-12-18 12:29:45
以下是引用城外之人在2019-12-13 14:04:01的发言 >3楼

Screens(1)表示第1 个画面,括号里的数字,也是集合对象中的索引,从1开始。另一种表达方式是用画面名称来引用,当然名称要用双引号括起来。

ScreenItems(1)是这个画面中的第一个对象。同样,可以用索引值引用,也可以用对象名称来引用。

Set ObjScreen = HmiRuntime.Screens(1).ScreenItems(1)这句只是定义了一个画面对象,程序后面可能要引用这个对象。比如设置或读取某个属性值等等。

这个是从老外的项目中截图





 
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
脚本中Screens与Screen的区别
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。