找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 209|回复: 4
打印 上一主题 下一主题

求助,下面程序单独调试是成功的,为什么放到FORM里就不成功了呢?

[复制链接]

14

主题

143

帖子

-1万

积分

未知游客(0)

积分
-11958
跳转到指定楼层
1#
发表于 2015-10-22 09:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您!

您需要 登录 才可以下载或查看,没有帐号?注册

x
求助,下面程序单独调试是成功的,为什么放到FORM里就不成功了呢?
pinnum和setting这两个变量,调试时是直接设置的。_SPGInitVar()放到FORM时是放前面了,没有放到下面那段程序里。
case(formPort->curField
      
       ("L2R"
       sequence="L2R"
       )
       ("R2L"
       sequence="R2L"
       )
       ("U2D"
       sequence="U2D"
       )
       ("D2U"
       sequence="D2U"
       )
       ("re_name"
       _SPGInitVar()
       pinnum=axlFormGetField(formPort "PN")
          setting=axlFormGetField(formPort "set")
          if(sequence=="L2R"
       then
       selection()
       )
       )
这个是FORM里的设置
下面这段程序单独调试是成功的:
procedure(selection()
_SPGInitVar()
(axlClearSelSet)
(axlVisibleDesign nil)
    (axlVisibleLayer "package geometry/pin_number" t)
    (axlSetFindFilter ?enabled
list("noall" "text") ?onButtons
list("noall" "text")
    )
getpnub = axlGetSelSet(axlSelect())
foreach(pin getpnub
        padNub=(pin->text)        
        padpoint=(pin->xy)
        numbs=cons(padNub numbs)
        points=cons(padpoint points)                       
       )
(axlClearSelSet)
axlFinishEnterFun()
printf("%L\n" numbs)
printf("%L\n" points)
pinnum="A4"
setting=2
L=length(numbs)
rexCompile("^[a-zA-Z]+")
unless(rexExecute(pinnum)
    d=atoi(pinnum)
    )
if(rexExecute(pinnum)
then
rexCompile("[0-9]+")
    rexExecute(pinnum)
    str1=rexSubstitute("\\0")
d=atoi(str1)
)
num=d
rexCompile("^[a-zA-Z]+")
for(i 1 L
if(rexExecute(pinnum)
then
str=rexSubstitute("\\0")
c=parseString(str1 "")
a=car(c)
if(a=="0"
then
sum=cons(concat(str 0 num) sum)
else
    sum=cons(concat(str num) sum)
    )
    num=num+setting
    else
    sum=cons(num sum)
    num=num+setting
)
)      
mytext = make_axlTextOrientation(?textBlock "18", ?rotation 0., ?mirrored nil, ?justify "center")
axlDeleteObject(getpnub)
rexCompile("^[a-zA-Z]+")
for(i 0 L-1
numb1=nth(i sum)
points1=nth(i points)
if(rexExecute(pinnum)
then
axlDBCreateText(sprintf(nil "%s" numb1), points1, mytext, "package geometry/pin_number", nil)
else
axlDBCreateText(sprintf(nil "%n" numb1), points1, mytext, "package geometry/pin_number", nil)           
)

)
axlShell("done")
)
procedure( _SPGInitVar()
    prog( nil
numbs=nil
points=nil
    pinnum=nil
    setting=0
    sum=nil
    num=d
str=nil
str1=nil
numb1=nil
points1=nil
    )
)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!

117

主题

2352

帖子

1万

积分

EDA365特邀版主

Rank: 6Rank: 6

积分
13799

最佳敬业奖

2#
发表于 2015-10-22 14:47 | 只看该作者
pinnum="A4"
setting=2
这两个变量需要指定固定值吗?

点评

不是固定值,pinnum值是可以自己输入的,可以为A1,A2这样的,也可以为纯数字。 setting是纯数字,也不是固定值,可以为1-9任意一个数  详情 回复 发表于 2015-10-22 16:18
谁画出这天地 又画下我和你

14

主题

143

帖子

-1万

积分

未知游客(0)

积分
-11958
3#
 楼主| 发表于 2015-10-22 16:18 | 只看该作者
deargds 发表于 2015-10-22 14:47
pinnum="A4"
setting=2
这两个变量需要指定固定值吗?

不是固定值,pinnum值是可以自己输入的,可以为A1,A2这样的,也可以为纯数字。 setting是纯数字,也不是固定值,可以为1-9任意一个数

点评

可以把完整程序放出方便调试  详情 回复 发表于 2015-10-22 16:43

117

主题

2352

帖子

1万

积分

EDA365特邀版主

Rank: 6Rank: 6

积分
13799

最佳敬业奖

4#
发表于 2015-10-22 16:43 | 只看该作者
wuyuhe 发表于 2015-10-22 16:18
不是固定值,pinnum值是可以自己输入的,可以为A1,A2这样的,也可以为纯数字。 setting是纯数字,也不是 ...

可以把完整程序放出方便调试

点评

我上传了附件,该SKILL是想要可以批量的改PIN NUMBER,有大大写过这样的我也下载了,但是由于加密了看不了,再加上他那个是没有写包括从A01这样的PIN NUMBER的,但我们工作中常用到,所以想尝试着自己写一个~  详情 回复 发表于 2015-10-23 07:45
谁画出这天地 又画下我和你

14

主题

143

帖子

-1万

积分

未知游客(0)

积分
-11958
5#
 楼主| 发表于 2015-10-23 07:45 | 只看该作者
deargds 发表于 2015-10-22 16:43
可以把完整程序放出方便调试

我上传了附件,该SKILL是想要可以批量的改PIN NUMBER,有大大写过这样的我也下载了,但是由于加密了看不了,再加上他那个是没有写包括从A01这样的PIN NUMBER的,但我们工作中常用到,所以想尝试着自己写一个~

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2024-11-26 17:35 , Processed in 0.066320 second(s), 40 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表