怎样读取.lst文件中的列表啊?
<p> (setq f (open "E:\\GDADV1.0\\LIB\\system.lst" "r"))<br/> (setq wordlist (list (rtos (read-line f))))</p><p>因为后面有调用 (mapcar 'add_list wordlist)</p><p>所以想请教高手怎么读取文件中的数据并把它转换成列表 可以被语句(mapcar 'add_list wordlist)调用?</p> 请您附上 system.lst 档案<br/>否则大伙儿都得用猜的 <p>我本想搞定后把完整的程序贴出来的。现在把没完成的贴出来大侠们不要笑话了。</p><p><font color="#d54d2b">tuku: dialog {<br/> label ="系统图库";<br/> key = "label1"; //图库表头<br/> initial_focus = "listbox";<br/> : row {<br/> : list_box {<br/> width = 20;<br/> height = 21;<br/> fixed_height = true;<br/> key = "klist";<br/> allow_accept = true;<br/> }<br/> : image {<br/> key="kimage";<br/> color= -2;<br/> width= 50;<br/> aspect_ratio= 0.66;<br/> }<br/> }<br/> :boxed_row{<br/> label="插入比例";<br/> :edit_box{label="X方向:";key="krx";}<br/> :edit_box{label="Y方向:";key="kry";}<br/> :edit_box{label="旋转角度:";key="kang";}<br/> }<br/> spacer;<br/> ok_cancel;<br/> }<br/></font></p><p></p><p>(defun c:tuku()<br/> (setvar "cmdecho" 0)<br/> (setq f (open "E:\\GDAD6.0\\LIB\\system.lst" "r")) //system.lst是一个图库,即DWG图形的库文件名列表文件。<br/> (setq wordlist (list (rtos (read-line f))))<br/> (dcl_tuku)<br/> (prin1)<br/>)</p><p>(defun dcl_tuku()<br/> (setq dcl_id (load_dialog "tuku"))<br/> (new_dialog "tuku" dcl_id)<br/> (start_list "klist")<br/> <strong>(mapcar 'add_list wordlist)<br/></strong> (end_list)<br/> (action_tile "klist" "(sub_klist $value)")<br/> (action_tile "krx" "(getdata)")<br/> (action_tile "kry" "(getdata)")<br/> (action_tile "kang" "(getdata)")<br/> (action_tile "accept" "(done_dialog 1)" )<br/> (setq dd (start_dialog))<br/> (if (= dd 1)<br/> (progn<br/> (setvar "cmdecho" 1)<br/> (setq inspt (getpoint "\n选取属性图块插入点: "))<br/> <strong>(command "insert" name '(0 0) x0 y0 ang )<br/> (setq obj (open "name" "r")) <br/> (command "move" "obj" "" '(0 0) pause)</strong><br/> )<br/> )<br/>)</p><p></p><p>(defun getdata()<br/> (setq x0 (atof (get_tile "krx")))<br/> (setq y0 (atof (get_tile "kry")))<br/> (setq ang (atof (get_tile "kang")))<br/>)</p><p>(defun sub_klist(vvs)<br/> (setq image_x (nth (atoi vvs) wordlist))<br/> (setq name image_x)<br/> (show_sld "kimage" image_x)<br/>)</p><p>(defun show_sld(key sld)<br/> (setq x (dimx_tile key))<br/> (setq y (dimx_tile key))<br/> (start_image key)<br/> (fill_image 0 0 x y -2)<br/> (slide_image 0 0 x y sld)<br/> (end_image)<br/> )<br/> </p><p>现在有几个问题没解决,就是读取的.lst文件,用(mapcar 'add_list wordlist) 赋值说参数错误。另外就是想图形在未插入前实现图形随鼠标一起移动。 </p> <p>这样试试<br/> (defun c:tuku()<br/> (setvar "cmdecho" 0)<br/> (setq f (open "E:\\GDAD6.0\\LIB\\system.lst" "r")) //system.lst是一个图库,即DWG图形的库文件名列表文件。<br/> (setq wordlist (list))<br/> (WHILE (SETQ LL (READ-LINE f))<br/> (setq wordlist (APPEND WRODLIST (list LL)))<br/> )<br/> (dcl_tuku)<br/> (prin1)<br/>)</p>
页:
[1]