newer 发表于 2018-10-14 09:25:04

实体信息、扩展实体数据、扩展词典信息查询

**** Hidden Message *****

evayleung 发表于 2018-10-14 09:38:19

谢谢分享。。。。。

xinrstar 发表于 2018-10-14 09:57:23

{:1_23:}{:1_23:}{:1_23:}

hhhlike 发表于 2018-10-14 11:34:45

学习一下,好程序

hhhlike 发表于 2018-10-14 11:35:51

学习一下,学习一下

hhhlike 发表于 2018-10-14 11:37:14

好程序,学习一下!!!!

liuyj 发表于 2018-10-14 12:21:03

能对xdata查询并编辑吗?我用doslib的对话框功能写了一个查询和编辑

Michael527 发表于 2018-10-14 13:23:16

好程序,谢谢分享!

XDSoft 发表于 2018-10-14 13:27:34

liuyj 发表于 2018-10-14 12:21
能对xdata查询并编辑吗?我用doslib的对话框功能写了一个查询和编辑

发布上来啊,分享下

duxiaoqing85 发表于 2018-10-14 21:24:44

学习,向楼主学习!

duxiaoqing85 发表于 2018-10-14 21:26:40

学习,向楼主学习!

renyonghua2014 发表于 2018-10-14 23:06:33

学习版主的程序,谢谢!

whdong76 发表于 2018-10-15 12:25:19

多谢分享.....

liuyj 发表于 2018-10-15 13:03:33

本帖最后由 liuyj 于 2018-10-15 13:05 编辑

XDSoft 发表于 2018-10-14 13:27
发布上来啊,分享下
献丑了。
(defun ToString        (a / result)
(eval        (cadr (assoc (type a)
                     '((INT (itoa a))
                     (LIST (vl-princ-to-string a))
                     (REAL
                        (rtos
                       a
                       2
                       (if
                          (zerop (- a (fix a)))
                          1
                          3
                       )
                        )
                     )
                      )
              )
        )
)
)
;;;查询扩展数据
(defun c:xcx (/ e xdata xd_list)
(if (setq e (entsel))
    (progn (setq e   (car e)
               xdata (xdrx_xdata_get e)
           )
           (if xdata
             (progn (setq xd_list (mapcar '(lambda (x)
                                             (list (car x)
                                                   (cond ((listp (cadr x)) (caadr x))
                                                       ((= (type (cadr x)) 'STR) (cadr x))
                                                       (T (tostring (cadr x)))
                                                   )
                                             )
                                           )
                                          xdata
                                  )
                  )
                  (setq xd_list (dos_proplist "查看扩展数据" "扩展数据列表" xd_list))
             )
           )
    )
)
(princ)
)
;;;修改扩展数据
(defun c:edx (/ e xdata xd_list xd_list1 xd_list2)
(if (setq e (entsel))
    (progn (setq e   (car e)
               xdata (xdrx_xdata_get e)
           )
           (if xdata
             (progn (setq xd_list (mapcar '(lambda (x)
                                             (list (car x)
                                                   (cond ((listp (cadr x)) (caadr x))
                                                       ((= (type (cadr x)) 'STR) (cadr x))
                                                       (T (tostring (cadr x)))
                                                   )
                                             )
                                           )
                                          xdata
                                  )
                  )
                  (setq xd_list1 (dos_proplist "修改扩展数据" "扩展数据列表" xd_list))
                  (foreach x xd_list
                      (if (/= (cdr (assoc (car x) xd_list))
                              (cdr (assoc (car x) xd_list1))
                          )
                        (setq xd_list2 (cons (assoc (car x) xd_list1) xd_list2))
                      )
                  )
                  (mapcar '(lambda (x)
                             (xdrx_xdata_set
                               e
                               (car x)
                               (if (XD::String:IsNum (cdr x))
                                   (read (cdr x))
                                   (cdr x)
                               )
                             )
                             )
                          xd_list2
                  )
             )
           )
    )
)
(princ)
)

=^_^= 发表于 2018-10-15 16:22:12

感谢分享。。。。
页: [1] 2 3 4 5 6
查看完整版本: 实体信息、扩展实体数据、扩展词典信息查询