技术论坛

精智触摸屏代码模板使用介绍帮助里为什么找不到?想实现这个功能用哪个代码?

作者 主题
侠圣

经验值: 4391
发帖数: 1565
精华帖: 1
主题:【求助】精智触摸屏代码模板使用介绍帮助里为什么找不到?想实现这个功能用哪个代码?


只看楼主 楼主 2022-10-31 09:23:47



哪有这个  资料介绍  如何是的啊?


我现在 有一个数组   里面的数值传递   我想用脚本实现  不会用...




这是个倒序的传递   就好比有一个最新的数据来了  把它存在1  原来的数据都往下移动1个位置存放   比如   9的数据存在10里面  再把8的数据传递给9  再把7的数据传递给8 再把 6的数据传递给7  

  

现在用的这个办法  虽然也能实现 但是看起来   很笨的样子....

用代码 要如何实现    

SmartTags("xx")(10)=SmartTags("xx")(9)

SmartTags("xx")(9)=SmartTags("xx")(8)

SmartTags("xx")(8)=SmartTags("xx")(7)

SmartTags("xx")(7)=SmartTags("xx")(6)

SmartTags("xx")(6)=SmartTags("xx")(5)

SmartTags("xx")(5)=SmartTags("xx")(4)

SmartTags("xx")(4)=SmartTags("xx")(3)

SmartTags("xx")(3)=SmartTags("xx")(2)

SmartTags("xx")(2)=SmartTags("xx")(1)


这不是 PLC的程序      是触摸屏vb脚本如何实现?


已经到了儿时羡慕的年纪,却没能成为儿时羡慕的人!
以下网友喜欢您的帖子:

  
重要声明:

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

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

侠客

经验值: 639
发帖数: 32
精华帖: 0
回复:精智触摸屏代码模板使用介绍帮助里为什么找不到?想实现这个功能用哪个代码?


只看楼主 1楼 2022-10-31 09:32:51

利用for循环试试


 
以下网友喜欢您的帖子:

  
侠圣

经验值: 3816
发帖数: 730
精华帖: 3
回复:精智触摸屏代码模板使用介绍帮助里为什么找不到?想实现这个功能用哪个代码?


只看楼主 2楼 2022-10-31 09:45:26

用for循环啊,你这个都是有规律的。

FOR I=9 TO 1 step -1

    SmartTags("xx")(I+1)=SmartTags("xx")(I)

NEXT


 
以下网友喜欢您的帖子:

  
侠圣

经验值: 4391
发帖数: 1565
精华帖: 1
回复:精智触摸屏代码模板使用介绍帮助里为什么找不到?想实现这个功能用哪个代码?


只看楼主 楼主 3楼 2022-10-31 11:05:35

谢谢  是的  用for  循环解决了


FORi=1 TO 9 

    SmartTags("xx")(11-i)=SmartTags("xx")(10-i)

NEXT



已经到了儿时羡慕的年纪,却没能成为儿时羡慕的人!
以下网友喜欢您的帖子:

  
侠圣

经验值: 4391
发帖数: 1565
精华帖: 1
回复:精智触摸屏代码模板使用介绍帮助里为什么找不到?想实现这个功能用哪个代码?


只看楼主 楼主 4楼 2022-10-31 11:21:54



未优化  600行   优化后6行



已经到了儿时羡慕的年纪,却没能成为儿时羡慕的人!
以下网友喜欢您的帖子:

  
侠圣

经验值: 3816
发帖数: 730
精华帖: 3
回复:精智触摸屏代码模板使用介绍帮助里为什么找不到?想实现这个功能用哪个代码?


只看楼主 5楼 2022-10-31 11:58:34

如果每次都要读取所有数据就用这种方法,如果每次只读写一个数据建议使用指针的方式,可以节省系统资源。

写入:

'I是指针

SmartTags("xx")(SmartTags("I"))=SmartTags("A")

SmartTags("I")=SmartTags("I")+1

IF SmartTags("I")>MAX THEN 

 SmartTags("I")=0

END IF

读取的时候就可以I位就是第一位,其他的按顺序往后排。

‘T是要读取的位号,MAX是数组数据量

dim J

IF SmartTags("I")-SmartTags("T")>=0 THEN 

J=SmartTags("I")-SmartTags("T")

ELSE

J=MAX-SmartTags("I")-SmartTags("T")

END IF;

’SmartTags("xx")(J)就是需要读取的位

如果数据量不大看不出差距,,数据量越大这种方式的优势更明显。





 
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
精智触摸屏代码模板使用介绍帮助里为什么找不到?想实现这个功能用哪个代码?
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。