lee50310 发表于 2022-7-19 10:03:01

<*** 2維DCL 動態行列控制 ***>

本帖最后由 lee50310 于 2023-12-29 05:01 编辑

2維DCL 動態行列控制


此程式修改自 不死貓老師自動編碼工具範例-多條件處理
來源出處:http://bbs.mjtd.com/thread-101021-1-1.html




執行指令:sab

執行效果如動態圖


wzg356 发表于 2022-7-19 21:59:55

本帖最后由 wzg356 于 2022-7-19 22:14 编辑

提供另一种思路---常用的

;(autodcl+- '("a" "b" "c"))
(defun autodcl+- (lst / ff f i n key keys id dd)
      (setq ff (vl-filename-mktemp "temp.dcl") f (open ff "w"))
      (write-line "MY_SS: dialog{label=\"dcl+-\";" f)
      (setq n(length lst))      
      (repeat (setq i n)
                (setq keys(cons(setq key(strcat "KEY"(rtos(setq i(1- i)))))keys))
                (write-line (strcat ":edit_box{label=\"\";key=" (vl-prin1-to-string key) ";}")f)                        
    )
    (write-line ":row{: button{label = \"+1\";key = \"kk+\";}" f)
    (write-line "      : button{label = \"-1\";key = \"kk-\";}}" f)
    (write-line "             ok_only;}" f)
    (close f)
    (setq keys(reverse keys))
    (setq id (load_dialog ff))
    (new_dialog "MY_SS" id)
    (mapcar '(lambda(x y)(set_tile x y))keys lst)   
    (action_tile "kk+" "(if(< n 10)(progn(setq lst(append lst(list(last lst))))(done_dialog 2))(alert \"非法\"))")
    (action_tile "kk-" "(if(> n 1)(progn(setq lst(reverse(cdr(reverse lst))))(done_dialog 3))(alert \"非法\"))")
    (action_tile "accept" "(setq lst(mapcar 'get_tile keys))(done_dialog 1)")
    (setq dd(start_dialog))
    (unload_dialog Id)(vl-file-delete ff)
    (cond
            ((> dd 1)(autodcl+- lst))
            ((= dd 1)lst)
            (t nil)
    )
)

lee50310 发表于 2022-7-19 11:10:43

本帖最后由 lee50310 于 2022-7-20 03:34 编辑

嘉伟钢结构 发表于 2022-7-19 10:28
老师:这是做什么用的?
行業應用 可做成輸入式的對話視窗做統計及計算,計算完後可轉為CAD表格插入圖面

例: 這是電氣開關箱配線回路局部圖 可做成依負載迴路的 負載值及數量 ,使用的電壓 分別填寫 如(圖一)(圖二)
   然後計算出各迴路的負載值 及最後的總負載,電流值 將他轉換為cad表格 插入圖面 如圖(三)
    但(圖三)只能做一維
    若是換成(圖四)(垂直 列)負載名稱有7項配電盤(橫向 行)有5戶 (1A ,2B...5B) 要填入每項負載值
    就必須採用2 維來做成統計對話窗


菜卷鱼 发表于 2022-7-19 18:29:49

这个东西有个缺点,就是只适合在高分辨率显示器使用,
遇到14寸笔记本,施展不开拳脚

lee50310 发表于 2022-7-19 10:04:14

本帖最后由 lee50310 于 2022-7-19 12:27 编辑

這是改良版 V1.2版 (未釋出)
自動新增行列項目標籤

20060510412 发表于 2022-7-19 10:23:37

长见识了,多谢楼主分享。

嘉伟钢结构 发表于 2022-7-19 10:28:52

老师:这是做什么用的?

tigcat 发表于 2022-7-19 10:41:57

感觉挺好玩的,对话框还动态调用了

czb203 发表于 2022-7-19 15:54:45

台湾同胞又一力作,感谢分享~

伪书虫86 发表于 2022-7-19 22:47:09

台湾同胞的配电箱系统图都是这么画的啊,长见识了
页: [1] 2
查看完整版本: <*** 2維DCL 動態行列控制 ***>