「Initget」の版間の差分
細編集の要約なし  | 
				|||
| 76行目: | 76行目: | ||
:* キーワード全体を大文字で指定し、その直後にカンマと入力が必要な文字を続ける(たとえば "LTYPE,LT")。この場合、キーワード文字はキーワードの先頭の文字でなければならない。つまり、"EXIT,X" は無効。  | :* キーワード全体を大文字で指定し、その直後にカンマと入力が必要な文字を続ける(たとえば "LTYPE,LT")。この場合、キーワード文字はキーワードの先頭の文字でなければならない。つまり、"EXIT,X" は無効。  | ||
: 以下は、IJCAD のみで有効  | : 以下は、IJCAD のみで有効  | ||
:*   | :* IntelliCAD (IJCAD 2013 まで) では、キーワードをプロンプトメニューから選択できるようになっているが、プロンプトメニューに表示させたくない場合は、キーワードの先頭に ~ を付ける。(たとえば、"~LType"、"~eXit"、"~_toP" など)  | ||
; サンプル  | ; サンプル  | ||
2015年1月3日 (土) 12:35時点における版
- 構文
 - (initget [bits] [string])
 
- 機能
 - 次のユーザ入力関数の呼び出しで使用するキーワードを設定する。
 - キーワードを指定できる関数には、getint、getreal、getdist、getangle、getorient、getpoint、getcorner、getkword、entsel、nentsel、nentselp がある。キーワード指定できないユーザ入力関数は、getstringのみ。
 - 次のユーザ入力関数の呼び出しで、予期されるタイプの入力(たとえば getpoint 関数に対しては点の指定)をユーザが行わないと、キーワードがチェックされる。ユーザの入力がリストに存在するキーワードのいずれかと一致した場合、関数はそのキーワードを文字列として返す。アプリケーションは、キーワードを調べ、それぞれに対応する動作を行うことができる。 ユーザ入力が予期したタイプではなくキーワードとも一致しない場合、CAD はもう一度入力するようユーザに要求する。initget 関数のビット値とキーワードは、次回のユーザ入力関数の呼び出しのみに適用される。
 
- initget 関数でコントロール ビットを設定した後で、設定されたビットが意味を持たないユーザ入力関数をアプリケーションが呼び出すと、そのビットは無視される。指定された状態についてユーザの入力が正しくない場合(たとえば、0が許可されていないときに0を入力する等)、CAD はメッセージを表示して、もう一度入力するようユーザに要求する。
 
- 引数
 - 
- bits : ビットコード化された整数で、特定のタイプのユーザ入力を許可または禁止する。ビットは、値を加算して0から255の範囲で自由に組み合わせることができる。bits 引数を指定しなかった場合は、0とみなされる。
 
- ビット値には次のものがある。
- 1 (ビット 0) 要求に対して[Enter]のみ入力することを禁止。
 - 2 (ビット 1) 要求に対して 0 を入力することを禁止。
 - 4 (ビット 2) 要求に対して負の値を入力することを禁止。
 - 8 (ビット 3) ユーザが現在の図面範囲の外側に点を入力することを許可。システム変数 LIMCHECKは無視する。
 - 16 (ビット 4) (現在は使用されてない)
 - 32 (ビット 5)破線を使用して、ラバーバンド線またはラバーバンドボックスを描く。作図領域内の位置を指定することによってユーザが点を指定できる関数の場合、このビットの値によってラバーバンド線またはラバーバンド ボックスを、実線ではなく破線で表示できる (ディスプレイ ドライバによっては、破線の代わりに独自の色が使用される)。システム変数 POPUPS が 0の場合、このビットを無視。
 - 64 (ビット 6) getdist 関数への Z 座標の入力を禁止する。getdist 関数が 2D 距離を返すことをアプリケーションに対して保証する。
 - 128 (ビット 7) キーワードかどうかに関係なく、任意の入力ができるようにする。このビットは、ビット 0より優先される。ビット 7 とビット 0が設定されているときにユーザが[Enter]を押すと、空の文字列が返される。
 
 - 注: initget 関数のコントロール ビットは今後のバージョンで 追加される可能性がある為、ここに示されている以外のビットは設定しない。
 
- ビット値には次のものがある。
 
 
- 
- string : 一連のキーワードを示す文字列。キーワードの規則は、下記「キーワードの詳細」の通り。
 
 
- 戻り値
 - nil
 
キーワードとコントロールビット
- 関数に適用できるコントロール ビット
 - コントロール ビットは、次の表に示すように、それが意味を持つ getxxx 関数にのみ有効。
 
ユーザ入力関数と適用可能なコントロール ビット コントロール ビットの値 関 数 キーワードが 
有効null 不可 
(1)ゼロ不可 
(2)負数不可 
(4)範囲なし 
(8)破線使用 
(32)2D距離 
(64)任意入力 
(128)直接距離 
(256)UCS 面トラッキング 
(512)Z トラッキング無効 
(1024)getint X X X X X getreal X X X X X getdist X X X X X X X X X getangle X X X X X X X getorient X X X X X X X getpoint X X X X X X X X getcorner X X X X X X X X getkword X X X entsel X nentsel X nentselp X 
- キーワードの詳細
 - string 引数は、次の規則に従って解釈される。
- 各キーワードは、1 つまたは複数のスペースによって他のキーワードと区切る。たとえば、"Width Height Depth" によって 3 つのキーワードが定義される。
 - 各キーワードには、半角英数字とハイフン(-)のみを含めることができる。
 
 
- キーワードの短縮形を指定する方法には、次の 2 つがある。
- 入力が必要な部分を大文字で、その他の部分を小文字で指定する。大文字による短縮形の指定は、キーワード内のどの部分でも行える(たとえば、"LType"、"eXit"、"toP" など)。
 - キーワード全体を大文字で指定し、その直後にカンマと入力が必要な文字を続ける(たとえば "LTYPE,LT")。この場合、キーワード文字はキーワードの先頭の文字でなければならない。つまり、"EXIT,X" は無効。
 
 - 以下は、IJCAD のみで有効
- IntelliCAD (IJCAD 2013 まで) では、キーワードをプロンプトメニューから選択できるようになっているが、プロンプトメニューに表示させたくない場合は、キーワードの先頭に ~ を付ける。(たとえば、"~LType"、"~eXit"、"~_toP" など)
 
 
- サンプル
 - 2 つの簡単な例、"LType" と "LTYPE,LT" は同じ。 ユーザが LT(大文字と小文字のどちらも可)と入力するとキーワードとして認識される。キーワードのスペルどおりなら、ユーザは入力が必要な部分の後にも文字を入力できる。 この例では、LTY や LTYP も認識されるが、L は認識されない。
 
- string 引数全体が大文字か小文字のどちらかのみで、カンマとその後の文字列が存在しない場合、CAD はユーザがキーワード全体を入力したときのみ、キーワードを認識する。
 - initget 関数は、英語以外の言語に翻訳されたキーワードをサポートしている。キーワード文字列に対する次の構文は、英語以外の言語に翻訳されたキーワードの入力が可能で、言語に依存しないキーワードを返す。
 
"local1local2localn_indep1indep2indepn"
- ここで、local1 から localn は、英語以外の言語に翻訳されたキーワード。 indep1 から indepn は、言語に依存しないキーワード。
 - 英語以外の言語に翻訳されたキーワードと、言語に依存しないキーワードの順序は常に同じでなければならない。 また、最初の言語に依存しないキーワードの先頭には、アンダースコアが必要。
 - 次に例を示す。
 
(initget "Abc Def _Ghi Jkl") (getkword "¥nオプションを入力 (Abc/Def): ")
- A と入力すると "Ghi" が返され、_J と入力すると "Jkl" が返される。
 
(initget (+ 1 2 4)) (setq op (getkword))
関連事項