EDA365电子论坛网

标题: 怎样把form写成显示到option那一栏中啊。。。。有没有简单的例子啊 [打印本页]

作者: huangqi45    时间: 2011-6-15 17:45
标题: 怎样把form写成显示到option那一栏中啊。。。。有没有简单的例子啊
怎样把form写成显示到option那一栏中啊。。。。有没有简单的例子啊
很想知道是怎么做的。
貌似要用到axlMiniStatusLoad这个函数,可是怎么也显示不了啊。
我把我的简单的显示的例子写一下
defun( test ()
h_form=strcat(getShellEnvVar("HOME")  "/pcbenv/test.form")
                form = axlMiniStatusLoad( (gensym) h_form  '_h_callback t)
       
        ;form=axlFormCreate( (gensym) h_form '("C" "OUTER") '_h_callback t)
         axlFormDisplay( form)
)
(defun _h_callback (form)
println("1")

)
axlCmdRegister( "test" 'test)


test.form这个form已经写好了,如果用屏蔽的这个axlFormCreate 就能正确显示
但是axlMiniStatusLoad这个就不能显示出来,怎么弄啊,是不是这个函数有什么特别的地方需要写一下的嘛

作者: gray    时间: 2011-6-15 17:56
手动加载运行一次看看是否可以,另外可以加个axlControlRaise('options)切换到Option显示
作者: XYX365    时间: 2011-6-15 19:42
defun( test ()
h_form=strcat(getShellEnvVar("HOME")  "/pcbenv/test.form")
axlControlRaise(`options)            
  form = axlMiniStatusLoad( (gensym) h_form  '_h_callback t)
        
        ;form=axlFormCreate( (gensym) h_form '("C" "OUTER") '_h_callback t)
         axlFormDisplay( form)
)
(defun _h_callback (form)
println("1")

)
axlCmdRegister( "test" 'test)

作者: szc1983    时间: 2011-6-16 00:20
关注一下
C:\Cadence\SPB_16.2\share\pcb\text\forms
下有很多form文件不知道那些有没有lz需要的
C:\Cadence\SPB_16.2\share\pcb\text\forms\mini.form

作者: huangqi45    时间: 2011-6-17 17:04
回复 XYX365 的帖子

用了您的方法,改了一下,可是还是没有显示啊,是不是对form的格式大小啊什么的有要求啊?
您试试看,看看能不能成功?

作者: huangqi45    时间: 2011-6-17 17:05
回复 szc1983 的帖子

form应该没问题 你说的文件夹的form我基本都试过,只是非常想把form显示在option栏上。。就是怎么弄都不行呢。。。
作者: huangqi45    时间: 2011-6-17 17:05
回复 gray 的帖子

按照楼下的写的,还是不行啊,手动也不行啊。。。
作者: deargds    时间: 2011-6-17 17:28
本帖最后由 deargds 于 2011-6-17 17:29 编辑

;试下:
defun( test ()
        f = axlTempFile()
        p = outfile(f "w")
        fprintf(p "FILE_TYPE=FORM_DEFN VERSION=2\n")
        fprintf(p "FORM\n")
        fprintf(p "FIXED\n")
        fprintf(p "PORT 90 10\n")
        fprintf(p "HEADER \"Deargds\"\n")
        fprintf(p "TILE\n")
        fprintf(p "TEXT \"Test:\"\n")
        fprintf(p "TLOC 2 1\n")
        fprintf(p "OPTIONS BOLD\n")
        fprintf(p "ENDTEXT\n")
        fprintf(p "FIELD user_code\n")
        fprintf(p "FLOC 8 1\n")
        fprintf(p "STRFILLIN 10 20\n")
        fprintf(p "ENDFIELD\n")
        fprintf(p "FIELD close\n")
        fprintf(p "FLOC 2 4\n")
        fprintf(p "MENUBUTTON \"Exit\" 10 3\n")
        fprintf(p "ENDFIELD\n")
        fprintf(p "ENDTILE\n")
        fprintf(p "ENDFORM\n")
        close( p)
        axlControlRaise('options)
        axlMiniStatusLoad('s f nil t)
        axlFormDisplay(s)
)
作者: huangqi45    时间: 2011-6-18 16:14
回复 deargds 的帖子

多谢老大,不过还有一个地方需要修改,就是需要增加一个循环才能显示出来。
defun( test ()
        f = axlTempFile()
        p = outfile(f "w")
        fprintf(p "FILE_TYPE=FORM_DEFN VERSION=2\n")
        fprintf(p "FORM\n")
        fprintf(p "FIXED\n")
        fprintf(p "PORT 90 10\n")
        fprintf(p "HEADER \"Deargds\"\n")
        fprintf(p "TILE\n")
        fprintf(p "TEXT \"Test:\"\n")
        fprintf(p "TLOC 2 1\n")
        fprintf(p "OPTIONS BOLD\n")
        fprintf(p "ENDTEXT\n")
        fprintf(p "FIELD user_code\n")
        fprintf(p "FLOC 8 1\n")
        fprintf(p "STRFILLIN 10 20\n")
        fprintf(p "ENDFIELD\n")
        fprintf(p "FIELD close\n")
        fprintf(p "FLOC 2 4\n")
        fprintf(p "MENUBUTTON \"Exit\" 10 3\n")
        fprintf(p "ENDFIELD\n")
        fprintf(p "ENDTILE\n")
        fprintf(p "ENDFORM\n")
        close( p)
        axlControlRaise('options)
  
         axlMiniStatusLoad('s f nil t)
        
        (while axlSelect()
  axlFormDisplay(form)
  )
)
就是加了这个while才能显示出来,多谢论坛里面的各位老大了。。。
总算是解决了一个问题了。。。

作者: gdm0121    时间: 2011-6-19 18:14
请教一下各位你们说的C:\Cadence\SPB_15.7\share\pcb\text\forms目录里的那些form文件是做什么用的?

作者: jiankangshiye    时间: 2011-6-21 13:43
C:\Cadence\SPB_15.7\share\pcb\text\forms目录里的那些form文件,全是用来创建form窗体的文件,你可以随便弄个,配合函 axlFormCreate、axlFormDisplay看看效果。这些form文件就是Cadence Allegro的UI数据。
作者: huangqi45    时间: 2011-6-22 20:38
回复 gdm0121 的帖子

我举个例子
defun( ftest ()
form="C:/Cadence/SPB_15.5/share/pcb/text/forms/auto_bbvia.form"
form=axlFormCreate( (gensym) form '("C" "OUTER") nil t)
axlFormDisplay( form)
)
axlCmdRegister( "ftest" 'ftest)
随便保存什么*.il 红字你可以改这个文件夹里面的任意form就知道每个form是什么东西了。

作者: gdm0121    时间: 2011-6-22 22:15
本帖最后由 gdm0121 于 2011-6-22 22:17 编辑

回复 huangqi45 的帖子

这些东西一点都不了解,只是有点好奇。虽然不是太明白,还是要谢谢你热心的回复
作者: dw4736    时间: 2012-7-18 23:38
from 窗体加载到option中。。。。。。




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2