明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1847|回复: 6

请教各位大哥:使用STRCAT函数时经常导致参数类型错误: stringp x

[复制链接]
发表于 2005-10-26 00:59 | 显示全部楼层 |阅读模式

使用STRCAT函数时经常导致参数类型错误: stringp x (x代表 3, 6 ,7, 9,之类的整形数)

不用strcat函数而直接用PRINC一个一个显示就没问题!请教各位大哥........小弟初学,问的问题弱智点哈..........

发表于 2005-10-26 07:49 | 显示全部楼层
传回结合多重字串的字串
(strcat [string [string]...])
引数
string
一个字串。
传回值
一个字串。 如果没有提供引数,strcat 会传回零长度的字串。
范例
指令:(strcat "a" "bout")
"about"
指令:(strcat "a" "b" "c")
"abc"
指令:(strcat "a" "" "c")
"ac"
指令:(strcat)
""
 楼主| 发表于 2005-10-26 10:37 | 显示全部楼层

谢谢龙龙....可是调试很久还是不行......感觉没有镶套的字符串啊.....我把程序发出来,大家帮看看啊.....新手哈...程序也是教程里的!

还有就是为什么用ENTMOD只能更新到最后一个元素,而前面的别系统省去了呢????

(DEFUN C:MODTBL ()
  (SETQ LAY (TBLOBJNAME "LAYER" (GETSTRING "LAYER NAME :")))
  (IF (= LAY NIL)
    (PRINC ("\nNONE THIS LAYER"))
    (PROGN
      (SETQ LAY_1 (ENTGET LAY))
      (SETQ TEMP_N (CDR (ASSOC 2 LAY_1))
     TEMP_C (CDR (ASSOC 62 LAY_1))
      )
      (PRINC (strcat "\n图层名:<" TEMP_N ">"))
      (SETQ TEMP (GETSTRING "输入改变图层的名字:"))
      (IF (AND
     (/= TEMP "")
     (/= TEMP TEMP_N)
   )
 (SETQ TEMP_N TEMP)
      )
      (PRINC (strcat "\n图层颜色:<" TEMP_C ">"))
      (SETQ TEMP (GETINT "输入改变图层颜色数字"))
      (IF (AND
     (/= TEMP NIL)
     (/= TEMP TEMP_C)
   )
 (SETQ TEMP_C TEMP)
      )
      (SETQ TEMP (SUBST
     (CONS '2 TEMP_N)
     (ASSOC 2 LAY_1)
     LAY_1
   )
      )
      (SETQ TEMP (SUBST
     (CONS '62 TEMP_C)
     (ASSOC 62 LAY_1)
     LAY_1
   )
      )
      (ENTMOD TEMP)
    )
  )
  (PRINC)
)

 楼主| 发表于 2005-10-26 12:20 | 显示全部楼层

谢谢 海阔天空........问题已经解决,谢谢大家.....小弟新手....问的问题弱智.....望大家见谅!

发表于 2005-10-26 12:29 | 显示全部楼层
  1. ;;不支持真色彩
  2. (defun C:MODTBL ()
  3.   (setq LAY (tblobjname "LAYER" (getstring "\nLAYER NAME :")))
  4.   (if (= LAY NIL)
  5.     (princ ("\nNONE THIS LAYER"))
  6.     (progn
  7.       (setq LAY_1 (entget LAY))
  8.       (setq TEMP_N (cdr (assoc 2 LAY_1))
  9.      TEMP_C (cdr (assoc 62 LAY_1))
  10.       )
  11.       (princ (strcat "\n图层名:<" TEMP_N ">"))
  12.       (setq TEMP (getstring "\n输入改变图层的名字:"))
  13.       (if (and
  14.      (/= TEMP "")
  15.      (/= TEMP TEMP_N)
  16.    )
  17. (setq TEMP_N TEMP)
  18.       )
  19.       (princ (strcat "\n图层颜色:<" (rtos TEMP_C) ">"))
  20.       (setq TEMP (getint "\n输入改变图层颜色数字"))
  21.       (if (and
  22.      (/= TEMP NIL)
  23.      (/= TEMP TEMP_C)
  24.    )
  25. (setq TEMP_C TEMP)
  26.       )
  27.       (setq TEMP (subst
  28.      (cons '2 TEMP_N)
  29.      (assoc 2 LAY_1)
  30.      LAY_1
  31.    )
  32.       )
  33.       (setq TEMP (entmod TEMP))
  34.       (setq TEMP (subst
  35.      (cons '62 TEMP_C)
  36.      (assoc 62 TEMP)
  37.      TEMP
  38.    )
  39.       )
  40.       (entmod TEMP)
  41.     )
  42.   )
  43.   (princ)
  44. )
 楼主| 发表于 2005-10-26 17:19 | 显示全部楼层
谢谢龙龙斑竹.........菜鸟终于又明白了一些道理了...
 楼主| 发表于 2005-10-26 17:25 | 显示全部楼层
谢谢龙龙斑竹.........菜鸟终于又明白了一些道理了...
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-19 08:19 , Processed in 0.232121 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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