[求助]LISP在2004和2006下反应不一样?
<p>(defun c:22 (/ bw b1 b2 dw d1 d2 n1 n2 n11 n22 x1 x2)<br/> (prompt "\n 输入梁宽:")<br/> (setq bw (getreal))<br/> (prompt "\n 输入钢筋直径:")<br/> (setq dw (getreal))</p><p> <br/> <br/> (setq x1 (max 30 (* 1.5 dw)))<br/> (setq x2 (max 25 dw))</p><p> <br/> (setq n1 (/ (+ (- bw 50.0) x1) (+ dw x1)))<br/> (setq n2 (/ (+ (- bw 50.0) x2) (+ dw x2)))<br/> <br/> <br/> <br/> (setq n11 (fix n1))<br/> (setq n22 (fix n2))<br/> <br/> (princ "\n 梁端:")<br/> (princ n11)<br/> <br/> (princ "\n 梁底:")<br/> (princ n22)<br/> (princ)<br/> <br/>)<br/> </p><p></p><p><br/> 上面是我编的一个查询梁单排最大纵筋根数的程序</p><p>在2006中是正常运行的</p><p>但是在CAD2004中,当我输入梁宽和钢筋直径的时候,数字的第1位数字会自动的跳到最后一位</p><p>如“200”输入就成了“002”</p><p></p><p>这是为什么?</p><p>请大家帮忙找找问题所在!</p><p>谢谢</p> <p>应该是冒号的全角的关系</p><p>把冒号改一下就行了</p> <p>\n后不要带空格就可以了。</p><p>另外为何要用PROMPT?可以直接将提示写到GETREAL函数后面。</p> 本帖最后由 作者 于 2008-7-31 10:08:13 编辑 <br /><br /> <p> (prompt "\n 输入钢筋直径:")<br/>把\n后面的空格去掉应该可以,\n后面跟奇数个空格再跟汉字都会出现这种情况</p><p>可能是数据流问题,汉字显示到命令行时,有奇数个空格,双字节字符就会向前进一格,</p>
页:
[1]