明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2885|回复: 12

[已解答] DCL文本编辑框是否可以有记忆功能?

  [复制链接]
发表于 2015-1-21 16:10:41 | 显示全部楼层 |阅读模式
dcl中如果有多个文本编辑框,输入数值后,执行lisp程序,
但是再次调用的时候,如果多个文本框中只有部分数值要修改,而其余的还沿用上次使用的值,
所有数值都要重新输入一遍,效率很低,能否使文本框的内容有记忆功能,再次调用的时候显示在文本框中,
各位高手,如有知道的,请赐教我这初学者。
发表于 2015-1-21 16:19:41 | 显示全部楼层
你是想DWG不关闭的情况下记忆,还是关闭DWG后再次打开还能记忆呢? 如果是前者,用全局变量即可,如果是后者,可以写注册表,写字典等等
 楼主| 发表于 2015-1-21 16:25:48 | 显示全部楼层
lucas_3333 发表于 2015-1-21 16:19
你是想DWG不关闭的情况下记忆,还是关闭DWG后再次打开还能记忆呢? 如果是前者,用全局变量即可,如果是后者 ...

在dwg不关闭的情况下实现记忆,用全局变量如何具体的实现呢
发表于 2015-1-21 16:32:04 | 显示全部楼层
lovexj918 发表于 2015-1-21 16:25
在dwg不关闭的情况下实现记忆,用全局变量如何具体的实现呢

比如像这样
  1. (if (not $globle_layer)
  2.   (setq $globle_layer (getvar "clayer"))
  3. )
发表于 2015-1-21 16:48:27 | 显示全部楼层
还可用环镜变量,存于注册表的
  1. getenv / setenv 是环境变量存取函数
  2. (getenv "mydata") => nil
  3. (setenv "mydata" "1.0") => "1.0" 这里需要 string 格式
  4. (getenv "mydata") => "1.0")
发表于 2015-1-21 17:02:27 | 显示全部楼层
词典的数据是保存在DWG文件中的,并不保存在注册表中。
VLAX-LDATA-PUT 词典赋值。
VLAX-LDATA-GET 取词典中定义的值。
发表于 2015-1-21 20:01:18 | 显示全部楼层
在action_tile语句前判断变量是否有合适的值,如果有就用set_tile给指定编辑框赋值。
发表于 2015-1-21 22:34:07 | 显示全部楼层
我都建一个文本文件存里面,每次执行lisp时去读一下,对话框里添加个写入按钮
发表于 2015-1-22 09:29:44 | 显示全部楼层
(if (null p1) (setq p1 1.29))
发表于 2015-1-23 22:41:16 | 显示全部楼层
运行先判断变量是否为空,如果不为空,赋值给dcl
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-23 13:14 , Processed in 0.700615 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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