为什么获取不了EDA365 Skill 手机注册码获取器

只需一步,快速开始
后使用快捷导航没有帐号?
查看: 4987|回复: 129
SKILL合集以及ALLEGRO颜色设置代码
主题帖子积分
五级会员(50), 积分 4241, 距离下一级还需 2759 积分
五级会员(50), 积分 4241, 距离下一级还需 2759 积分
在365混的,不能只下载不上传。在这学到了很多很多的东西就不说了,这次特意把先后收集到的一些SKILL打包传上来。
我是弄PCB的,写不来,所有SKILL都是在这里收集的,花了N多金币。这里保留的都是能用的,其中一些功能比较好的,就直接做在菜单栏上了。具体效果如下图。
然后还有一个PDF文档,特此说明下,因为SKILL里面有颜色设置的,但是个人颜色喜好不同,但很多人不晓得颜色代码,所以我就把192种颜色的数字代码以图片形式保存下来了,让大家参考修改。
废话少说,知道金币来之不易,所有内容一个压缩包解决,欢迎大家下载。
本帖子中包含更多资源
才可以下载或查看,没有帐号?
感谢分享~&
主题帖子积分
五级会员(50), 积分 4241, 距离下一级还需 2759 积分
五级会员(50), 积分 4241, 距离下一级还需 2759 积分
目前,此贴有更高版,请诸位移步:
主题帖子积分
五级会员(50), 积分 3260, 距离下一级还需 3740 积分
五级会员(50), 积分 3260, 距离下一级还需 3740 积分
绝对沙发啊~感谢lz分享!
主题帖子积分
三级会员(30), 积分 847, 距离下一级还需 153 积分
三级会员(30), 积分 847, 距离下一级还需 153 积分
主题帖子积分
三级会员(30), 积分 284, 距离下一级还需 716 积分
三级会员(30), 积分 284, 距离下一级还需 716 积分
主题帖子积分
五级会员(50), 积分 3519, 距离下一级还需 3481 积分
五级会员(50), 积分 3519, 距离下一级还需 3481 积分
收了~!感谢分享~!
主题帖子积分
四级会员(40), 积分 1453, 距离下一级还需 1547 积分
四级会员(40), 积分 1453, 距离下一级还需 1547 积分
感谢分享~!
主题帖子积分
三级会员(30), 积分 284, 距离下一级还需 716 积分
三级会员(30), 积分 284, 距离下一级还需 716 积分
主题帖子积分
四级会员(40), 积分 1119, 距离下一级还需 1881 积分
四级会员(40), 积分 1119, 距离下一级还需 1881 积分
主题帖子积分
四级会员(40), 积分 1170, 距离下一级还需 1830 积分
四级会员(40), 积分 1170, 距离下一级还需 1830 积分
牛人,谢谢分享!
主题帖子积分
四级会员(40), 积分 1440, 距离下一级还需 1560 积分
四级会员(40), 积分 1440, 距离下一级还需 1560 积分
感谢分享!
主题帖子积分
二级会员(20), 积分 24, 距离下一级还需 176 积分
二级会员(20), 积分 24, 距离下一级还需 176 积分
感谢分享!
主题帖子积分
三级会员(30), 积分 444, 距离下一级还需 556 积分
三级会员(30), 积分 444, 距离下一级还需 556 积分
感谢分享,分没了,正好下一个。
主题帖子积分
三级会员(30), 积分 287, 距离下一级还需 713 积分
三级会员(30), 积分 287, 距离下一级还需 713 积分
谢谢楼主分享
主题帖子积分
二级会员(20), 积分 158, 距离下一级还需 42 积分
二级会员(20), 积分 158, 距离下一级还需 42 积分
没权限怎么弄啊
主题帖子积分
四级会员(40), 积分 2133, 距离下一级还需 867 积分
四级会员(40), 积分 2133, 距离下一级还需 867 积分
感谢分享,分没了,正好下一个。
推荐内容 /1
请大家去各城市版块查看....
Powered by只需一步,快速开始
后使用快捷导航没有帐号?
查看: 1785|回复: 13
谁能写个比较器的SKILL。
主题帖子积分
五级会员(50), 积分 3202, 距离下一级还需 3798 积分
五级会员(50), 积分 3202, 距离下一级还需 3798 积分
EDA365欢迎您!
才可以下载或查看,没有帐号?
比如:比较上版BRD与下版BRD的NET变化,零件变化。测试点变化,等等。
主题帖子积分
四级会员(40), 积分 2929, 距离下一级还需 71 积分
四级会员(40), 积分 2929, 距离下一级还需 71 积分
主题帖子积分
三级会员(30), 积分 466, 距离下一级还需 534 积分
三级会员(30), 积分 466, 距离下一级还需 534 积分
顶顶顶顶顶
主题帖子积分
四级会员(40), 积分 2666, 距离下一级还需 334 积分
四级会员(40), 积分 2666, 距离下一级还需 334 积分
本帖最后由 ginooolu 于
11:41 编辑
夹错文件,请至六楼下载
初學skill,請大家多多指教。
本帖子中包含更多资源
才可以下载或查看,没有帐号?
主题帖子积分
四级会员(40), 积分 2813, 距离下一级还需 187 积分
四级会员(40), 积分 2813, 距离下一级还需 187 积分
楼上的字看不懂噢,我从小没文化,哎。。。
主题帖子积分
四级会员(40), 积分 2666, 距离下一级还需 334 积分
四级会员(40), 积分 2666, 距离下一级还需 334 积分
跟五楼道歉一下,因为用繁体输入的关系…。上面的文字是:前阵子在下写的比较程序,如果有兴趣可以试用看看,也请帮忙提供意见及抓错。
比对项目不多,仅包含组件,连接点,及拉线。ETCH shape也想检查,可是不知道怎么写。
但程序写得不好,比对过程颇费时,实际测试一片主板约花3~10分钟。
不知大家平常还用甚么方法做比较呢?
附檔:DccrptCN.zip;包含说明,主程序及窗体文件。 解压密码:dccrpt
初学skill,请大家多多指教。
本帖子中包含更多资源
才可以下载或查看,没有帐号?
主题帖子积分
二级会员(20), 积分 171, 距离下一级还需 29 积分
二级会员(20), 积分 171, 距离下一级还需 29 积分
主题帖子积分
五级会员(50), 积分 3202, 距离下一级还需 3798 积分
五级会员(50), 积分 3202, 距离下一级还需 3798 积分
(defun Compare_List_Builder ()
& &;############################
& &;### Define the variables ###
& &;############################
& &Design=axlDBGetDesign() ; This represents the current design
& &Function_List= This list stores all the function designators
& &Function_Name= This holds the working function designator
& &Device_Name= This holds the working Device Name
& &;Value= This will hold the working Value (not currently available)
& &;Tolerance= This will hold the working Tolerance (not currently available)
& &Ref_Des= This holds the working Reference Designator
& &Pin_Number= This holds the working Pin Number
& &Pin_Use= This holds the working Pin Use code
& &Net_Name= This holds the working Net Name
& &Pin_Use_Prop_Set= This is used to override the function-&pinuse definition
& &Compare_List_File= This holds the name of the output file
& &;### Open the output file and read in the data fields ###
& &Compare_List_File=outfile(&./Compare_List_File& &w&)
& &;### Get each component contained&&in the design ###
& &(foreach Component Design-&components
& && &Function_List=cons(Component-&functions Function_List)
& &); end foreach Component Design-&components
& &;### Get each Function defined for each component in the design ###
& &(foreach Function Function_List
& && &Function_Name=car(Function)-&name
& && &Device_Name=car(Function)-&type
& && &Ref_Des=car(Function)-&parent-&name
& && &;### Get each pin for each function for each component in the design ###
& && &(foreach Pin car(Function)-&pins
& && && &Pin_Number=Pin-&pin-&number
& && && &Pin_Use=Pin-&use
& && && &Net_Name=Pin-&pin-&net-&name
& && && &;### Check if the pinuse property is set, it overrides the function-&pinuse ###
& && && &(foreach Prop Pin-&pin-&prop-&??
& && && && &(if Pin_Use_Prop_Set == &yes& then
& && && && && &Pin_Use=Prop
& && && && &); end if Pin_Use_Prop_Set == &yes&
& && && && &(if Prop=&PINUSE& then
& && && && && &Pin_Use_Prop_Set=&yes&
& && && && &); end if Prop=&PINUSE&
& && && &); end foreach Prop Pin-&pin-&prop-&??
& && && &;### This if substitutes Not_Connected for blank net names ###
& && && &(if Net_Name == && then Net_Name=&Not_Connected&)
& && && &;### Write the data to the output file ###
& && && &fprintf(Compare_List_File &%s %s %s %s %s %s\n&
& && && && &Function_Name Ref_Des Device_Name Pin_Number Pin_Use Net_Name)
& && &); end foreach Pin Function-&pin
& &); end foreach Function Function_List
& &close(Compare_List_File)
& &;### Sort the file and add the end of file (EOF) marker ###
& &shell(&sort -n +0.3 Compare_List_File & CompareListFile.
& && & echo \&EOF\& && CompareListFile.
& && & rm Compare_List_File&)
); end defun Compare_List_Builder
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun Compare_Logic_Changes_And_Renames ()
& &;############################
& &;### Define the variables ###
& &;############################
& &Report= This holds the output file name
& &String_Pre= This holds the current string of data from the pre-change comparision list
& &String_Post= This holds the current string of data from the post-change comparision list
& &Comparing= This specifies if all changes are captured
& &Function_Name_Pre= This holds the current function designator from the pre-change list
& &Function_Name_Post= This holds the current function designator from the post-change list
& &Delete_List= This holds all pins/functions deleted from the post-change design
& &Function_Name_Pre_Last= This holds the previous records function designator
& &Function_Name_Pre_Current= This holds the current records function designator
& &Ref_Des_Pre= This holds current record reference designator from the pre-change list
& &Ref_Des_Post= This holds current record reference designator from the post-change list
& &Device_Name_Pre= This holds current record device name from the pre-change list
& &Device_Name_Post= This holds current record device name from the post-change list
& &Pin_Number_Pre= This holds current record pin number from the pre-change list
& &Pin_Number_Post= This holds current record pin number from the post-change list
& &Pin_Use_Pre= This holds current record pin use code from the pre-change list
& &Pin_Use_Post= This holds current record pin use code from the post-change list
& &Net_Name_Pre= This holds current record net name from the pre-change list
& &Net_Name_Post= This holds current record net name from the post-change list
& &Function_Name_Post_Current= This holds the current records function designator
& &Function_Name_Post_Last= This This holds the previous records function designator
& &Modify_List= This holds all pins/functions changed in the post-change design
& &Add_Mode= This specifies if all additions have been captured
& &Add_List= This holds all pins/functions added to the post-change design
& &;########################################################
& &;### Open the output file and read in the data fields ###
& &;########################################################
& &Pre_Change_List=infile(&./CompareListFilePreChange.txt&)
& &Post_Change_List=infile(&./CompareListFile.txt&)
& &Report=outfile(&./DeleteModifyAdd.rpt& &w&)
& &fprintf(Report &\n\n\t\t************ 3rd Party Netin ************\n&)
& &fprintf(Report &\t\t******* Back Annotation TO-DO List ******\n&)
& &fprintf(Report &\t\t*****************************************\n&)
& &fprintf(Report &\n\t\tPre-Change Design = %s.brd\n& getShellEnvVar(&CHK_BRD&))
& &fprintf(Report &\t\tPost-Change Design = %s.brd\n& getShellEnvVar(&NEW_BRD&))
& &fprintf(Report &\n\t\t%s\n& getCurrentTime())
& &fprintf(Report &\n\n\t\t************* Modifications *************\n\n&)
& &String_Pre=parseString(gets(S Pre_Change_List))
& &String_Post=parseString(gets(S Post_Change_List))
& &;### Start the comparison loop ###
& &(while Comparing != &finished&
& && &;### This if check for the end of file record in the pre-change list ###
& && &(if car(String_Pre) != &EOF& then
& && && &Function_Name_Pre=car(String_Pre)
& && && &Function_Name_Post=car(String_Post)
& && && &;### This if compares the FuncDes, if their differant the Function_Name_Pre was deleted ###
& && && &(if Function_Name_Pre != Function_Name_Post then
& && && && &Delete_List=cons(String_Pre Delete_List)
& && && && &Function_Name_Pre_Last=Function_Name_Pre
& && && && &;### This if eliminates multiple entries of the same RefDes in the deletion section ###
& && && && &(if Function_Name_Pre_Last != Function_Name_Pre_Current then
& && && && && &fprintf(Report &\n\t*** Delete function %s, Ref %s\n&
& && && && && && &Function_Name_Pre car(cdr(String_Pre)))
& && && && &); end if Function_Name_Pre_Last != Function_Name_Pre_Current
& && && && &String_Pre=parseString(gets(S Pre_Change_List)) ; get the next pre-change record
& && && && &Function_Name_Pre=car(String_Pre)
& && && && &Function_Name_Pre_Current=Function_Name_Pre
& && && &else
& && && && &;### This if checks for differances between the pre and post designs ###
& && && && &(if String_Pre != String_Post then
& && && && && &Function_Name_Post=car(String_Post)
& && && && && &Ref_Des_Pre=car(cdr(String_Pre))
& && && && && &Ref_Des_Post=car(cdr(String_Post))
& && && && && &Device_Name_Pre=car(cdr(cdr(String_Pre)))
& && && && && &Device_Name_Post=car(cdr(cdr(String_Post)))
& && && && && &Pin_Number_Pre=car(cdr(cdr(cdr(String_Pre))))
& && && && && &Pin_Number_Post=car(cdr(cdr(cdr(String_Post))))
& && && && && &Pin_Use_Pre=car(cdr(cdr(cdr(cdr(String_Pre)))))
& && && && && &Pin_Use_Post=car(cdr(cdr(cdr(cdr(String_Post)))))
& && && && && &Net_Name_Pre=car(cdr(cdr(cdr(cdr(cdr(String_Pre))))))
& && && && && &Net_Name_Post=car(cdr(cdr(cdr(cdr(cdr(String_Post))))))
& && && && && &Function_Name_Post_Current=Function_Name_Post
& && && && && &;### This if eliminates multiple entries of RefDes and DeviceName ###
& && && && && &(if Function_Name_Post_Last != Function_Name_Post_Current then
& && && && && && &fprintf(Report &\n\t*** Modify Function %s: Refdes=%s, Device=%s ***\n&
& && && && && && &Function_Name_Post Ref_Des_Pre Device_Name_Pre)
& && && && && && &;### This if compares the RefDes ###
& && && && && && &(if Ref_Des_Pre != Ref_Des_Post then
& && && && && && && &fprintf(Report &\tRefdes was=%s, is=%s\n& Ref_Des_Pre Ref_Des_Post)
& && && && && && &); end if Ref_Des_Pre != Ref_Des_Post
& && && && && && &;### This if compares the RefDes ###
& && && && && && &(if Device_Name_Pre != Device_Name_Post then
& && && && && && && &fprintf(Report &\tDevice was=%s, is=%s\n& Device_Name_Pre Device_Name_Post)
& && && && && && &); end if Device_Name_Pre != Device_Name_Post
& && && && && &); end if Function_Name_Post_Last != Function_Name_Post_Current
& && && && && &;### This if compares the RefDes ###
& && && && && &(if Pin_Number_Pre != Pin_Number_Post then
& && && && && && &fprintf(Report &\tPin was=%s, is=%s\n& Pin_Number_Pre Pin_Number_Post)
& && && && && &); end if Pin_Number_Pre != Pin_Number_Post
& && && && && &;### This if compares the RefDes ###
& && && && && &(if Pin_Use_Pre != Pin_Use_Post then
& && && && && && &fprintf(Report &\tNew pin %s; Use was=%s, is=%s\n&
& && && && && && && &Pin_Number_Post Pin_Use_Pre Pin_Use_Post)
& && && && && &); end if Pin_Use_Pre != Pin_Use_Post
& && && && && &;### This if compares the RefDes ###
& && && && && &(if Net_Name_Pre != Net_Name_Post then
& && && && && && &fprintf(Report &\tNew pin %s; Net was=%s, is=%s\n&
& && && && && && && &Pin_Number_Post Net_Name_Pre Net_Name_Post)
& && && && && &); end if Net_Name_Pre != Net_Name_Post
& && && && && &Modify_List=cons(String_Post Modify_List)
& && && && && &Function_Name_Post_Last=Function_Name_Post_Current
& && && && && &String_Pre=parseString(gets(S Pre_Change_List))
& && && && && &String_Post=parseString(gets(S Post_Change_List))
& && && && && &;### This if checks for the end of file record in the pre-change list ###
& && && && && &(if car(String_Pre) == &EOF& then
& && && && && && &Modify_Mode=&finished&
& && && && && &); if car(String_Post) != &EOF&
& && && && &else
& && && && && &String_Pre=parseString(gets(S Pre_Change_List))
& && && && && &String_Post=parseString(gets(S Post_Change_List))
& && && && && &;### This if checks for the end of file record in the pre-change list ###
& && && && && &(if car(String_Pre) == &EOF& then
& && && && && && &Modify_Mode=&finished&
& && && && && &); if car(String_Post) != &EOF&
& && && && &); end if String_Pre != String_Post
& && && &); end if Function_Name_Pre != Function_Name_Post
& && &else
& && && &;##########################################
& && && &;### Start the additions recording loop ###
& && && &;##########################################
& && && &fprintf(Report &\n\n\t\t************* Additions *************\n&)
& && && &(while Add_Mode != &finished&
& && && && &;### This if checks for the end of file record in the post-change list ###
& && && && &(if car(String_Post) != &EOF& then
& && && && && &Function_Name_Post=car(String_Post)
& && && && && &Function_Name_Post_Current=Function_Name_Post
& && && && && &Ref_Des_Post=car(cdr(String_Post))
& && && && && &Device_Name_Post=car(cdr(cdr(String_Post)))
& && && && && &Pin_Number_Post=car(cdr(cdr(cdr(String_Post))))
& && && && && &Pin_Use_Post=car(cdr(cdr(cdr(cdr(String_Post)))))
& && && && && &Net_Name_Post=car(cdr(cdr(cdr(cdr(cdr(String_Post))))))
& && && && && &;### This if eliminates duplicate ref des entries in the additions section ###
& && && && && &(if Function_Name_Post_Current != Function_Name_Post_Last then
& && && && && && &fprintf(Report &\n\t*** Add Function %s: Refdes=%s, Device=%s ***\n&
& && && && && && && &Function_Name_Post Ref_Des_Post Device_Name_Post)
& && && && && &); end if Function_Name_Post_Current != Function_Name_Post_Last
& && && && && &fprintf(Report &\tPin=%s, Use=%s, Net=%s\n& Pin_Number_Post Pin_Use_Post Net_Name_Post)
& && && && && &Function_Name_Post_Last=Function_Name_Post_Current
& && && && && &Add_List=cons(String_Post Add_List)
& && && && && &String_Post=parseString(gets(S Post_Change_List))
& && && && &else
& && && && && &Add_Mode=&finished&
& && && && && &Comparing=&finished&
& && && && &); end if car(String_Post) != &EOF&
& && && &); end while Add_Mode != &finished&
& && &); end if car(String_Pre) != &EOF&
& &); end while Comparing != &finished&
& &close(Report)
); end defun Compare_Logic_Changes_And_Renames
主题帖子积分
五级会员(50), 积分 3202, 距离下一级还需 3798 积分
五级会员(50), 积分 3202, 距离下一级还需 3798 积分
解压缩后为三个文件,Dccrpt.doc,DCCRPT.form,rulerpt.ile。怎么和你所说的
加载程序:
1.& & & & 将DCCRPT.form档案拷贝到 cadence程序主目录下的\share\pcb\text\forms。
2.& & & & 将dccrpt.il档案拷贝到 home folder 的\pcbenv目录内。
3.& & & & 用文书软件编辑Allero.ilinit (home folder 的\pcbenv目录内),加入load(“dccrpt.ile” “skill”)
4.& & & & 完成后重开Allegro增加以下指令dcc
不对呀????????
主题帖子积分
四级会员(40), 积分 2666, 距离下一级还需 334 积分
四级会员(40), 积分 2666, 距离下一级还需 334 积分
再道歉一次,四楼夹错档案,请至六楼下载
主题帖子积分
四级会员(40), 积分 1851, 距离下一级还需 1149 积分
四级会员(40), 积分 1851, 距离下一级还需 1149 积分
主题帖子积分
四级会员(40), 积分 2440, 距离下一级还需 560 积分
四级会员(40), 积分 2440, 距离下一级还需 560 积分
小弟前天也写了个,需要给我邮件。等改进好了寄给大伙用。
本帖子中包含更多资源
才可以下载或查看,没有帐号?
互相学习,彼此保留一种敬畏吧。
主题帖子积分
四级会员(40), 积分 2031, 距离下一级还需 969 积分
四级会员(40), 积分 2031, 距离下一级还需 969 积分
主题帖子积分
三级会员(30), 积分 863, 距离下一级还需 137 积分
三级会员(30), 积分 863, 距离下一级还需 137 积分
推荐内容 /1
请大家去各城市版块查看....
Powered by只需一步,快速开始
后使用快捷导航没有帐号?
查看: 4593|回复: 26
十天学会Skill之第五天
主题帖子积分
十天学会Skill之第五天
By deargds
学习目的:了解Skill与Allegro交互接口,创建一个简单的窗体实例。
一,了解Skill中常用的一些交互函数
axlUIYesNo(&Are you ready?&);弹出YES NO选择框
axlUIYesNoCancel(&Are you ready?&);弹出YES NO CANCEL三态选择框
以上函数会根据用户所选结果返回一个值,我们可以判断这个返回值来进行相关的操作。
axlUIMultipleChoice(&Pick a choice& list(&a& &b& &c&));多项选择
axlUIPrompt( &Enter Your name& &Cat& ) ;提示用户输入内容并返回
axlUIConfirm( &Hello& );弹出提示框
以上两个函数组合一下执行
axlUIConfirm(axlUIPrompt( &Enter Your name& &Cat& ))
axlMeterCreate;创建进度条,需与其它函数配合使用
axlMeterUpdate
axlMeterDestroy
创建进度条示例:
defun(test ()
& && &&&axlMeterCreate(&test&, &&, t);创建进度条
& && &&&for(n 1 4
& && && && && & sleep(1);延迟1秒
& && && && && & axlMeterUpdate(n*25 &test&);更新进度
& && &&&axlMeterDestroy();关闭进度条
弹出NET选择框
axlUIDataBrowse('NET '(RETRIEVE_NAME) &test& t)
建议查看下axlUIDataBrowse函数的详细说明
二,创建程序交互窗口
Skill的窗体是通过对应的form文件来进行描述的,每个不同的窗体对应不同的FORM文件,里面包括了窗体的属性,每个控件的位置,大小,相关的属性等描述。
FORM文件内容示例:
FILE_TYPE=FORM_DEFN VERSION=2
HEADER &Progress Meter&
INFO progressText 40
PROGRESS 41 3
SKILL内置了一些WIN32控件,如按钮,文本框,单选,复选,列表,树状列表,下拉列表,进度条等,
在FORM文件中,每个控件都有自己的FIELD名称,可以通过FIELD来访问该控件以获取和设置控件的值。
在编写好Form文件后,可以通过axlFormTest()函数来进行测试,
例如axlFormTest(&C://Cadence//SPB_15.7//share//pcb//text//forms//createsplitplane.form&)
实际的Skill程序中为了方便,通常都会使用动态生成Form文件的方法来创建窗体,结合前面了解过的文件输入输出端口,比较容易实现。
示例如下:
defun( test ()
& && &&&f = &/test.form&; 定义test.form文件
& && &&&p = outfile(f &w&)
& && &&&fprintf(p &FILE_TYPE=FORM_DEFN VERSION=2\n&)
& && &&&fprintf(p &FORM\n&)
& && &&&fprintf(p &FIXED\n&)
& && &&&fprintf(p &PORT 22 8\n&)
& && &&&fprintf(p &HEADER \&TEST\&\n&)
& && &&&fprintf(p &TILE\n&)
& && &&&fprintf(p,&FIELD tip\n\n&);开始写入文本框定义
& && &&&fprintf(p,&FLOC 1 1\n&);定义坐标位置
& && &&&fprintf(p,&STRFILLIN 15 40\n&);控件尺寸
& && &&&fprintf(p,&ENDFIELD\n\n&)
& && &&&fprintf(p &FIELD pop\n&);开始写入按钮POP定义
& && &&&fprintf(p &FLOC 1 4\n&)
& && &&&fprintf(p &MENUBUTTON \&Pop\& 8 3\n&)
& && &&&fprintf(p &ENDFIELD\n&)
& && &&&fprintf(p &FIELD close\n&);开始写入按钮EXIT定义
& && &&&fprintf(p &FLOC 10 4\n&)
& && &&&fprintf(p &MENUBUTTON \&Exit\& 8 3\n&)
& && &&&fprintf(p &ENDFIELD\n&)
& && &&&fprintf(p &ENDTILE\n&)
& && &&&fprintf(p &ENDFORM\n&)
& && &&&close(p);test.form文件写入结束
& && &&&h = axlFormCreate((gensym) f nil 'test_call t);调用axlFormCreate函数根据test.form文件创建窗体,并关联窗体回调函数test_call
& && &&&axlFormDisplay(h);显示窗体
defun( test_call (h)
& && &&&case( h -& curF获取当前窗体激活的控件
& && && && && & (&pop&
& && && && && && && && &axlUIConfirm(axlFormGetField(h &tip&));获取FIELD为tip的控件内容,并弹出
& && && && && & )
& && && && && & (&close&
& && && && && && && && &axlFormClose(h);关闭窗体
& && && && && && && && &deleteFile(f);删除生成的FORM文件
& && && && && & )
在回调函数中经常用到的函数及属性
axlFormSetField;设置控件值
axlFormGetField;获取控件值
axlFormSetFieldEditable;禁用/允许控件
axlFormSetFieldVisible;隐藏/显示控件
formHandle -& curF返回窗体当前活动的控件。
formHandle -& curV返回窗体当前活动控件的值,类型与FORM文件中所定义类型一致,也可以通过axlFormCreate定义为string类型。
另外在帮助文件X:\Cadence\SPB_15.7\share\pcb\examples\skill\form\basic目录下有非常详细的FORM文件示例,可以参考一下。
本帖子中包含更多资源
才可以下载或查看,没有帐号?
顶啊~非常好的原创~期待老大继续!!
谁画出这天地 又画下我和你
主题帖子积分
四级会员(40), 积分 2748, 距离下一级还需 252 积分
四级会员(40), 积分 2748, 距离下一级还需 252 积分
谢谢LZ的慷慨分享
主题帖子积分
二级会员(20), 积分 31, 距离下一级还需 169 积分
二级会员(20), 积分 31, 距离下一级还需 169 积分
謝謝樓主,寫得很好!
鑒定了我學下去的信心!
主题帖子积分
五级会员(50), 积分 5253, 距离下一级还需 1747 积分
五级会员(50), 积分 5253, 距离下一级还需 1747 积分
楼主辛苦了,关注中!支持一下
主题帖子积分
四级会员(40), 积分 2029, 距离下一级还需 971 积分
四级会员(40), 积分 2029, 距离下一级还需 971 积分
收益匪浅啊
主题帖子积分
四级会员(40), 积分 2029, 距离下一级还需 971 积分
四级会员(40), 积分 2029, 距离下一级还需 971 积分
期待第六天
主题帖子积分
四级会员(40), 积分 2467, 距离下一级还需 533 积分
四级会员(40), 积分 2467, 距离下一级还需 533 积分
很好,谢谢
主题帖子积分
三级会员(30), 积分 913, 距离下一级还需 87 积分
三级会员(30), 积分 913, 距离下一级还需 87 积分
很好。正在学了。顶起来,
主题帖子积分
五级会员(50), 积分 3179, 距离下一级还需 3821 积分
五级会员(50), 积分 3179, 距离下一级还需 3821 积分
态度决定一切,
行动创造未来。
主题帖子积分
二级会员(20), 积分 31, 距离下一级还需 169 积分
二级会员(20), 积分 31, 距离下一级还需 169 积分
顶啊,不过后面几天呢?
主题帖子积分
三级会员(30), 积分 740, 距离下一级还需 260 积分
三级会员(30), 积分 740, 距离下一级还需 260 积分
楼主后面何时在更新啊,泪流期待。。
主题帖子积分
二级会员(20), 积分 35, 距离下一级还需 165 积分
二级会员(20), 积分 35, 距离下一级还需 165 积分
好东西,期待楼主的更新!
主题帖子积分
三级会员(30), 积分 657, 距离下一级还需 343 积分
三级会员(30), 积分 657, 距离下一级还需 343 积分
好东西,期待楼主的更新!
主题帖子积分
三级会员(30), 积分 550, 距离下一级还需 450 积分
三级会员(30), 积分 550, 距离下一级还需 450 积分
主题帖子积分
二级会员(20), 积分 23, 距离下一级还需 177 积分
二级会员(20), 积分 23, 距离下一级还需 177 积分
最佳敬业奖
推荐内容 /1
请大家去各城市版块查看....
Powered by}

我要回帖

更多关于 机器码获取注册码 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信