我相信您的问题是因为打印退格“\ 010”不会删除文本,而只是将光标位置移到左侧:
我稍微修改了一下,但没有修改太多:
- (defun c:menumsg (/ data)
- (prompt (setq meuStr "Enter option (Abort/Retry/Cheerios): "))
- (while (not (and (eq 2 (car (setq data (grread nil 13 1))))
- (member (cadr data) '(97 65))))
- (cond
- ((and (= (car data) 2) (= (cadr data) )
- (setq meuStr (substr meuStr 1 (1- (strlen meuStr)))))
- ((= (car data) 2)
- (setq meuStr (strcat meuStr (chr (cadr data))))))
- (displayMenu meuStr))
- (princ))
- (defun displayMenu (string / strDel)
- (setq strDel "")
- (repeat (1+ (strlen string)) (setq strDel (strcat strDel "\010")))
- (prompt (strcat strDel string))
- (princ))
|