找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

求教!有一个数据但是不知道怎么定义

[复制链接]

47

主题

266

帖子

2730

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
2730
跳转到指定楼层
1#
发表于 2012-11-28 18:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题所示,我想建一个这样的form,现在有一个问题是,form的显示是采用自动抓取的方式,但是我无法定义输入框的操作。
本人是菜,求指教!!
所写代码如下:
axlCmdRegister("zz1" 'CreateShape)

procedure(CreateShape()
        let((CreateShapefile Dmyform)
                CreateShapefile = axlTempFile()
                Dmyform = outfile(CreateShapefile "w")
                if(car(axlDBGetDesignUnits())=="mils" then
                        ZUnit = "mil"
                        else ZUnit ="mm"
                );if
               
                fprintf(Dmyform "#Created by xml2bnf  perl utility\n")
                fprintf(Dmyform "#Coded by Venkata Ramanan/Santa Clara, CA\n\n")
                fprintf(Dmyform "FILE_TYPE=FORM_DEFN VERSION=2\n")
                fprintf(Dmyform "FORM AUTOGREYTEXT\n")
                fprintf(Dmyform "FIXED\n")
                fprintf(Dmyform "PORT 70 34\n")
                fprintf(Dmyform "HEADER \"Form Field Type Demo\"\n\n")
                fprintf(Dmyform "POPUP <ENUM>\"ITEM1\"\"0\",\"ITEM2\"\"1\",\"ITEM3\"\"2\",\"LAST ONE\"\"3\".\n\n")
                fprintf(Dmyform "TILE\n\n")
               
                n_layer=axlGetXSection()
                nbLayer = length(n_layer)
                p = axlGetParam("paramLayerGroup:ETCH")
                l_layer = p->groupMembers
;                p = axlGetParam("paramLayerGroup:ETCH")
;                l_layer = p->groupMembers
;                print(l_layer)
;                nblayer = p->nChildren
                declare(layer[nbLayer])
                declare(xw[nbLayer])
                arrayp(layer)
                arrayp(xw)
               
/*                for(lay 0 nbLayer-1
                        layer[lay] = nth(lay l_layer)
                        name = layer[lay]
                        xw[lay] = nth(lay l_layer)
                        xWidth = xw[lay]
;                        xWidth = xWidth1[lay]
;                        print(layer[lay])
                        printf("-----%s-----\n" xWidth)
                        i = (lay+1)*2
;                        if(mod(lay+1 1)==0 then
*/
                for(lay 0 nbLayer/2-1
               
                        layer[lay] = nth(lay l_layer)
                        name = layer[lay]
                        xw[lay] = nth(lay l_layer)
                        xWidth = xw[lay]
;                        print(layer[lay])
                        printf("-----%s-----\n" xWidth)
                        i = (lay+1)*2
                       
                        ;if(mod(lay-1 2)==0 then
;                        printf("****nbLayer=%d****\n" nbLayer);test
;                        printf("****lay=%d****\n" lay);test
               
                fprintf(Dmyform "## Text Field in Form## \n")
                fprintf(Dmyform "TEXT \"%s :\" \n" name)
;                fprintf(Dmyform "TEXT name \n" ) ;right
                fprintf(Dmyform "FLOC 2 %d\n" i)
                fprintf(Dmyform "TGROUP \"Form1\"\n")
                fprintf(Dmyform "ENDTEXT\n\n")
               
                fprintf(Dmyform "TEXT Width \n" )
                fprintf(Dmyform "FLOC 14 %d\n" i)
                fprintf(Dmyform "TGROUP \"Form1\"\n")
                fprintf(Dmyform "ENDTEXT\n\n")
                       
                fprintf(Dmyform "FIELD %s \n" xWidth)
                fprintf(Dmyform "FLOC 20 %d\n" i)
                fprintf(Dmyform "FSIZE 5 4\n")
                fprintf(Dmyform "STRFILLIN 5 5\n")
                fprintf(Dmyform "ENDFIELD \n\n\n")
               
                fprintf(Dmyform "## Text Field in Form## \n")
                fprintf(Dmyform "TEXT \"%s\"\n" ZUnit)
                fprintf(Dmyform "FLOC 32 %d\n"  i)
                fprintf(Dmyform "TGROUP \"Form1\"\n")
                fprintf(Dmyform "ENDTEXT\n\n")
                ;);if
                );for
               
                fprintf(Dmyform "## Button Field in FORM ## \n")
                fprintf(Dmyform "FIELD OK\n")
                fprintf(Dmyform "FLOC 9 27\n")
                fprintf(Dmyform "MENUBUTTON \"OK\" 14 3\n")
                fprintf(Dmyform "FGROUP \"Form1\"\n")
                fprintf(Dmyform "ENDFIELD \n\n")
               
                fprintf(Dmyform "## Button Field in FORM ## \n")
                fprintf(Dmyform "FIELD Exit\n")
                fprintf(Dmyform "FLOC 33 27\n")
                fprintf(Dmyform "MENUBUTTON \"Exit\" 14 3\n")
                fprintf(Dmyform "FGROUP \"Form1\"\n")
                fprintf(Dmyform "ENDFIELD \n\n")
               
                fprintf(Dmyform "ENDTILE\n\n")
                fprintf(Dmyform "ENDFORM\n\n")
                close(Dmyform)
               
            myform = axlFormCreate(gensym() CreateShapefile '("NE" "msglines" 0) 'CreateShapefileAction t nil)
            axlFormDisplay(myform)
            axlFormSetField(myform "sub_menuclass" 1)
                when(isFile(CreateShapefile)
                        deleteFile(CreateShapefile)
                )
        )
                        for(lay 0 nbLayer/2-1
                        xw[lay] = nth(lay l_layer)
                        xWidth = xw[lay]
                        if( boundp('xxs)==nil then
                        xxs = "30"
                        )
                        axlFormSetField(myform xWidth xxs)
                        printf("*****%s*****\n" xWidth )
                        )
       
;                for(lay 0 nbLayer-1
;                        layer[lay] = nth(lay l_layer)
;                        name = layer[lay]
;                        xWidth = xWidth1[lay]
/*                        if( boundp('xxs)==nil then
                        xxs = "30"
                        yys = "30"
                        rrs = "20"
                        )
    axlFormSetField(myform "xWidth" xxs)
    axlFormSetField(myform "yLength" yys)
        axlFormSetField(myform "rCurved" rrs)
*/
;                )
)


procedure(n()
        let(n( ) ;xWidthNumber yLengthNumber rCurvedNumber
                case(myform->curField
                                               
; 现在主要是这里的设定不知道应该怎么做,比如说和之前一样自动定义每一个输入框                       
/*
                        ("GND1"
                                ;for(i 0 nbLayer/2-1
                                ;printf("+++++++++%s++++++++++++++" xxs)
                                xxs=myform->curValue
                                printf("+++++++++%s++++++++++++++" xxs)
                       

                        ;Input Field
                        ;Enter Action Here
               
                        )
*/                       

                        ("OK"

                       
                       
                        ;Button Field
                        ;Enter Action Here
               
                        )
                        ("Exit"
                                axlFormClose(myform)
                        ;Button Field
                        ;Enter Action Here
               
                        )
                )
        )
)

procedure(DiplayExit()
        axlFormClose(Dmyform)
        )


       


本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!
争风吃醋是女人最大的弱点  争强好胜是所有男人的死穴
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

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

GMT+8, 2024-11-26 16:33 , Processed in 0.057224 second(s), 35 queries , Gzip On.

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

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

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