找回密码
 注册
关于网站域名变更的通知
查看: 3192|回复: 15
打印 上一主题 下一主题

請教超出form size及大量的checklist應如何製作

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2015-3-13 16:35 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

EDA365欢迎您登录!

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

x
本帖最后由 ginooolu 于 2015-3-13 16:48 编辑

請問各位先進及版主,要做成像allegro右側層面顯示的checklist,有scroll bar可以下拉解決checklist數量超過form size時問題,應使用甚麼含式或程式架構?
另外如Checklist可以用陣列或迴圈完成選擇嗎?例如Case checklist[0]執行printf(str[0]), checklist[1]執行printf(str[1])?

scroll.png (6.79 KB, 下载次数: 8)

scroll.png

该用户从未签到

推荐
发表于 2015-3-17 10:17 | 只看该作者
ginooolu 发表于 2015-3-16 18:36
謝謝,您提供的方式我會再研究研究,不知為何載入fgrid時出現下面訊息:
E- *Error* _axlFormGridInsertCo ...

謝謝,您提供的方式我會再研究研究,不知為何載入fgrid時出現下面訊息:
E- *Error* _axlFormGridInsertCol: argument #1 should be any user-defined (other) type (type template = "otg") - nil
E- *Error* load: error while loading file - "fgrid.il"

=>必須將fgrid.il和fgrid.form 放在skill目錄下, 你是拿哪一個Allegro版本裡面的fgrid.il檔案

该用户从未签到

16#
发表于 2019-8-1 18:13 | 只看该作者
ginooolu 发表于 2019-7-30 09:09
您好,我是參考XYX365的指導用grid 製作,部分代碼如下
  PWRHIForm=axlFormCreate((gensym) "PWRHI.for ...

十分感谢。:)

该用户从未签到

15#
 楼主| 发表于 2019-7-30 09:09 | 只看该作者
本帖最后由 ginooolu 于 2019-7-30 09:13 编辑
伪君子 发表于 2019-7-11 17:44
请问你的这个功能实现了吗?我遇到了同样的问题,很多checkbox超出范围,需要做滚动显示。能给个提示吗? ...

您好,我是參考XYX365的指導用grid 製作,部分代碼如下
  PWRHIForm=axlFormCreate((gensym) "PWRHI.form" '("E" "INNER") 'PWRHI_CallBack t)
   pp = make_formGridCol()
   pp->fieldType = 'CHECKITEM
   pp->colWidth = 3
   pp->align = 'center
   pp->headText = "Hilight"
   ; Set scripting label for column
   pp->scriptLabel = "check"
   axlFormGridInsertCol(PWRHIForm "pwrgrid" pp)
   pp->fieldType = 'TEXT
   pp->colWidth = 8
   pp->align = 'left
   pp->headText = "Net Name"
   ; restore rest of columns back to scripting column number
   pp->scriptLabel = nil
   axlFormGridEvents(PWRHIForm "pwrgrid" list('change 'cellselect))
   axlFormGridInsertCol(PWRHIForm "pwrgrid" pp)
   axlFormGridInsertRows(PWRHIForm "pwrgrid" 0 countline1)
  procedure( rowsCB(textCol)
   for(count1 1 countline1
    cell = axlFormGridNewCell()
    cell->col = 2
    cell->row = count1
    cell->value=string[count1]
    axlFormGridBatch(cell)
   )
  )
  axlFormGridSetBatch(PWRHIForm "pwrgrid" 'rowsCB nil)
  axlFormGridUpdate(PWRHIForm "pwrgrid")

grid.png (21.58 KB, 下载次数: 6)

grid.png

点评

十分感谢。:)  详情 回复 发表于 2019-8-1 18:13

该用户从未签到

14#
发表于 2019-7-11 17:44 | 只看该作者
ginooolu 发表于 2015-3-15 20:57
請問可以對grid做更多的說明嗎?
程式效果是希望如下圖
另外目前的寫法是用Case,然後問題是Case的目標不 ...

请问你的这个功能实现了吗?我遇到了同样的问题,很多checkbox超出范围,需要做滚动显示。能给个提示吗?多谢。

点评

您好,我是參考XZY365的指導用grid 製作,部分代碼如下 PWRHIForm=axlFormCreate((gensym) "PWRHI.form" '("E" "INNER") 'PWRHI_CallBack t) pp = make_formGridCol() pp->fieldType = 'CHECKITEM pp  详情 回复 发表于 2019-7-30 09:09
头像被屏蔽

该用户从未签到

13#
发表于 2018-3-31 12:48 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
头像被屏蔽

该用户从未签到

12#
发表于 2018-3-30 23:31 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
头像被屏蔽

该用户从未签到

11#
发表于 2018-3-30 23:25 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

该用户从未签到

10#
发表于 2015-3-19 11:02 | 只看该作者
不是變數的話,也可以試試 evalstring

该用户从未签到

9#
 楼主| 发表于 2015-3-17 22:31 | 只看该作者
本帖最后由 ginooolu 于 2015-3-17 22:39 编辑

謝謝,原本form 跟.il放在PCBENV下會有問題,16.3/16.5都會。
後來把from拷貝到board file目錄就可以了。
grid功能似乎很複雜,要好好看一看了。
謝謝

该用户从未签到

7#
 楼主| 发表于 2015-3-16 18:36 | 只看该作者
本帖最后由 ginooolu 于 2015-3-16 19:09 编辑

謝謝,您提供的方式我會再研究研究,不知為何載入fgrid時出現下面訊息:
E- *Error* _axlFormGridInsertCol: argument #1 should be any user-defined (other) type (type template = "otg") - nil
E- *Error* load: error while loading file - "fgrid.il"

每一個net名稱都可以勾選並高亮或不高亮嗎
是的,在程式開始時會要求輸入list,透過list產生checklist
Checklist的名稱是固定的(HiCheckn),只是label(netname)不同,原本使用Case是可以用的。只是case的字串似乎不能用變數,必須每個case都寫出來。您的寫法確實可以將checklist變成變數,也試驗出來了。謝謝

点评

謝謝,您提供的方式我會再研究研究,不知為何載入fgrid時出現下面訊息: E- *Error* _axlFormGridInsertCol: argument #1 should be any user-defined (other) type (type template = "otg") - nil E- *Error* loa  详情 回复 发表于 2015-3-17 10:17

该用户从未签到

6#
发表于 2015-3-16 07:57 | 只看该作者
ginooolu 发表于 2015-3-15 20:57
請問可以對grid做更多的說明嗎?
程式效果是希望如下圖
另外目前的寫法是用Case,然後問題是Case的目標不 ...

請問可以對grid做更多的說明嗎?
=> Allegro 有一個範例 fgrid.il,可以參考






程式效果是希望如下圖
另外目前的寫法是用Case,然後問題是Case的目標不能是變數,這是限制嗎?
那是否有其他的思路可以簡化程式達到效果

=>請教一下 每一個net名稱都可以勾選並高亮或不高亮嗎?
還有這些net名稱,在不同的board也會不一樣,這樣你就不能使用case.
可以試試看cond 的迴圈加上rexMatchp判斷方式
不是變數的話,可以試試 loadstring


下面的判斷,我都是這樣寫,不用再去執行一次副程式axlFormGetField
if(axlFormGetField(PWRHIForm "HiCheck0") then
=> if(PWRHIForm->curValue then






再確認一下此工具的功能是不是要高亮或不高亮net嗎?

该用户从未签到

5#
 楼主| 发表于 2015-3-15 20:57 | 只看该作者
請問可以對grid做更多的說明嗎?
程式效果是希望如下圖
另外目前的寫法是用Case,然後問題是Case的目標不能是變數,這是限制嗎?
那是否有其他的思路可以簡化程式達到效果

scroll.png (6.48 KB, 下载次数: 6)

scroll.png

case.png (18.24 KB, 下载次数: 9)

case.png

点评

请问你的这个功能实现了吗?我遇到了同样的问题,很多checkbox超出范围,需要做滚动显示。能给个提示吗?多谢。  详情 回复 发表于 2019-7-11 17:44
請問可以對grid做更多的說明嗎? => Allegro 有一個範例 fgrid.il,可以參考 [attachimg]94216[/attachimg] [attachimg]94217[/attachimg] 程式效果是希望如下圖 另外目前的寫法是用Case,然後問題是Case  详情 回复 发表于 2015-3-16 07:57

该用户从未签到

4#
发表于 2015-3-14 07:25 | 只看该作者
ginooolu 发表于 2015-3-13 18:57
XYX365 您好,
是希望完全像我夾的貼圖,滾動Checkbox,
因為希望能方便的複選。

List 裡面好像不能使用checkbox,只能使用字串,
你可以改用grid的方式試試看.

该用户从未签到

3#
 楼主| 发表于 2015-3-13 18:57 | 只看该作者
XYX365 您好,
是希望完全像我夾的貼圖,滾動Checkbox,
因為希望能方便的複選。
構想是將檢查項目存成list,然後可以針對要檢查的項目打勾hilighlight

点评

List 裡面好像不能使用checkbox,只能使用字串, 你可以改用grid的方式試試看.  详情 回复 发表于 2015-3-14 07:25
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-22 15:14 , Processed in 0.171875 second(s), 30 queries , Gzip On.

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

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

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