3.3. データ変換

クラス名:VISConCnv

データ変換は、ユーティリティクラスに含まれています。


3.3.1. API概要

setEndianType ホストのエンディアン種別を設定する
getEndianType ホストのエンディアン種別を取得する
StringToPack入力されたdata(String型)をパックデータに変換する
PackToString入力されたinBufferのoffset位置からsize分のデータに対し、パック形式→数値文字列変換を行う
StringToUnpack入力されたdata(String型)をアンパックデータに変換する
UnpackToString入力されたinBufferのoffset位置からsize分のデータに対し、アンパック形式→数値文字列変換を行う
ShortToBin2入力されたdata(short型)を2バイトバイナリ形式に変換する
Bin2ToShort入力されたinBufferのoffset位置から2バイト分のデータに対し、2バイトバイナリ形式→Short型数値変換を行う
IntToBin4入力されたdata(int型)を4バイトバイナリ形式に変換する
Bin4ToInt入力されたinBufferのoffset位置から4バイト分のデータに対し、4バイトバイナリ形式→int型数値変換を行う
setCharsetSignアンパック形式の符号部分の文字集合/符号化種別を設定する
getCharsetSignアンパック形式の符号部分の文字集合/符号化種別を取得する
setVisEditModeVIS画面編集モードを設定する

3.3.1.1. setEndianType


名称 setEndianType - ホストのエンディアン種別を設定する
形式
 void setEndianType (int EndianType)
 throws VISConException
    
説明

ホストのエンディアン種別を設定します。

EndianType - エンディアン種別
VCN_END_BIGビッグエンディアン変換(既定値)
VCN_END_LITTLEリトルエンディアン変換

戻り値 ありません。
エラー VISConException:エンディアン種別が範囲外の時(VCN_END_BIGVCN_END_LITTLEのみ有効)
関連項目 VISコネクタの生成ソースの値は、「コンポーネント定義」の「エンディアン変換」で指定した値になります。


3.3.1.2. getEndianType


名称 getEndianType - ホストのエンディアン種別を取得する
形式
 int getEndianType ()
    
説明

ホストのエンディアン種別を取得します。

戻り値 エンディアン種別
VCN_END_BIGビッグエンディアン変換(既定値)
VCN_END_LITTLEリトルエンディアン変換
エラー ありません。
関連項目 ありません。


3.3.1.3. StringToPack


名称 StringToPack - 入力されたdata(String型)をパックデータに変換する
形式
 int StringToPack(byte outBuffer[], int offset, String data,
                  int size, int num, int decnum, int mark)
 throws VISConException
    
説明

入力されたdata(String型)をパックデータに変換します。

変換済みデータは、outBufferのoffset位置からsizeバイト分格納します。実際に格納したデータの長さは戻り値で返却します。

outBuffer - 格納バイト配列
offset - 格納開始位置
data - 変換対象データ(String型)
size - 格納サイズ
num - パック桁数
decnum - 小数部桁数
mark - 符号有無
VCN_DATA_SIGNED符号有り
VCN_DATA_UNSIGNED符号なし

符号がある場合は、符号は必ず先頭にあるものとして動作します。
格納バイト配列はoffset+sizeで指定した値以上確保する必要があります。
変換されたデータを格納する領域のサイズ(size)は(num/2+1)以上必要です。

戻り値 格納データの長さ
エラー VISConException:変換対象データが不正、格納領域が足りない
関連項目 ありません。


3.3.1.4. PackToString


名称 PackToString - 入力されたinBufferのoffset位置からsize分のデータに対し、パック形式→数値文字列変換を行う
形式
 String PackToString(byte inBuffer[], int offset, int size, int num,
                     int decnum, int mark)
 throws VISConException
    
説明

入力されたinBufferのoffset位置からsize分のデータに対し、パック形式→数値文字列変換を行います。
変換した数値文字列は戻り値で返却します。

inBuffer - 変換対象バイト配列
offset - 変換開始位置
size - 変換サイズ
num - pack桁数
decnum - 小数部桁数
mark - 符号有無
VCN_DATA_SIGNED符号有り
VCN_DATA_UNSIGNED符号なし

変換対象バイト配列はoffset+size以上の大きさが必要です。
変換サイズ(size)は、実際のパックデータが要するサイズ(num/2+1)以上が必要です。
変換後、入力されたinBufferの中身が書き換わります。(inBuffer の下位 4 ビット(符号情報)が 0になる。)

戻り値 変換後の数値文字列
エラー VISConException:変換対象データが不正、変換対象データ領域が足りない
関連項目 ありません。


3.3.1.5. StringToUnpack


名称 StringToUnpack - 入力されたdata(String型)をアンパックデータに変換する
形式
 int StringToUnpack(byte outBuffer[], int offset, String data,
                    int size, int decnum, int mark)
 throws VISConException
    
説明

入力されたdata(String型)をアンパックデータに変換します。
変換済みデータは、outBufferのoffset位置からsizeバイト分格納します。実際に格納したデータの長さは戻り値で返却します。
setCodeTypeで設定されたコード種別に従って変換します。

outBuffer - 格納バイト配列
offset - 格納開始位置
data - 変換対象データ(String型)
size - 格納サイズ
decnum - 小数部桁数
mark - 符号有無
VCN_DATA_SIGNED符号有り
VCN_DATA_UNSIGNED符号なし
VCN_DATA_LEADSEPSIGN IS LEADING SEPARATE
VCN_DATA_TRAILSEPSIGN IS TRAILING SEPARATE
VCN_DATA_LEADSIGN IS LEADING
VCN_DATA_TRAILSIGN IS TRAILING

符号がある場合は、符号は必ず先頭にあるものとして動作します。
VCN_DATA_LEADSEP、VCN_DATA_TRAILSEPを指定する場合は、sizeに総桁数+符号部(1バイト)を設定してください。
格納バイト配列はoffset+sizeで指定した値以上確保する必要があります。
コード種別の設定については、setCodeTypeを参照してください。

戻り値 格納データの長さ
エラー VISConException:変換対象データが不正、格納領域が足りない
関連項目 ありません。


3.3.1.6. UnpackToString


名称 UnpackToString - 入力されたinBufferのoffset位置からsize分のデータに対し、アンパック形式→数値文字列変換を行う
形式
 String UnpackToString(byte inBuffer[], int offset, int size,
                       int decnum, int mark)
 throws VISConException
    
説明

入力されたinBufferのoffset位置からsize分のデータに対し、アンパック形式→数値文字列変換を行います。
変換した数値文字列は戻り値で返却します。
setCodeTypeで設定されたコード種別に従って変換します。

inBuffer - 変換対象バイト配列
offset - 変換開始位置
size - 変換サイズ
decnum - 小数部桁数
mark - 符号有無
VCN_DATA_SIGNED符号有り
VCN_DATA_UNSIGNED符号なし
VCN_DATA_LEADSEPSIGN IS LEADING SEPARATE
VCN_DATA_TRAILSEPSIGN IS TRAILING SEPARATE
VCN_DATA_LEADSIGN IS LEADING
VCN_DATA_TRAILSIGN IS TRAILING

変換対象バイト配列はoffset+size以上の大きさが必要です。
VCN_DATA_LEADSEP、VCN_DATA_TRAILSEPを指定する場合は、sizeに総桁数+符号部(1バイト)を設定してください。
コード種別の設定については、setCodeTypeを参照してください。

戻り値 変換後の数値文字列
エラー VISConException:変換対象データが不正、変換対象データ領域が足りない
関連項目 ありません。


3.3.1.7. ShortToBin2


名称 ShortToBin2 - 入力されたdata(short型)を2バイトバイナリ形式に変換する
形式
 int ShortToBin2(byte outBuffer[], int offset, Short data)
 throws VISConException
    
説明

入力されたdata(short型)を2バイトバイナリ形式に変換します。
変換済みデータは、outBufferのoffset位置から2バイト分格納します。実際に格納したデータの長さは戻り値で返却します。
setEndianTypeで設定されたエンディアン種別に従って変換します。

outBuffer - 格納バイト配列
offset - 格納開始位置
data - 変換対象データ(Short型)

格納バイト配列は2バイト以上確保する必要があります。
エンディアン種別の設定については、setEndianTypeを参照してください。

戻り値 格納データの長さ
エラー VISConException:変換対象データが不正、格納領域が足りない
関連項目 ありません。


3.3.1.8. Bin2ToShort


名称 Bin2ToShort - 入力されたinBufferのoffset位置から2バイト分のデータに対し、2バイトバイナリ形式→Short型数値変換を行う
形式
 short Bin2ToShort(byte inBuffer[], int offset)
 throws VISConException
    
説明

入力されたinBufferのoffset位置から2バイト分のデータに対し、2バイトバイナリ形式→Short型数値変換を行います。
変換した数値データは戻り値で返却します。
setEndianTypeで設定されたエンディアン種別に従って変換します。

inBuffer - 変換対象バイト配列
offset - 変換開始位置

変換対象バイト配列はoffset+2以上の大きさが必要です。
エンディアン種別の設定については、setEndianTypeを参照してください。

戻り値 変換後の数値データ
エラー VISConException:変換対象データが不正、変換対象データ領域が足りない
関連項目 ありません。


3.3.1.9. IntToBin4


名称 IntToBin4 - 入力されたdata(int型)を4バイトバイナリ形式に変換する
形式
 int IntToBin4(byte outBuffer[], int offset, int data)
 throws VISConException
    
説明

入力されたdata(int型)を4バイトバイナリ形式に変換します。
変換済みデータは、outBufferのoffset位置から4バイト分格納します。実際に格納したデータの長さは戻り値で返却します。
setEndianTypeで設定されたエンディアン種別に従って変換します。

outBuffer - 格納バイト配列
offset - 格納開始位置
data - 変換対象データ(Short型)

格納バイト配列は4バイト以上確保する必要があります。
エンディアン種別の設定については、setEndianTypeを参照してください。

戻り値 格納データの長さ
エラー VISConException:変換対象データが不正、データ格納領域が足りない
関連項目 ありません。


3.3.1.10. Bin4ToInt


名称 Bin4ToInt - 入力されたinBufferのoffset位置から4バイト分のデータに対し、4バイトバイナリ形式→int型数値変換を行う
形式
 int Bin4ToInt(byte inBuffer[], int offset)
 throws VISConException
    
説明

入力されたinBufferのoffset位置から4バイト分のデータに対し、4バイトバイナリ形式→int型数値変換を行います。
変換した数値データは戻り値で返却します。
setEndianTypeで設定されたエンディアン種別に従って変換します。

inBuffer - 変換対象バイト配列
offset - 変換開始位置

変換対象バイト配列はoffset+4以上の大きさが必要です。
エンディアン種別の設定については、setEndianTypeを参照してください。

戻り値 変換後の数値データ
エラー VISConException:変換対象データが不正、変換対象データ領域が足りない
関連項目 ありません。


3.3.1.11. setCharsetSign


名称 setCharsetSign - アンパック形式の符号部分の文字集合&符号化種別を設定する
形式
 void setCharsetSign(int charSetSign)
    
説明

アンパックタイプの文字集合/符号化種別を設定します。 このAPIはSG値をオーバーライドしますので、動的に文字集合/符号化種別を変更したい場合に使用してください。

charSetSign - 文字集合&符号化種別
VCN_CHARSET_SIGN_ASCII_ASCIIASCII文字集合/ASCII符号
VCN_CHARSET_SIGN_ASCII_EBCDICASCII文字集合/EBCDIC符号
VCN_CHARSET_SIGN_EBCDIC_EBCDICEBCDIC文字集合/EBCDIC符号

戻り値 ありません。
エラー ありません。
関連項目 SG項目:CharSetSign


3.3.1.12. getCharsetSign


名称 getCharsetSign - アンパック形式の符号部分の文字集合&符号化種別を取得する
形式
 int getCharsetSign()
    
説明

現在設定されているアンパックタイプの文字集合/符号化種別を取得します。

戻り値

charSetSign - 文字集合&符号化種別
VCN_CHARSET_SIGN_ASCII_ASCIIASCII文字集合/ASCII符号
VCN_CHARSET_SIGN_ASCII_EBCDICASCII文字集合/EBCDIC符号
VCN_CHARSET_SIGN_EBCDIC_EBCDICEBCDIC文字集合/EBCDIC符号

エラー ありません。
関連項目 SG項目:CharSet-Sign


3.3.1.13. setVisEditMode


名称 setVisEditMode - VIS画面編集モードを設定する
形式
 void setVisEditMode(boolean visEditMode)
    
説明

VIS画面編集モードを設定します。

visEditMode - VIS画面編集モードか否か
trueVIS画面編集モードである
falseVIS画面編集モードではない

戻り値 ありません。
エラー ありません。
関連項目 SG項目:VisEditMode