Snvalid

提供:GizmoLabs - だいたい CAD LISP なサイト
構文
(snvalid sym_name [flag])


機能
指定された文字列が有効なシンボル テーブル名かどうかチェックする。
snvalid 関数は、システム変数 EXTNAMES を調べて、アクティブな図面に適用される規則を決定する。
EXTNAMES が 0(ゼロ)の場合、AutoCAD 2000 より前相当のシンボル命名規則が使用される。EXTNAMES が 1(既定値) の場合、拡張命名規則が使用される。
次の文字は、EXTNAMES の設定にかかわらず、シンボル名に使用することはできない。
  • 制御文字、グラフィック文字
  • 空の文字列
  • 名前の先頭または末尾の縦棒文字(|)
  • EXTNAMES が 1 の場合、シンボル テーブル名の長さの制限は適用されない。
IJCAD では 8 から利用可。
引数
  • sym_name : シンボル テーブル名を指定する文字列。
  • flag : sym_name 引数での縦棒文字(|)の使用を許可するかどうかを指定する整数。
flag 引数には、次の値の 1 つを指定することができる。
  • 0 : sym_name 内で縦棒文字( | )を使用できない。既定値
  • 1 : 名前の先頭または末尾でなければ、縦棒文字( | )を使用できる。
戻り値
sym_name 引数が有効なシンボル テーブル名の場合は T。それ以外の場合は nil。
システム変数 EXTNAMES が 1 の場合、制御文字、グラフィック文字、および次に示す文字以外のすべての文字を使用でき、 シンボル テーブル名には、スペースを含めることができる。
シンボル テーブル名で使用できない文字
< > より小さい、より大きいシンボル
/ \ スラッシュ、円記号
" クォーテーション
: コロン
? クエスチョン マーク
* アスタリスク
| 縦棒
, カンマ
= 等号
` 逆クォーテーション
; セミコロン(ASCII 59)
システム変数 EXTNAMES が 0(ゼロ)の場合、シンボルテーブル名は、大文字および小文字のアルファベット(A~Z)、数字(0~9)、ドル記号($)、アンダースコア(_)、ハイフン(-)で構成される。


サンプル
次の例では、システム変数 EXTNAMES が 1 に設定されていると仮定する。
(snvalid "hocus-pocus")
T
(snvalid "hocus pocus")
T
(snvalid "hocus%pocus")
T
次の例では、システム変数 EXTNAMES が 0 に設定されていると仮定する。
(snvalid "hocus-pocus")
T
(snvalid "hocus pocus")
nil
(snvalid "hocus%pocus")
nil
次の例では、シンボル テーブル名に縦棒文字( | )が含まれている。
(snvalid "hocus|pocus")
nil
既定では、縦棒文字( | )が含まれたすべてのシンボル テーブル名は、無効とみなされる。
次の例では、flag 引数に 1 が指定されているので、縦棒が先頭または末尾の文字でない限り、縦棒を含む sym_name 引数も有効とみなされる。
(snvalid "hocus|pocus" 1)
T