Vlax-variant-type
- 構文
- (vlax-variant-type var)
- 機能
- バリアントのデータ タイプを調べる。
- 引数
-
- var : 値がバリアント型の変数。
- 戻り値
- var にセーフ配列が含まれている場合、次の整数の 1 つを返す。
- 0 データ無し (vlax-vbEmpty)
- 1 有効なデータを含まない (vlax-vbNull)
- 2 整数 (vlax-vbInteger)
- 3 長整数 (vlax-vbLong)
- 4 単精度浮動小数点数 (vlax-vbSingle)
- 5 倍精度浮動小数点数Double-precision floating-point number (vlax-vbDouble)
- 8 文字列 (vlax-vbString)
- 9 オブジェクト (vlax-vbObject)
- 11 真偽値 (vlax-vbBoolean)
- 8192 + n いずれかのデータタイプのセーフ配列(vlax-vbArray)。たとえば、倍精度実数(vlax-vbDouble)の配列は、8197(8192+5)を返す。
- var にバリアント型が含まれていない場合、エラーを返す。
- サンプル
- バリアント型を nil に設定し、バリアント型のデータ タイプを表示する。
(setq varnil (vlax-make-variant nil)) #<variant 0 > (vlax-variant-type varnil) 0
- バリアントに整数値を設定し、バリアントを明示的に整数型として定義する。
(setq varint (vlax-make-variant 5 vlax-vbInteger)) #<variant 2 5> (vlax-variant-type varint) 2
- バリアントに整数値を設定し、バリアントのデータ タイプを表示する。
(setq varint (vlax-make-variant 5)) #<variant 3 5> (vlax-variant-type varint) 3
- データ タイプを明示的に vlax-make-variant 関数で指定しなければ、整数を割り当てると長整数型になることに注意。
- バリアントに文字列を設定し、バリアントのデータ タイプを表示する。
(setq varstr (vlax-make-variant "ghost")) #<variant 8 ghost> (vlax-variant-type varstr) 8
- 倍精度実数のセーフ配列を作成し、セーフ配列をバリアントに割り当て、バリアントのデータ タイプを表示する。
(setq 4dubs (vlax-make-safearray vlax-vbDouble '(0 . 3))) #<safearray...> (setq var4dubs (vlax-make-variant 4dubs)) #<variant 8197 ...> (vlax-variant-type var4dubs) 8197
- 8192 よりも大きいバリアントのデータ タイプの値は、バリアントにいずれかのタイプのセーフ配列が含まれていることを表している。セーフ配列のデータ タイプを調べるには、戻り値から 8192 を差し引く。 この例では、8197-8192=5(vlax-vbDouble)。
- 変数に実数を割り当て、 次に、vlax-variant-type 関数を実行してその変数のデータ タイプをチェックする。
(setq notvar 6.0) 6.0 (vlax-variant-type notvar) ; エラー: 引数のタイプが間違っています: variantp 6.0
最後の例では、vlax-variant-type 関数に渡された変数にバリアント型が含まれていないので、エラーになる。
関連事項