在我们用AD画板子的时候。不可避免的遇到一些标号或者说是丝印字符需要批量处理,例如标号前面统一加上某个字符串,亦或者需要往标号后面加一些递增的字符等等。
这个时候,可以利用AD的查找相似对象功能来进行筛选选中需要处理的字符,如下图
然后点击到对应要修改的属性选项,出现三个点的按钮,点击他,弹出公式编辑对话框,如下图
然后输入公式点击确定就ok。
函数公式为Pascal语言,可以到这个网站上去查找对应函数说明 https://www.templetons.com/brad/alice/language/language8.html
下面以一个例子说明下用法
复制粘贴后标号处理(好像也可以用特殊粘贴功能),如下图,粘贴后会有LED1_1等自动带的尾缀。
然后需要处理,前面已经是1-16了。后面要求从17开始一直编号编下去。
查找规律。第一列一直都是LED1_n,第二列是LED2_n.依次类推
那么规律就是LEDc_r.
我们可以从标号中提取出c和r。然后通过公式c*16+r就是目标标号
直接上公式(Copy(Copy(!,0,Pos(_,!)-1),4,2) + (Copy(!,Pos(_,!)+1,2)+0)*16)
如下图
公式中感叹号代表原来的标号,Copy函数Copy(str, pos, num)代表返回长度为num的字符串变量str的子字符串,从位置pos开始。如果pos大于字符串的长度,则返回空字符串(即长度为零的字符串)
经过处理后标号就变成纯数字的,如图
然后我们再用公式加上LED(为什么不直接在上面公式加上LED?因为好像数值转字符串我还没有尝试成功,str函数是通过参数返回的,在AD里面还不会用呢)
最后结果是这样
Over
最近编辑记录 微凉VeiLiang (2020-11-08 21:01:36)
离线
数值转字符串还没有尝试成功,str函数是通过参数返回的,有没有知道AD里面怎么用的方便告知下么
字符串转数值,我采用的办法是,字符串直接让它+0。就强制转换了。一样的,Val函数是通过参数返回的,不会在AD里面用
离线