initget

Wyszukaj w słowniku

Dostępne słowniki:

Termin Definicja
initget

(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
)