明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1998|回复: 1

[原创]用LISP去除VC的注释

[复制链接]
发表于 2010-10-20 16:49:00 | 显示全部楼层 |阅读模式

这段代码是LISP程序。不知发在哪个版上合适,选发到这里。

功能是:删除VC里面的注释。

(defun c:ezx(/)
  (if(SETQ SG(GETFILED "选择Cpp文件" "C:\\" "cpp" 8))(progn
  (SETQ NB(strcat(vl-filename-directory sg)(STRCAT"\\"(vl-filename-base SG)"-New")(vl-filename-extension sg)))
  (setq file1 (open SG "R"))
  (setq file2 (open NB "W"))
  (while(setq re1(read-line file1))
    (if(not(equal re1 ""))
      (progn
 (setq n(vl-string-search "//"re1))
    (cond
      ((> n 0)
 (setq re1(strcat "\n"(substr re1 1 (vl-string-search "//"re1))))
       ;(setq re1"asdfas/*123*/pijl/*8965*/")
       (while(and(setq a1 (vl-string-search "/*"re1))
   (setq a2 (vl-string-search "*/"re1))
   )
  (setq re1(strcat(substr re1 1 a1)(substr re1 (+ a2 3)(strlen re1))))
  )
       (princ re1 file2)
 )
      ((not n)
 (setq re1(strcat "\n"re1))
       (while(and(setq a1 (vl-string-search "/*"re1))
   (setq a2 (vl-string-search "*/"re1))
   )
  (setq re1(strcat(substr re1 1 a1)(substr re1 (+ a2 3)(strlen re1))))
  )
       (princ re1 file2)
 )
      )
    ))
    )
  (close file1)
  (close file2)
   (setq file1 (open  NB"R"))
  (setq file2 (open SG "W"))
  (while(setq re1(read-line file1))
    (setq re1(strcat "\n"re1))
    (princ re1 file2))
  (close file1)
  (close file2)
      (vl-file-delete NB)
  ))
  )

发表于 2010-12-11 20:31:28 | 显示全部楼层
有创意哦
但是注释也是有用的
某些时候还是可用这程序
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 11:48 , Processed in 0.155615 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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