纵横八方 发表于 2018-10-27 13:59:48

怎么在面板标题头上 加入 <日期+星期+当前时间>

本帖最后由 纵横八方 于 2018-10-31 09:53 编辑

已搞定,多谢大师们指导

    (defun SHUIDAOPAN_make_dcl (/ lst_str str file f)(setq lst_str '(
          "SHUIDAOPAN:dialog{label=\"【面板】\";"
          ":column{"
          ":button {label=\"命令01\";key=\"ML001\";width=15.00;height=1.80;vertical_margin=none;horizontal_margin=none;}"
          ":button {label=\"命令02\";key=\"ML002\";width=15.00;height=1.80;vertical_margin=none;horizontal_margin=none;}"


bai2000 发表于 2018-10-28 10:28:05

‘提问题’还要钱?没道理

yyz123121 发表于 2020-9-29 21:04:32

你好,请教一下,怎么在这个面板下边的帮助按钮旁边增加一个按钮,点击这个按钮就打开指定位置的其它vlx文件?
我加入下边这句之后,可以用快捷命令启动指定的程序,但是点击按钮没反应,按钮那个地方应该怎么写?
(defun c:***() (if (null c:***) (load "D:/***.VLX"))(c:***));打开其它程序

这个地方应该怎么写,才能让点击按钮也能够启动指定的程序?
   ":button{key = \"c:***\";label = \"批量打印\";}\n"

另一个问题,我加载了一个外部程序之后,加载第二个的话,
提示说“出现硬错误 ***
已达内部堆栈限制 (模拟)”

最后我想在左下角增加时间,应该怎么写,能说一下吗。我试了帖子里说的那些,都不出现时间,应该是我写的不对。

谢谢了

下边是源码
(defun Dcl-ButtonM (titl buttons flag / a b c)
   (defun strsplist (str / i)
   (if (setq i (vl-string-search " " str))
       (list (substr str 1 i)
                                 (vl-string-trim " " (substr str (+ 2 i)))
       )
               )
   )
   (defun makedcl (str_lst / fileID dclHandle)
   (setq
                         dclfile (vl-filename-mktemp nil nil ".dcl")
                         fileID(open dclfile "w")
   )
   (cond
                         ((= (type str_lst) 'str)
                                 (write-line str_lst fileID)
                         )
                         ((= (type str_lst) 'list)
                                 (foreach n str_lst (write-line n fileID))
                         )
               )
               (close fileID)
               (setq dclHandle (load_dialog dclfile))
         )
         (setq
               b (if flag
                                 ":column{label = \""
                                 (strcat
                                 ":spacer{ wide=1; fixed_width=true;} \n"
                                 ":spacer{ wide=1; fixed_width=true;} \n"
                                 ":row{label = \""
                                 )
                  )
               c (if flag
                                 ":row{label = \""
                                 ":column{label = \""
                         )
               d '("ESC")
               a (strcat (vl-string-translate
                                                               "$~"
                                                               "AB"
                                                               (vl-filename-base (vl-filename-mktemp))
                                                         )
                                 ":dialog{label=\""
                                 titl
                                 "\";\n"
                                 b
                                 "\";\n"
                         )
   )
   (foreach x buttons
   (if (listp x)
       (progn
         (setq a (strcat a c (car x) "\";\n"))
         (foreach y (last x)
         (setq
                                                 b (strsplist y)
                                                 a (if b
                                                               (strcat a
                                                                         ":button {key =\""
                                                                         (car b)
                                                                         "\";label=\""
                                                                         (last b)
                                                                         "\";}\n"
                                                               )
                                                               (strcat a "spacer_0;\n")
                                                         )
                                                 d (if (/= (car b) nil)
                                                               (cons (car b) d)
                                                               d
                                                         )
         )
         )
         (setq a (strcat a "}\n"))
       )
       (setq a (strcat a "spacer_0;\n"))
   )
   )
         (setq
               d    (cdr (REVERSE d))
               a    (strcat a
                                          "}"
                                          ":text{key=\"str\";label=\"文字\";}"
                                          ":row{"
                                          ":spacer { width = 60; } "
                                          ":button{key = \"c:***\";label = \"批量打印\";}\n"
                                          ":button{key = \"HLP\";label = \"帮助\";}\n"
                                          ":button{key=\"ESC\";label=\"取消\";is_cancel = true;}}}"
                                  )
               dcl(makedcl a)
               lst1 '()
               i    1
   )
   (foreach key d
   (setq
                         tx   (strcat "(action_tile \""
                                                key
                                                "\"\"(done_dialog "
                                                (itoa i)
                                                ")\")"
                                          )
                         lst1 (cons tx lst1)
                         i    (1+ i)
   )
   )
   (new_dialog (substr a 1 8) dcl)
   (action_tile "ESC" "(done_dialog 0)")
   (action_tile "HLP" "(alert\"帮助\")")
   (eval (read (strcat "(progn" (apply 'strcat lst1) ")")))
   (setq ctl (start_dialog))
   (UNLOAD_DIALOG dcl)
   (vl-file-delete dclfile)
         (if (/= ctl 0)
   (eval (read (strcat "(c:" (nth (- ctl 1) d) ")")))
   )
)
(defun c:tt (/ lst)
   (setq      lst '(
                         ("命令"
                                 ("0 改为0层"
                         )
                         ("视口"
                                 ("ZZ 视口比例 "
                         )

                )
   )      
(Dcl-ButtonM "xx工具箱 " lst nil)
         (princ)
)

lisperado 发表于 2018-11-3 18:40:33

Show Time example


(defun c:t1 (/ dcl fn f time)
(if (and (setq time (menucmd "M=$(edtime,0,YYYY/MO/DD HH:MM DDDD)")
               fn   (strcat (getvar 'tempprefix) "tmp.dcl")
               )
           (setq f (open fn "w"))
           (write-line
             (strcat "test:dialog{label=\"面板时间 : "   time
                     "\" ;"                             " :boxed_column { label = \""
                     time                             "\" ;"
                     " :column { :row { :button { key = \"t1\" ;label = \""
                     time                             "\" ;width = 5 ; }}}}"
                     "ok_cancel; "                     " :text { label = \""
                     time                             "\"; alignment = centered; }}"
                     )
             f
             )
           )
    (progn (close f)
           (setq dcl (load_dialog fn))
           (new_dialog "test" dcl)
           (action_tile "t1" "(alert time)")
           (action_tile "accept" "(done_dialog)")
           (start_dialog)
           (unload_dialog dcl)
           )
    )
(princ)
)

纵横八方 发表于 2018-10-28 09:53:51

自己顶一下

lisperado 发表于 2018-10-28 11:25:18

本帖最后由 lisperado 于 2018-10-28 14:25 编辑

好像见过但不是LISP,忘了.net还是C#之类或dynamicwrapper更改caption值?.
.
.
编辑:哈哈原来版主1名经币的隐藏内容是关于DCL对话框面板?太简单了! 还以为是AutoCAD图元视窗面板左上角。。。
楼下已有大师解答谢谢!


纵横八方 发表于 2018-10-28 12:32:11

bai2000 发表于 2018-10-28 10:28
‘提问题’还要钱?没道理

搞错了 ,是想1个币求助的

xshrimp 发表于 2018-10-28 12:46:53

命令: (menucmd "M=$(edtime,$(getvar,date),YYYY.MO.DD HH:MM DDDD )")
"2018.10.28 12:46 星期日 "

wbltools 发表于 2018-10-28 22:01:01

xshrimp 发表于 2018-10-28 12:46
命令: (menucmd "M=$(edtime,$(getvar,date),YYYY.MO.DD HH:MM DDDD )")
"2018.10.28 12:46 星期日 "

(setq riqi(menucmd "M=$(edtime,$(getvar,date),YYYY.MO.DD HH:MM DDDD )"))
请问怎么把变量riqi放到面板的标题或者面板中呢?

wbltools 发表于 2018-10-28 22:01:57

求教,贱人工具箱中的这个系统时间显示代码怎么写呢

纵横八方 发表于 2018-10-28 22:48:18

lisperado 发表于 2018-10-28 11:25
好像见过但不是LISP,忘了.net还是C#之类或dynamicwrapper更改caption值?.
.
.


求教一下,怎么写的

hao3ren 发表于 2018-10-28 23:28:47

(writ-line riqi fp)
页: [1] 2 3 4 5 6
查看完整版本: 怎么在面板标题头上 加入 <日期+星期+当前时间>