EDA365电子工程师网
标题:
FORM自动创建工具
[打印本页]
作者:
kevin890505
时间:
2014-8-15 15:13
标题:
FORM自动创建工具
本帖最后由 kevin890505 于 2014-8-18 21:54 编辑
一般skill大家都把form整合在il里面,但是自己写FORM的时候由于位置,尺寸等原因往往要测试无数次才能达到想要的效果,这个过程不知道大家感觉如何,反正我觉得好像盲人摸象一样,头大的很,今天偶然看到别的论坛有人发的这个工具,NBXX,很直观
而且转换完成后直接生产il文件,里面包含主函数以及form函数和form-action函数,很方便,人性化,对于创建一些复杂form应该有帮助
使用方法也比较简单:
1,先用koda软件手动绘制好你要的FORM,然后保存为KXF文件
2,再用xml2bnf把刚才的KXF转化为il文件
3,自己修改下里面的函数或者参数名,OK,接下来就自由发挥了
帅气的很
附上地址:
KODA:
http://koda.darkhost.ru/page.php?id=download
XML2BNF:
https://github.com/xml2bnf/xml2bnf
由于第二个网址貌似还不是有点卡,5M的东西下了我10分钟,还是把附件传上来好点,顺便一起传了吧
顺便加个例子瞧瞧,这个是用里面的模板界面转换成的form
(defun my_form ()
time = getCurrentTime()
time = parseString(time)
day = nth(1 time)
month = car(time)
month = upperCase(month)
year = nth(3 time)
date = strcat(" Date: " day " " month " " year)
CreateForm()
myform=axlFormCreate( (gensym) form_file nil 'Form_Action t)
axlFormDisplay(myform)
axlUIWPrint(myform date)
)
(defun CreateForm ()
drain()
form_file = "TAB_form.form"
myform = outfile(form_file "w")
fprintf(myform "#Created by xml2bnf perl utility\n")
fprintf(myform "#Coded by Venkata Ramanan/Santa Clara, CA\n\n")
fprintf(myform "FILE_TYPE=FORM_DEFN VERSION=2\n")
fprintf(myform "FORM AUTOGREYTEXT\n")
fprintf(myform "FIXED\n")
fprintf(myform "PORT 62 33\n")
fprintf(myform "HEADER \"Form Field Type Demo\"\n\n")
fprintf(myform "POPUP <ENUM>\"ITEM1\"\"0\",\"ITEM2\"\"1\",\"ITEM3\"\"2\",\"LAST ONE\"\"3\".\n\n")
fprintf(myform "TILE\n\n")
fprintf(myform "## TAB Definition Start## \n")
fprintf(myform "TABSET \"tab\"\n")
fprintf(myform "OPTIONS tabsetDispatch\n")
fprintf(myform "FLOC 1 1\n")
fprintf(myform "FSIZE 57 24\n\n")
fprintf(myform "TAB \"TabSheet1\"\n\n")
fprintf(myform "## Text Field in TAB## \n")
fprintf(myform "TEXT \"Label1\"\n")
fprintf(myform "FLOC 7 3\n")
fprintf(myform "TGROUP \"TabSheet1\"\n")
fprintf(myform "ENDTEXT\n\n")
fprintf(myform "## Text Field in TAB## \n")
fprintf(myform "TEXT \"Label1\"\n")
fprintf(myform "FLOC 7 10\n")
fprintf(myform "TGROUP \"TabSheet1\"\n")
fprintf(myform "ENDTEXT\n\n")
fprintf(myform "ENDTAB\n\n")
fprintf(myform "TAB \"TabSheet2\"\n\n")
fprintf(myform "## List Field in TAB## \n")
fprintf(myform "FIELD List1\n")
fprintf(myform "FLOC 7 6\n")
fprintf(myform "LIST \" \" 14 6\n")
fprintf(myform "FGROUP \"TabSheet2\"\n")
fprintf(myform "ENDFIELD \n\n")
fprintf(myform "## List Field in TAB## \n")
fprintf(myform "FIELD List2\n")
fprintf(myform "FLOC 30 6\n")
fprintf(myform "LIST \" \" 15 6\n")
fprintf(myform "FGROUP \"TabSheet2\"\n")
fprintf(myform "ENDFIELD \n\n")
fprintf(myform "## Text Field in TAB## \n")
fprintf(myform "TEXT \"Label3\"\n")
fprintf(myform "FLOC 7 4\n")
fprintf(myform "TGROUP \"TabSheet2\"\n")
fprintf(myform "ENDTEXT\n\n")
fprintf(myform "## Text Field in TAB## \n")
fprintf(myform "TEXT \"Label4\"\n")
fprintf(myform "FLOC 31 4\n")
fprintf(myform "TGROUP \"TabSheet2\"\n")
fprintf(myform "ENDTEXT\n\n")
fprintf(myform "ENDTAB\n\n")
fprintf(myform "TAB \"TabSheet3\"\n\n")
fprintf(myform "ENDTAB\n\n")
fprintf(myform "ENDTABSET\n\n")
fprintf(myform "ENDTILE\n\n")
fprintf(myform "ENDFORM\n\n")
close(myform)
)
(defun Form_Action (myform)
(let (t1 item index field cnt)(printf "field/value %L = %L (int %L\n)"
myform->curField myform->curValue, myform->curValueInt )
(printf "doneState %L\n" myform->doneState )
case(myform->curField
("List1"
;List Field
;Enter Action Here
)
("List2"
;List Field
;Enter Action Here
)
)
)
if((nequal myform->doneState 0)
axlFormClose(myform))
)
复制代码
作者:
GSO_library
时间:
2014-8-18 11:00
这写软件是免费的吗?公司可不可以用
作者:
GSO_library
时间:
2014-8-18 11:02
软件需不需要license
作者:
recallme
时间:
2014-8-19 10:06
学习了
作者:
pallayout
时间:
2014-8-28 19:30
好像不能实现用bmp
作者:
kkman2000
时间:
2015-8-21 14:28
支持支持支持 非常感謝
作者:
liuanty
时间:
2016-6-4 08:00
下载试试感谢楼主分享!
作者:
hy20060614
时间:
2016-6-14 11:16
谢谢分享
作者:
weiprop
时间:
2017-1-26 07:36
謝謝分享
作者:
lovesweet33
时间:
2017-1-26 18:47
感谢楼主分享~
作者:
lovesweet33
时间:
2017-1-27 08:24
感谢楼主分享~
作者:
mentorkk
时间:
2017-1-27 09:51
感谢楼主分享~
作者:
lovesweet33
时间:
2017-1-28 19:34
感谢楼主分享
作者:
王开鑫55
时间:
2017-8-2 14:17
本帖最后由 王开鑫55 于 2017-8-2 14:23 编辑
可以,不错,不能放在中文目录下,我放在桌面上的,不能转换
作者:
billgong168
时间:
2017-10-13 12:14
楼主真是好人啊,感谢分享。
作者:
maikeo
时间:
2018-1-23 22:34
标记一下,非常感谢
作者:
digitzing
时间:
2018-2-6 15:31
好东西,顶起了!
作者:
gonumc
时间:
2018-2-24 16:40
谢谢楼主分享
作者:
lorby
时间:
2018-7-14 20:31
很好的工具
欢迎光临 EDA365电子工程师网 (http://bbs.elecnest.cn/)
Powered by Discuz! X3.2