找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 3172|回复: 6

[编程申请]:单行 多行文字加空格

[复制链接]

已领礼包: 54个

财富等级: 招财进宝

发表于 2009-9-4 21:20:24 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
可不可以写一个程序,给文字加空格,简单设想如下:

1、空格数量可以手动输入——意思是每两个相邻的文字之间加几个空格,数量手动输入

2、同时支持单行文字和多行文字

3、支持批量(选择多个文字)增加空格——比如同时选择了x个文字,然后输入增加3个空格,那么就是所有选择的文字,每相邻两个字之间都增加3个空格

4、支持先选择后执行命令

5、增加空格后的文字,保持还是一个完整的文字,只是增加了空格而已


简单描述如下:
比如“晓东论坛”——我需要加入一个空格,那么就变成“晓 东 论 坛”;如果我需要加入4个空格,那么就变成“晓    东    论    坛”(论坛不支持多空格显示,不过意思是这样);或者我用下横线来代替空格表示成——“晓____东____论____坛”
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2009-9-4 22:22:42 | 显示全部楼层
[php];; 单行文字加空格
(defun c:test824 ()
  (CMDLA0)
  (setq        INT (UINT 7 "" "空格数" INT)
        ss  (ssget '((0 . "TEXT")))
        i   -1
        b   " "
  )
  (repeat (- int 1)
    (setq b (strcat b " "))
  )
  (while (setq s1 (ssname ss (setq i (1+ i))))
    (setq a (xyp-Str2List (xyp-get-dxf 1 s1))
          c ""
    )
    (foreach d a
      (setq c (strcat c d b))
    )
    (xyp-SubUpd s1 1 (substr c 1 (- (strlen c) int)))
  )
  (CMDLA1)
)[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2009-9-4 22:23:08 | 显示全部楼层
单行文字加空格
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 54个

财富等级: 招财进宝

 楼主| 发表于 2009-9-5 12:11:48 | 显示全部楼层
谢谢院长

院长,可不可以继续更改一下,增加一个功能,可以对空格的个数进行反复编辑——比如一行文字,我第一次增加了3个空格,但是我感激不合适,再次运行命令输入2个空格,那么这行文字就重新按2个空格进行空位处理;如果输入0,那么就变成没有空格的原始状态

也可以再命令运行后增加一个开关选项,可以选择是增加空格或者编辑空格个数(如果已经运行过空格命令)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2009-9-5 19:55:13 | 显示全部楼层
[php];; 单行文字加空格
(defun c:test824 ()
  (CMDLA0)
  (defun main-pro ()
    (setq int (abs int)
          ss  (if (= k2 "1")
                (ssget "X" '((0 . "TEXT")))
                (ssget '((0 . "TEXT")))
              )
          i   -1
          b   ""
    )
    (repeat int
      (setq b (strcat b " "))
    )
    (while (setq s1 (ssname ss (setq i (1+ i))))
      (setq tx (xyp-get-dxf 1 s1))
      (if (= k1 "1")
        (while (vl-string-search " " tx)
          (setq tx (vl-string-subst "" " " tx))
        )
      )
      (setq a (xyp-Str2List tx)
            c ""
      )
      (foreach d a
        (setq c (strcat c d b))
      )
      (xyp-SubUpd s1 1 (substr c 1 (- (strlen c) int)))
    )
  )
  (xyp-initSet '(int k1 k2) '(3 "1" "1"))
  (setq        Ilst '(("int" "空格数量" "int" "12")
               (nil nil "spacer;")
               (nil nil ":row{alignment=left;fixed_width=true;")
               ("k1" "先去空格" "bool")
               ("k2" "全选处理" "bool")
               (nil nil "}")
               (nil nil "spacer;")
              )
  )
  (if (= (xyp-Dcl-Init Ilst "【空格处理】" t) 1)
    (main-pro)
  )
  (CMDLA1)
)[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 54个

财富等级: 招财进宝

 楼主| 发表于 2009-9-5 22:23:19 | 显示全部楼层
院长,出现这个提示是什么意思?

no function definition: XYP-DCL-INIT

不好意思,我是小白

另外:PHP代码如何使用?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2018-1-29 08:12:37 | 显示全部楼层
谢谢分享谢谢分享谢谢分享谢谢分享谢谢分享谢谢分享谢谢分享谢谢分享谢谢分享谢谢分享谢谢分享
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

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

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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