文本风中的文本对齐
我有这个问题。我有一些文本需要对齐。我不是在谈论模型中的文本,我只是在谈论文本窗口中打印的文本(通过提示命令)。我很难把它对齐。请看以下内容https://www.cadtutor.net/forum/attachment.php?attachmentid=56890&cid=1&stc=1
我想让脚对齐的结果。我正在使用下面的命令来打印文本。
(prompt (strcat "Minimum vertical change: " (rtos minz 2 2) " m\t(" (rtos (m2ft minz) 2 2) " ft)\n"))
(prompt (strcat "Maximum vertical change: " (rtos maxz 2 2) " m\t(" (rtos (m2ft maxz) 2 2) " ft)\n\n"))
(prompt (strcat "Highest elevation of system: " (rtos highz 2 2) " m\t(" (rtos (m2ft highz) 2 2) " ft)\n"))
(prompt (strcat "Minimum elevation of system: " (rtos lowz 2 2) " m\t(" (rtos (m2ft lowz) 2 2) " ft)\n\n"))
我的印象是开关将在同一路线下调整所有线路。但是,不管我在一行中使用了多少个t,所有的t都被同等地推到了未对齐的位置。我是否错过了一些简单/基本的东西,或者我需要用一些定制的代码来详细说明这一点?
非常感谢。
你好
如果您编写一个自定义函数来扣除两个字符串中的字符长度,例如(0.25m和(0.82英尺)),然后在两个文本字符串之间添加空格,这将是一个很好的演示。 例如:
(defun _Add:gaps (st1 st2 len / st)
;; Tharwat 06.02.2016 ;;
(repeat (- len (+ (strlen st1) (strlen st2)))
(setq st (cons (chr 32) st))
)
(strcat st1 (apply 'strcat st) st2)
)
功能的使用:
(_Add:gaps (rtos minz 2 2) (strcat (rtos (m2ft minz) 2 2) " ft") 20)
是的,我知道,但我觉得很无聊
我觉得有些事情很简单。例如,在MC Word中,这不会发生。
无论如何,谢谢。 我猜你在回复我的第一个回复时没有看到代码。
无论如何,如果你想让第二个值对齐,这里还有一个
注意:保持长度数字静态,因为这是函数的秘密。
(defun _Add:gaps (st1 st2 len / st)
;; Tharwat 06.02.2016 ;;
(repeat (- len (strlen st1))
(setq st (cons (chr 32) st))
)
(strcat st1 (apply 'strcat st) st2)
)
非常感谢。它工作得很好。 标签字符一直是片状的
请尝试以下代码:
(textpage)
(princ "\n1\t234567890")
(princ "\n12\t34567890")
(princ "\n123\t4567890")
(princ "\n1234\t567890")
(princ "\n12345\t67890")
(princ "\n123456\t7890")
(princ "\n1234567\t890")
(princ "\n12345678\t90")
(princ "\n123456789\t0")
所附图像来自使用相同代码的各种ACAD版本。
R12->2012年
不客气。 我的Davids版本于2013年测试,旁注DCL怎么样?关于制表符停止,需要考虑的是8个字符宽,因此,如果您有9个字符宽的文本,您可能需要根据第二个代码示例。
(Alert (strcat "\n1\t234567890"
"\n12\t34567890"
"\n123\t4567890"
"\n1234\t567890"
"\n12345\t67890"
"\n123456\t7890"
"\n1234567\t890"
"\n12345678\t90"
"\n123456789\t0")
)
(Alert (strcat "\n1\t234567890"
"\n12\t\t34567890"
"\n123\t\t4567890"
"\n1234\t\t567890"
"\n12345\t\t\t\t67890"
"\n123456\t\t\t\t7890"
"\n1234567\t\t\t\t890"
"\n12345678\t\t\t\t\t\t90"
"\n123456789\t\t\t0")
)
好的,我玩了一个游戏,找到了我的想法。看看这个,你可以看到最后一行的0.0被推到了上面。你有1个字符,所以点击一个标签点,试试“Min.”或“Elev”
(alert (strcat "Minimum vertical change: " "0.25 m " "\t" (chr 40) "0.82 ft" (chr 41)
"\nMaximum vertical change: " "5.00 m" "\t" (chr 40) "16.4 ft" (chr 41)
"\n\n"
"\nHighest elevation of system: " "6.00 m" "\t" (CHR 40) "19.69 ft" (chr 41)
"\nMinimum elevation of system: " "0.0" "\t" (chr 40) "0.00 ft" (chr 41)
)
页:
[1]