找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1605|回复: 12

[求助] [求助]:表转换问题,请教!

[复制链接]

已领礼包: 2个

财富等级: 恭喜发财

发表于 2008-6-25 13:22:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
表一:

  1.   [FONT=courier new]
  2. (ttt : dialog (label "text sample"
  3.                (: edit_box (key "a1" label "text1:"))
  4.                (: edit_box (key "a2" label "text2:"))
  5.                (: edit_box (key "a3" label "text3:"))
  6.                (: edit_box (key "a4" label "text4:"))
  7.               )
  8. ok_cancel
  9. )
  10.   [/FONT]

表二:

  1.   [FONT=courier new]
  2. ("TTT : dialog {"
  3. "label = "text sample";"
  4.   ": edit_box { key = "a1"; label = "text1:";  }"
  5.   ": edit_box { key = "a2"; label = "text2:";  }"
  6.   ": edit_box { key = "a3"; label = "text3:";  }"
  7.   ": edit_box { key = "a4"; label = "text4:";  }"
  8.   "ok_cancel;"
  9.   "}")
  10.   [/FONT]

表三:

  1.   [FONT=courier new]
  2. ("TTT : dialog {"  "label = "text sample";"
  3.   ": edit_box {" "key = "a1";" "label = "text1:";"  "}"
  4.   ": edit_box {" "key = "a2";" "label = "text2:";"  "}"
  5.   ": edit_box {" "key = "a3";" "label = "text3:";"  "}"
  6.   ": edit_box {" "key = "a4";" "label = "text4:";"  "}"
  7.   "ok_cancel;"
  8.   "}")
  9.   [/FONT]


表一如何转换成表二或表三?请高手支招(狂刀的EASYDCL里的表)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2008-6-26 21:31:25 | 显示全部楼层

  1. ;| easydclx = easydcl 核心字符串处理程序.------by lxx
  2. 参数: lst = 表.
  3. 返回: 字符串.
  4. |;
  5. (defun easydclx (lst / k) ; *keys 全局.
  6.   (cond
  7.     ((= 'SYM (type lst))
  8.      (setq k (vl-symbol-name lst))
  9.      (cond
  10.        ((assoc k kfil)
  11.         ;|(if (= k "key") ;保存key 特征值
  12.           (setq *keys (cons (car (member 'KEY *lst)) keys))
  13.           )
  14.         (if (= (cdr kk) "key") ;保存key 特征值
  15.           (setq *keys (cons (car (member 'K *lst)) keys))
  16.           )|;
  17.         (strcat (cdr(assoc k kfil)) " = ")
  18.        )
  19.        ((assoc k Pfil)
  20.         (strcat (cdr(assoc k pfil)) "; ")
  21.        )
  22.        (T (strcat k "="))
  23.      )
  24.     )
  25.     ((= 'STR (type lst)) (strcat """ lst ""; "))
  26.     ((numberp lst) (strcat (vl-princ-to-string lst) "; "))
  27.     ((listp lst)
  28.       (cond
  29.         ((and (= 'SYM (type (car lst))) (wcmatch (setq k (vl-symbol-name (car lst))) ":*"))
  30.          (if (assoc k pfil)
  31.            (setq k (cdr(assoc k pfil)))
  32.           )
  33.          (strcat " : " k " { " (easydclx (cdr lst)) " } ")
  34.         )
  35.         (T
  36.          (if (member 'k lst)
  37.            (setq *keys(cons (cadr(member 'k lst)) *keys))
  38.          )
  39.          (if (member 'key lst)
  40.            (setq *keys(cons (cadr(member 'key lst)) *keys))
  41.          )
  42.          (apply 'strcat (mapcar 'easydclx lst))
  43.         )
  44.       )
  45.     )
  46.     (T "")
  47.   )
  48. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2个

财富等级: 恭喜发财

 楼主| 发表于 2008-6-27 08:23:43 | 显示全部楼层
狂刀终于出手了!学习先!
你搞这么多名干嘛, 雨箭风刀,狂刀,无痕都是你吧!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2008-6-28 00:34:43 | 显示全部楼层
怎么可能出来“表一”????
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2个

财富等级: 恭喜发财

 楼主| 发表于 2008-6-28 22:10:00 | 显示全部楼层
感谢狂刀!
我基本上已经完成了第二个EASYDCL.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2008-7-28 15:35:17 | 显示全部楼层
谢谢楼主
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6个

财富等级: 恭喜发财

发表于 2008-7-29 22:39:37 | 显示全部楼层
taner  好像对表很有兴趣哦
有空去玩下ListDCLediter哈~
绝对是完表处理的标准训练例子~!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2008-8-3 15:39:36 | 显示全部楼层
fsxm的ListDCL太好了.常见的控件都有相应的方法.但是对话框中IMAGE_BUTTON 里的图片绘制代码块如
    (start_image "E90")
    (fill_image 0 0 width height 5)
    (slide_image  0  0  width  height  "90d"   )
    (end_image)
应写在系统主函数 (fsxm-listdcl lst_listdcl str_userapp)之前吗?应放在哪个函数中才能被调用?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6个

财富等级: 恭喜发财

发表于 2008-8-4 22:56:53 | 显示全部楼层
哦~我在新发布的ListDCLediter1.74中函数改名为
fsxm-ldcl了!调用方法一样! (fsxm-ldcl lst_listdcl str_userapp)
老的函数拼写有点太长了现在简化为
初始化函数: [str_userapp]:dcl:show
事件函数:  [str_userapp]:act:[key]
如没有对应事件则调用 [str_userapp]:act:*
结束对话框函数:  (return 要返回的值)

还有默认:
cancel为(return nil)
accept为(return 所以key的值)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2008-8-9 16:32:31 | 显示全部楼层
ListDCLV1.74的驱动何处有下载链接?,V1.74初始化函数:[ str_userapp]_dcl:show是否相当于原[userapp]_show:Initialize初始化函数,下面这样写可以初始化对话框吗?
(defun insert_dcl:show () ;初始化事件函数
        (start_image "E90")
        (fill_image 0 0 width height 5)
         (slide_image 0 0 width height "90d" )
        (end_image)
  )就可以调用了,对吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6个

财富等级: 恭喜发财

发表于 2008-8-10 00:53:06 | 显示全部楼层
差不多了~就是这样~!不过前面要加上[str_userapp]的啊
比如你在前面用的是
(fsxm-ldcl lst_listdcl "test")
则初始化对话框函数就要写成
(defun test:dcl:show () ....)
这样做是为了多个程序间不会有同名函数冲突!

ListDCLv1.74可以到我签名下的的网盘下载.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2008-8-10 13:27:31 | 显示全部楼层
已下载网盘中的”3.一点点函数集"下的" ListDCL.fas  表对话框控制语言独立驱动程序",经验证,该文件不是1.74版的,调用(fsxm-ldcl lst_listdcl "test")后,命令行窗口信息如下:错误: no function definition: FSXM-LDCL。而(fsxm-listdcl lst_listdcl str_userapp)可以调用,请给出ListDCLv1.74驱动程序。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-5-28 07:24:42 | 显示全部楼层
看看狂刀的表处理
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-22 11:49 , Processed in 0.223786 second(s), 55 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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