明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: 120120

提供DCL源码文件.求帮编对应的LSP!

  [复制链接]
发表于 2007-8-18 18:56:00 | 显示全部楼层
120120发表于2007-8-18 18:27:00ZZXXQQ,举个例子行不?

程序写好后可以编译再发布,这时如果材料内容变化就要重新改程序重新编译。除非内容永远不变。

而我前面的程序只要改一下数据文件就可以适应。

再说我也不知道到底有多少项材料数据。

 楼主| 发表于 2007-8-19 18:14:00 | 显示全部楼层

因为本人刚学LSP,所以很菜。。

只要你编这两项数据,我再看看!能不能自已写后面的数据。行不?

不懂的再问你!

 楼主| 发表于 2007-8-19 18:15:00 | 显示全部楼层
本帖最后由 作者 于 2007-8-19 18:22:08 编辑

sailorcwx

ZZXXQQ

能不能加点注解!

sailorcwx 兄弟的可以用。但是没写完。后面的偶也不知道怎么写。自已看也不太明白。刚学。太菜了。

ZZXXQQ,好像运行不起来,不知那出错了!

发表于 2007-8-19 21:08:00 | 显示全部楼层
本帖最后由 作者 于 2007-8-20 14:56:35 编辑

[Post=5]下面是有注解的程序,有部分修改。
  1. (DEFUN C:AA ()
  2. (IF (SETQ NM (FINDFILE "AA.TXT")) (PROGN ;寻找AA.TXT数据文件,如果未找到程序退出
  3.   (SETQ CLB (LIST))     ;初始化变量CLB(材料表)
  4.   (SETQ F (OPEN NM "r"))    ;打开文件
  5.   (SETQ BLB (LIST "JBZL" "TX" "RCL" "YT"));变量前掇表(基本资料,特性,热处理,用途)
  6.   (WHILE (SETQ CLM (READ-LINE F))   ;循环读材料名
  7.    (SETQ CLB (APPEND CLB (LIST CLM))   ;将材料名加入CLB(材料表)
  8.   I -1)      ;循环变量
  9.    (READ-LINE F)     ;空读空行
  10.    (REPEAT 4      ;循环4次(因材料内容有四项)
  11.     (READ-LINE F)     ;空读一行
  12.     (SETQ BLM (READ (STRCAT (NTH (SETQ I (1+ I)) BLB) CLM)))
  13.   ;动态组成变量名,前掇从BLB中取与材料名组成变量名
  14.     (SET BLM (LIST))     ;变量初始化
  15.     (WHILE (/= (SETQ L (READ-LINE F)) "") ;循环,非空行内容加入变量表
  16.      (SET BLM (APPEND (EVAL BLM) (LIST L))))
  17.    )       ;结束REPEAT
  18.   )       ;结束WHILE
  19.   (CLOSE F)      ;关闭文件
  20.   (IF (> (SETQ DCL_ID (LOAD_DIALOG "AA")) 0) (PROGN ;打开对话框文件
  21.    (IF (NEW_DIALOG "aa" DCL_ID "") (PROGN  ;准备显示对话框
  22.     (START_LIST "pmlist") (MAPCAR 'ADD_LIST CLB) (END_LIST) ;材料表加入对话框
  23.     (SHOWTAB 0)       ;显示第一项材料内容
  24.     (action_tile "pmlist" "(SHOWTAB (ATOI $VALUE))")  ;或激活材料表项调用显示
  25.     (START_DIALOG)      ;显示对话框
  26.    )
  27.     (ALERT "Unable to display dialog box!\n无法显示对话框!") ;错误显示
  28.    )
  29.    (UNLOAD_DIALOG DCL_ID)     ;卸出对话框
  30.   )
  31.    (ALERT "Unable to load dialog box!\n无法装载对话框!") ;错误显示
  32.   )
  33. )
  34.   (PRINC "\nDataFile not found! 数据文件未找到!") ;错误显示
  35. )
  36. (PRINC)
  37. )
  38. (DEFUN SHOWTAB (NN)
  39. (SETQ BLM (READ (STRCAT (CAR BLB) (NTH NN CLB))) ;动态组成变量名1
  40.        I -1)      ;初始化循环变量
  41. (REPEAT (LENGTH (EVAL BLM))    ;循环次数为变量内容长度
  42.   (SET_TILE (STRCAT "txt" (ITOA (+ I 2))) (NTH (SETQ I (1+ I)) (EVAL BLM)))
  43.        ;逐行在对话框中显示《基本资料》
  44. )       ;END REPEAT
  45. (SETQ BLM (READ (STRCAT (CADR BLB) (NTH NN CLB))) ;动态组成变量名2
  46.        I 0
  47.        NR (CAR (EVAL BLM)))    ;取出变量中第一项
  48. (REPEAT (1- (LENGTH (EVAL BLM)))   ;循环次数为变量内容长度-1
  49.   (SETQ NR (STRCAT NR "\n" (NTH (SETQ I (1+ I)) (EVAL BLM)))) ;合并内容
  50. )
  51. (SET_TILE "txt10" NR)     ;显示《特性》
  52. (SETQ BLM (READ (STRCAT (CADDR BLB) (NTH NN CLB))) ;动态组成变量名3
  53.        I 0
  54.        NR (CAR (EVAL BLM)))    ;取出变量中第一项
  55. (REPEAT (1- (LENGTH (EVAL BLM)))   ;循环次数为变量内容长度-1
  56.   (SETQ NR (STRCAT NR "\n" (NTH (SETQ I (1+ I)) (EVAL BLM)))) ;合并内容
  57. )
  58. (SET_TILE "txt9" NR)     ;显示《热处理》
  59. (SETQ BLM (READ (STRCAT (LAST BLB) (NTH NN CLB))) ;动态组成变量名4
  60.        I 0
  61.        NR (CAR (EVAL BLM)))    ;取出变量中第一项
  62. (REPEAT (1- (LENGTH (EVAL BLM)))   ;循环次数为变量内容长度-1
  63.   (SETQ NR (STRCAT NR "\n" (NTH (SETQ I (1+ I)) (EVAL BLM)))) ;合并内容
  64. )
  65. (SET_TILE "txt11" NR)     ;显示《用途》
  66. )
复制代码
程序不能运行大约是支持文件没找到,上面程序加了错误显示。
[/Post]
 楼主| 发表于 2007-8-20 08:44:00 | 显示全部楼层

ZZXXQQ

谢谢您的耐心回答!

发表于 2007-8-20 08:51:00 | 显示全部楼层

占个位子,以后好学习...

 楼主| 发表于 2007-8-21 12:47:00 | 显示全部楼层

ZZXXQQ

请问TXT里的内容格式要注意什么?不能正常显示.输入AA命令没有反应!没有任何提示!

刚开始可以正常显示,但后来我修改一下TXT就什么也没反应了.

材料表里只能显示第一个材料名.第二个就不显示了.第一个材料名里的内容可以正常显示.但第二个不显示材料名,点第二点有反应,里面的内容有错位!

发表于 2007-8-21 16:06:00 | 显示全部楼层

格式:

1材料名(要做变量后缀用,最好是数字或字母)
2空行
3项目名1(实际空读一行,可用空行代)
4项目内容(可多行)
5空行
6项目名2
7项目内容(可多行)
8空行
9项目名3
10项目内容(可多行)
11空行
12项目名4
13项目内容(可多行)
14空行
(重复1到14)
空行

注意:最后一定要有两个空行!估计是最后少了个空行。

 楼主| 发表于 2007-8-21 17:41:00 | 显示全部楼层

ZZXXQQ

化学成份,超出内容边界不会自动换行!

本帖子中包含更多资源

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

x
发表于 2007-8-21 17:45:00 | 显示全部楼层
有意思,有了傀儡,要找系着它的绳线。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-29 21:28 , Processed in 0.199379 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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