Andrea,
you could modify or use something like this ...
;;;--------------------------------------------------------------------------
;;;--------------------------------------------------------------------------
;| #lib.
kb:getString (<Promptmsg><Default><InitBit><AllowSpaces>)
Revised Library : kwb 20051031
20051101 kwb : ESC test added.
Build 2.0 :
(SETQ tmpVal (kb:getString "Lot Description" nil (+ 1 ) T))
(SETQ tmpVal (kb:getString "Name" "Me" (+ 1 ) Nil))
(SETQ tmpVal (kb:getString nil nil nil Nil))
|;
(DEFUN kb:getString (Promptmsg ; The prompt string.
Default ; Value to return if response is <enter>
InitBit ; Initget bit
AllowSpaces ; spaces Flag < T or nil )
;
/ returnvalue)
;;------------------------------
(OR InitBit (SETQ InitBit 0))
;;------------------------------
(SETQ Promptmsg (STRCAT "\n"
(COND (Promptmsg)
("Specify String Value")
)
)
)
;;------------------------------
(IF (AND Default (= (TYPE Default) 'str) (/= Default ""))
(PROGN
(SETQ Promptmsg (STRCAT "\n" Promptmsg " << " Default " >>: "))
(IF (VL-CATCH-ALL-ERROR-P
(SETQ returnvalue (VL-CATCH-ALL-APPLY
'GETSTRING
(LIST AllowSpaces Promptmsg)
)
)
)
;; ESC was pressed.
(SETQ ReturnValue nil
Default nil
)
)
(SETQ returnvalue (IF (= returnvalue "")
Default
returnvalue
)
)
)
;; Else no default, so don't accept ENTER or SPACEBAR
;;
(PROGN (SETQ Promptmsg (STRCAT "\n" Promptmsg ": "))
(IF (= InitBit 1)
(WHILE (= ""
(SETQ returnvalue (VL-CATCH-ALL-APPLY
'GETSTRING
(LIST AllowSpaces Promptmsg)
)
)
)
)
;;
(SETQ returnvalue
(VL-CATCH-ALL-APPLY 'GETSTRING
(LIST AllowSpaces Promptmsg)
)
)
)
(IF (VL-CATCH-ALL-ERROR-P returnvalue)
;; ESC was pressed.
(SETQ ReturnValue nil)
)
)
)
;;------------------------------
returnvalue
)
;;;--------------------------------------------------------------------------
;;;--------------------------------------------------------------------------