M76 发表于 2022-7-6 11:04:21

如何覆盖中的最后一行

我不敢相信这还没有出现,也许我用了错误的关键字搜索。
 
我想做的是在命令提示符上显示lisp应用程序的进度,但每个(提示符)或(princ)命令都会将最后一条消息上移一行,当需要处理1000个元素时,会在文本窗口中产生1000行。有没有办法清除最后一行?或者如果不可能,请完全清除文本窗口。
 
谢谢

jammie 发表于 2022-7-6 12:14:03

你好
 
在发出清除当前行的提示函数时,可以使用返回字符“\r”
 
 
(defun c:test ()

(write-line "Test function")

(setq i 0)

(repeat 100
   (setq PromptMessage (strcat "\r Counter [" (rtos i 2 0) "]"))
   (princ PromptMessage)
   (setq i (1+ i))
   (command "delay" 20)
   )

(write-line "End of function")
)
页: [1]
查看完整版本: 如何覆盖中的最后一行