VARTYPE

第一引数に指定した変数の型を示す数値を返す、もしくは第ニ引数に指定した型に変換します。

VARTYPE関数は、VAR_ARRAY(8192)を単独で返すことはありません。この値は常にデータ型を表す他の値との和で返され、そのデータ型の要素を持つ配列であることを示します。

例えば4バイト整数を配列の持つ場合、VAR_INTEGER(3) + VAR_ARRAY(8192) = 8195を返します。

構文
VARTYPE( 変数, [変換タイプ] )
引数
変数
型を調べる変数
変換タイプ
型を変換する場合にタイプ指定
戻値
VAR_EMPTY (0)
Empty
VAR_NULL (1)
Null
VAR_SMALLINT (2)
2バイト整数(符号付)
VAR_INTEGER (3)
4バイト整数(符号付)
VAR_SINGLE (4)
単精度浮動小数点値
VAR_DOUBLE (5)
倍精度浮動小数点値
VAR_CURRENCY (6)
通貨型
VAR_DATE (7)
日付型
VAR_DISPATCH(9)
オブジェクト
VAR_ERROR (10)
エラー値
VAR_BOOLEAN (11)
ブール型
VAR_VARIANT (12)
バリアント
VAR_UNKNOWN (13)
未定義のオブジェクト
VAR_SBYTE (16)
1バイト整数(符号付)
VAR_BYTE (17)
1バイト整数(符号なし)
VAR_WORD (18)
2バイト整数(符号なし)
VAR_DWORD (19)
4バイト整数(符号なし)
VAR_INT64 (20)
8バイト整数(符号付)
VAR_ASTR (256)
ANSI文字列
VAR_USTR (258)
UNICODE文字列
VAR_ARRAY(8192[$2000])
配列
変換タイプが指定された場合には、変換されて値を返す

プログラム実行例

変数のデータ型の値を文字で取得

VARTYPE関数で取得したデータ型の値を、連想配列で文字に変換します。

HASHTBL type type[VAR_EMPTY] = "Empty" type[VAR_NULL] = "Null" type[VAR_SMALLINT] = "2バイト整数" type[VAR_INTEGER] = "4バイト整数" type[VAR_SINGLE] = "単精度浮動小数点値" type[VAR_DOUBLE] = "倍精度浮動小数点値" type[VAR_CURRENCY] = "通貨型" type[VAR_DATE] = "日付型" type[VAR_DISPATCH] = "オブジェクト" type[VAR_ERROR] = "エラー値" type[VAR_BOOLEAN] = "ブール型" type[VAR_VARIANT] = "バリアント" type[VAR_UNKNOWN] = "未定義のオブジェクト" type[VAR_SBYTE] = "1バイト整数" type[VAR_BYTE] = "1バイト整数" type[VAR_WORD] = "2バイト整数" type[VAR_DWORD] = "4バイト整数" type[VAR_INT64] = "8バイト整数" type[VAR_ASTR] = "ANSI文字列" type[VAR_USTR] = "UNICODE文字列" type[VAR_ARRAY] = "配列" DIM n = 123 PRINT type[VARTYPE(n)]
結果
倍精度浮動小数点値

型を取得

DIM variable variable = EMPTY PRINT VARTYPE(variable) ' 0 variable = NULL PRINT VARTYPE(variable) ' 1 variable = 1 + 2 PRINT VARTYPE(variable) ' 5 variable = "あいうえお" PRINT VARTYPE(variable) ' 258
結果
0
1
5
258

配列と格納されている値のデータ型を取得

配列のデータ型を取得します。

DIM path = "image.bmp" DIM Stream = CREATEOLEOBJ("ADODB.Stream") Stream.Open() Stream.Type = 1 Stream.LoadFromFile(path) DIM tmp = Stream.Read() Stream.Close() PRINT VARTYPE(tmp) ' 8209 PRINT VARTYPE(tmp[0]) ' 17
結果
8209
17

この記事は役に立ちましたか?
役に立った 役に立たなかった