(getstring [flaga] [podpowiedź])
Funkcja prosi o wpisanie tekstu.
Funkcja powoduje że wykonywany program zatrzymuje się i czeka na wpisanie tekstu przez Użytkownika.
getstring zwraca tekst wpisany przez Użytkownika max 2048 znaków
Jeśli flaga jest wartocią inną niż nil - w tekście można używać spacji . Jeśli wartość jest nil. użycie spacji będzie potraktowane jako koniec wpisywanego tekstu.
W każdym przypadku [Enter]kończy wpisywanie tekstu.
Przykład:
(getstring t "Podaj nazwę części:" )
Podaj nazwę części: ; wpisujemy np obudowa MS
"obudowa MS" ; program zwraca podaną wartość
Jeśli chcesz, żeby Użytkownik podał tylko jedną z kilku dostępnych wartości - użyj raczej getkword.
Przykład:
(defun String:Get (komunikat defVal / Wynik tekst
*error* ) (defun *error* ( msg / )
(if (not (null msg ) ) (progn (princ "\nString:Get:*error*: " ) (princ msg ) (princ "\n") ) )
)
(if defVal (if (not(= defVal "")) (setq komunikat (strcat komunikat "<" defVal ">:" ) )) )
(setq tekst(vl-catch-all-apply 'getstring (list komunikat )))
(if (vl-catch-all-error-p tekst)
(progn
(prompt (vl-catch-all-error-message tekst))
(setq Wynik nil )
)
(progn
(if (null tekst)
(setq Wynik defVal )
(if (= tekst "")
(setq Wynik defVal )
(if (= tekst ".")
(setq Wynik "")
(setq Wynik tekst)
)
)
)
)
)
Wynik
)