QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 3400|回复: 7
收起左侧

[求助] 如何在DCL文件中的下拉框中显示指定文本文件的内容?

[复制链接]
发表于 2008-8-28 08:48:29 | 显示全部楼层 |阅读模式 来自: 中国辽宁鞍山

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

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

x
如何在DCL文件中的下拉框中显示指定文本文件的内容?
$ R. I: s4 w$ _2 [即在一文本文件中列出:
; v) c6 [  l% O8 g3 F3 x8 k7 \中国
, ?2 j1 `2 z. W4 r英国
( c( X* h8 V& }+ _美国$ a. g5 e$ N6 c; o1 [
在DCL的下拉框中显示这几个选项, 如果文本文件修改了,比如增加"日本",则在下拉框中的选项也相应增加?
$ j9 D- I# P( O; ]* ~如何实现这样的功能???
头像被屏蔽
发表于 2008-8-28 16:50:45 | 显示全部楼层 来自: 中国江苏南京
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2008-8-28 19:28:05 | 显示全部楼层 来自: 中国浙江宁波
如果只是想在当前CAD中实现,比较简单将增加的项存在列表的变量中即可;如果想CAD关闭后再次打开还可用,就要把列表内的项存在文件中,如txt文件,程序启动时读取txt的列表项,然后加入,新增要写txt文件;

评分

参与人数 1三维币 +5 收起 理由
★新手★ + 5 技术讨论

查看全部评分

 楼主| 发表于 2008-9-5 18:37:07 | 显示全部楼层 来自: 中国辽宁鞍山
二楼的能不能提供一下实例?随便编写一段LSP程序?
发表于 2008-9-19 21:55:06 | 显示全部楼层 来自: 中国四川成都
楼主又发贴了,但无人接招。建议各位高手对求助类的帖子经常关注,直到解决为止,也不枉我等菜鸟的一片期待啊,谢谢
发表于 2008-11-29 22:06:41 | 显示全部楼层 来自: 中国四川成都
本人编了一段AutoCAD Lisp程序,已供作个参考借鉴。1 Z; Z# a* z- H1 [
1.首先,如何将文本文件中的词条读入程序中?
6 f$ o* u6 w" o: q    假定pop.txt文本文件的路径为:e:\ck / q( o, v% F1 S' r% W- s
   且pop.txt文本文件的内容为:
% n3 o6 q6 o$ I" J中国% Q3 v/ \8 H; Z8 u# H
英国/ K! k! T3 {( g% n' Y3 [8 B
美国
8 X5 B9 T& v) S. P# Z2 K. C2 [, l% Q: s
   在主程序中编写如下代码,就能完成将pop.txt中的词条读入变量txti中。  / P; u8 l8 W7 C% h# E

$ L9 E4 w% Q8 H2 }   ;;读取文件中的词条
6 \/ W/ b" a+ _& _3 S   (setq pf "e:\\ck\\pop.txt")
: n: ]  K+ \9 |( o6 m# q* Z8 C   (setq f (open pf "r"))% v+ n5 |+ e" f9 ?7 u- h
   (setq txti (read-line f))
: Z0 o) b3 C  W; v$ x3 X   (while (/= txti nil). O8 ~& f8 h7 [7 L$ W* x
      (progn+ G$ E! B5 @4 l$ X) E- T
          (setq txt (append txt (list txti)))
3 B/ n, ~" m$ F          (setq txti (read-line f))0 y3 L) K7 D# m& a  O& l
      )
' O  b& Y+ ]# s8 M, S1 @4 l: h    );end of while9 F+ y4 M7 W" K2 M  w& m6 I  @- `
    (close f)
6 K) \! T, u: v+ {2 i/ R; N9 v" V: S: B( a; r9 Z" c3 b
2. 如何将获得的词条加入对话框的弹出列表中?" d7 y% d2 {  h
   创建对话框文件pop.dcl如下:) F$ {) m5 D1 d( h. o
   pop:dialog{
% O/ q1 ^8 d, X6 }" R          label="弹出列表应用";
: T2 t+ j9 Z' x  H9 T' p  D0 K( e         :row{
3 J/ ]( R8 }' f9 e              :popup_list{6 |- w5 z0 q: X- t4 c# K
                         key="pop_i";
7 v# {2 w9 b7 Z3 b                         width=20;
. X% H# R0 ^/ l) i                         }
3 ?( g* c0 s0 w# O  s             }7 v- V) P# |1 |% O- b3 k
         spacer;
: z" Q, n: B9 q- ~. `         ok_cancel;
$ P+ P7 I% L5 t" r   }4 v3 s6 P& I" ]- V7 l

; Q3 X: p  R, @2 I0 b6 F: `! F$ w   编写加入对话框弹出列表子函数popup_box 如下:  
9 O/ ]; [3 o% N5 M1 t; T  (defun popup_box (list_name list_tab)   
; Q: s( i8 o. a. O& U      (stare_list list_name)
# B* c5 F/ z( Q8 D* v; b* P( }5 g5 n      (mapcar 'add_list list_tab)
2 [" d9 a! u8 O- w* G, P$ ?      (end_list)
; N6 ?5 _9 R4 T4 @   )
5 N) U; R5 K5 I2 b: s9 ~' Y+ J
. H$ B, o) s9 t' e  在主程序中编写如下代码运行对话框:1 Z3 W$ K3 ]8 g3 J) O  u; x* I; s
   ;;运行对话框
0 G$ Q3 U' F  {! _   (while (< 2 what_n)
. C7 {9 B4 |6 {: \% e' q4 R      (popup_box "pop_i" txt)   ;加入对话框弹出列表# R/ e0 |/ d" ?* v, c& G- U
      (action_tile "cancel" "(done_dialog 0)")
0 o4 S/ z0 X4 p0 o      (action_tile "pop_i" "(get_zhi $value)")
" G( }7 @2 W$ v& {! L) Z5 z      (setq what_n (start_dialog))
" S% g# m' x, }& V# b! X0 P      (cond ((= 1 what_n) (do txt_zhi)))
8 `/ f! C5 L- k/ I' P) Z    );end of while
8 o8 }% q1 E9 _# z  c    (unload_dialog dcl_id)
( J7 @8 I  C0 U) q7 p) m
6 e1 Z1 D6 p& e  至此,编程大功告成了。8 I+ ^) W8 R" Q+ A. y3 @
$ C- k0 y# P: B% j& }$ c/ E
[ 本帖最后由 ljm68 于 2008-11-29 22:13 编辑 ]
发表于 2008-12-4 20:00:12 | 显示全部楼层 来自: 中国四川成都
更正一个错误,更正如下:
8 h+ W( _2 i( S  e0 f# L
  B2 |2 @! _+ `) k# O, w  编写加入对话框弹出列表子函数popup_box 如下:  
6 h1 r+ M* S! q% R& t  (defun popup_box (list_name list_tab)   0 _5 R- N) `1 c; ^0 Y
      (start_list list_name)                      ;更正的一句
$ U5 L# ?6 b0 J4 ?  C" |      (mapcar 'add_list list_tab)$ W. a. t9 z6 B8 J* o5 R! J" _
      (end_list)/ `; L! V. j) [, T$ G3 ?
   )
发表于 2010-10-14 17:11:32 | 显示全部楼层 来自: 中国广东深圳
很好!试验一下,谢谢!
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

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