找回密码
 注册
关于网站域名变更的通知
查看: 3074|回复: 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, 下载次数: 0)

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檔案

该用户从未签到

2#
发表于 2015-3-13 16:46 | 只看该作者
本帖最后由 XYX365 于 2015-3-13 16:59 编辑


是不是類似下圖



LIST
A list box is a control that displays multiple items. If the list box is not large enough to display
all the list box items at once, the list box provides the required horizontal or vertical scroll bar.
We support two list box types; single (default) and multi-selection. You define a multi-select
box in form file with a "OPTIONS multiselect" List boxes have a width and height specified by
the the second and third options to the LIST keyword. The first option to the LIST keyword is
ignored and should always be an empty string ("").
List box options are:
SORT - alphabetical sort.


ALPHANUMSORT - takes in account trailing numbers so a NET2 appears before a
NET10 in the list.
PRETTYPRINT - case is ignored and items are reformatted for readability.
Special APIs for list controls are: axlFormListOptions, axlFormListDeleteAll,
axlFormListSelect, axlFormListGetItem, axlFormListAddItem,
axlFormListDeleteItem, axlFormListGetSelCount, axlFormListGetSelItems,
axlFormListSelAll.
For best performance in loading large lists consider passing a list of items to
axlFormSetField.


该用户从未签到

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

点评

List 裡面好像不能使用checkbox,只能使用字串, 你可以改用grid的方式試試看.  详情 回复 发表于 2015-3-14 07:25

该用户从未签到

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

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

该用户从未签到

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

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

scroll.png

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

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

该用户从未签到

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嗎?

该用户从未签到

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

该用户从未签到

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

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

该用户从未签到

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

该用户从未签到

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

该用户从未签到

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

该用户从未签到

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

该用户从未签到

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

该用户从未签到

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, 下载次数: 0)

grid.png

点评

十分感谢。:)  详情 回复 发表于 2019-8-1 18:13
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-6-8 21:21 , Processed in 0.093750 second(s), 29 queries , Gzip On.

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

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

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