(initget [bits] [string])
Funkcja pozwala na ograniczenie spontaniczności Użytkownika w podawaniu wartości o jakie zostanie poproszony.
Funkcja ma kilka dostępnych parametrów podawanych jako suma wartości bitowych. np wartość 6 określa sumę bitu 2 i bitu 4 czyli nie pozwala na podanie wartości 0 i ujemnej
Bit |
Znaczenie |
1 |
Nie pozwala na podanie pustej wartości - wymusza podanie jakiejkolwiek wartości. np kiedy Użytkownik tylko wciska ENTER |
2 |
Nie pozwala na podanie wartości zero |
4 |
Nie pozwala na podanie wartości ujemnej |
8 |
Nie sprawdza granic rysunku niezależnie od wartości LIMCHECK |
16 |
- niedostępna - zarezerwowana do przyszłych zastosowań |
32 |
Użyj linii przerywanej |
64 |
Nie pozwala na podanie wartości współrzędnej Z - tylko do funkcji getdist |
128 |
Zignoruj powyższe ustawienia, zezwól na podanie dowolnej wartości. |
Nie wszystkie bity mają znacznie dla każdej funkcji proszącej o akcję Użytkownika
Funkcja |
Bit |
getint |
1, 2, 4, 128 |
getreal |
1, 2, 4, 128 |
getdist |
1, 2, 4, 32, 64, 128 |
getangle |
1, 2, 32, 128 |
getorient |
1, 2, 32, 128 |
getpoint |
1, 2, 32, 128 |
getcorner |
1, 8, 32, 128 |
getkword |
1, 128 |
getstring |
--- |
entsel |
--- |
nentsel |
--- |
nentselp |
--- |
Przykład:
(initget 6)
(getreal "podaj wartość dodatnią")
Drugim parametrem wywołania funkcji jest tekst zawierający dostępne słowa kluczowe.
Każde z dostępnych słów kluczowych powinno być oddzielone spacją.
Litera będąca skrótem słowa kluczowego powinna być zapisana wielką literą.
"Tak Nie"
Jeśli całe słowo zapisane jest wielką literą, użytkownik jest zmuszony wpisać całe słowo
Alternatywnie słowa kluczowe i ich skróty można rozdzielić znakiem przecinka ","
"TAK,T Nie,N"
"~A B C _F _G ~_H"
Użycie przedrostka ~ spowoduje że następne słowo kluczowe nie będzie wyświetklone w wyskakującym menu. Użyj ~~ jeśli potrzebujesz, by znak ~ pojawił się jako słowo kluczowe. podanie jednego ~ jako słowo kluczowe wstawi separator pomiędzy pozycjami menu.
Pierwszy podkreślony przedrostek spowoduje, że pozostałe słowa kluczowe są traktowane jako słowa kluczowe globalne - niezależne od języka ZWCADa. Pierwsze słowo kluczowe ( w tym przypadku "A" ) spowoduje dopasowanie do globalnego słowa kluczowego ( w tym przykładzie "F"). Kolejne słowo kluczowe, spowoduje dopasowanie do kolejnego globalnego słowa kluczowego (W tym przykładzie podanie "B" zostanie rozpoznane jako użycie słowa kluczowego "G"). Użytkownik może posłużyć się dowonie słowem kluczowym lokalnym, lub globalnym przy czym rozpoznane zostanie zawsze jako globalne. Jedynie pierwsze globalne słowo kluczowe musi być poprzedzone znakiem podkreślenia.
Przykład:
(defun GetKWord (init Prompt DefVal / ans OutVal *error*)
(defun *error* ( msg / )
(if (not (null msg ) ) (progn (princ "\n GetKWord : *error*: " ) (princ msg ) (princ "\n") ) )
)
(initget 1 init)
(setq ans(vl-catch-all-apply 'getkword (list Prompt)))
(if (not(vl-catch-all-error-p ans))
(if ans
(progn
(if (equal ans "")
(setq OutVal DefVal)
(setq OutVal ans)
)
)
(setq OutVal DefVal)
)
)
OutVal
)