乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 67|回复: 9

[编程交流] 文本风中的文本对齐

[复制链接]

49

主题

177

帖子

130

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
243
发表于 2022-7-5 18:05:05 | 显示全部楼层 |阅读模式
我有这个问题。我有一些文本需要对齐。我不是在谈论模型中的文本,我只是在谈论文本窗口中打印的文本(通过提示命令)。我很难把它对齐。请看以下内容
 

                               
登录/注册后可看大图

 
我想让脚对齐的结果。我正在使用下面的命令来打印文本。
 
  1. (prompt (strcat "Minimum vertical change:        " (rtos minz 2 2) " m\t(" (rtos (m2ft minz) 2 2) " ft)\n"))
  2. (prompt (strcat "Maximum vertical change:        " (rtos maxz 2 2) " m\t(" (rtos (m2ft maxz) 2 2) " ft)\n\n"))
  3. (prompt (strcat "Highest elevation of system:    " (rtos highz 2 2) " m\t(" (rtos (m2ft highz) 2 2) " ft)\n"))
  4. (prompt (strcat "Minimum elevation of system:    " (rtos lowz 2 2) " m\t(" (rtos (m2ft lowz) 2 2) " ft)\n\n"))
我的印象是开关将在同一路线下调整所有线路。但是,不管我在一行中使用了多少个t,所有的t都被同等地推到了未对齐的位置。我是否错过了一些简单/基本的东西,或者我需要用一些定制的代码来详细说明这一点?
 
非常感谢。
190511mmd13lvv4h3vmhsh.png
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-5 18:15:07 | 显示全部楼层
你好
 
如果您编写一个自定义函数来扣除两个字符串中的字符长度,例如(0.25m和(0.82英尺)),然后在两个文本字符串之间添加空格,这将是一个很好的演示。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-5 18:24:28 | 显示全部楼层
例如:
 
  1. (defun _Add:gaps (st1 st2 len / st)
  2. ;;    Tharwat 06.02.2016    ;;
  3. (repeat (- len (+ (strlen st1) (strlen st2)))
  4.    (setq st (cons (chr 32) st))
  5. )
  6. (strcat st1 (apply 'strcat st) st2)
  7. )

 
功能的使用:
  1. (_Add:gaps (rtos minz 2 2) (strcat (rtos (m2ft minz) 2 2) " ft") 20)
回复

使用道具 举报

49

主题

177

帖子

130

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
243
发表于 2022-7-5 18:26:36 | 显示全部楼层
是的,我知道,但我觉得很无聊
我觉得有些事情很简单。例如,在MC Word中,这不会发生。
 
无论如何,谢谢。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-5 18:32:59 | 显示全部楼层
我猜你在回复我的第一个回复时没有看到代码。
 
无论如何,如果你想让第二个值对齐,这里还有一个
 
注意:保持长度数字静态,因为这是函数的秘密。
 
  1. (defun _Add:gaps (st1 st2 len / st)
  2. ;;    Tharwat 06.02.2016    ;;
  3. (repeat (- len (strlen st1))
  4.    (setq st (cons (chr 32) st))
  5.    )
  6. (strcat st1 (apply 'strcat st) st2)
  7. )
回复

使用道具 举报

49

主题

177

帖子

130

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
243
发表于 2022-7-5 18:42:10 | 显示全部楼层
非常感谢。它工作得很好。
回复

使用道具 举报

26

主题

1495

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-5 18:51:23 | 显示全部楼层
标签字符一直是片状的
 
请尝试以下代码:
  1. (textpage)
  2. (princ "\n1\t234567890")
  3. (princ "\n12\t34567890")
  4. (princ "\n123\t4567890")
  5. (princ "\n1234\t567890")
  6. (princ "\n12345\t67890")
  7. (princ "\n123456\t7890")
  8. (princ "\n1234567\t890")
  9. (princ "\n12345678\t90")
  10. (princ "\n123456789\t0")

 
所附图像来自使用相同代码的各种ACAD版本。
 
R12->2012年
190512l42vllztq6jd624n.jpg
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-5 18:55:57 | 显示全部楼层
不客气。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 19:03:51 | 显示全部楼层
我的Davids版本于2013年测试,旁注DCL怎么样?关于制表符停止,需要考虑的是8个字符宽,因此,如果您有9个字符宽的文本,您可能需要根据第二个代码示例。
  1. (Alert (strcat "\n1\t234567890"
  2. "\n12\t34567890"
  3. "\n123\t4567890"
  4. "\n1234\t567890"
  5. "\n12345\t67890"
  6. "\n123456\t7890"
  7. "\n1234567\t890"
  8. "\n12345678\t90"
  9. "\n123456789\t0")
  10. )

 
  1. (Alert (strcat "\n1\t234567890"
  2. "\n12\t\t34567890"
  3. "\n123\t\t4567890"
  4. "\n1234\t\t567890"
  5. "\n12345\t\t\t\t67890"
  6. "\n123456\t\t\t\t7890"
  7. "\n1234567\t\t\t\t890"
  8. "\n12345678\t\t\t\t\t\t90"
  9. "\n123456789\t\t\t0")
  10. )

190514c1q0ly99bhra748y.jpg
190515n834c6vuz2x52zc8.jpg
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 19:10:36 | 显示全部楼层
好的,我玩了一个游戏,找到了我的想法。看看这个,你可以看到最后一行的0.0被推到了上面。你有1个字符,所以点击一个标签点,试试“Min.”或“Elev”
 
  1. (alert (strcat "Minimum vertical change:        " "0.25 m " "\t" (chr 40) "0.82 ft" (chr 41)
  2. "\nMaximum vertical change:        " "5.00 m" "\t" (chr 40) "16.4 ft" (chr 41)
  3. "\n\n"
  4. "\nHighest elevation of system:    " "6.00 m" "\t" (CHR 40) "19.69 ft" (chr 41)
  5. "\nMinimum elevation of system:    " "0.0" "\t" (chr 40) "0.00 ft" (chr 41)
  6. )

190516p6f6f49fxm4wugpf.jpg
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-13 00:54 , Processed in 0.621298 second(s), 75 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表