Input #
ファイル, 通信ポート, データベース, またはデバイスから、文字列か数値をデータ入力し、変数に保存します。
書式
Input #ポート番号, 変数名 [ , 変数名, 変数名,... ]
パラメーター
- ポート番号
- ファイル, 通信ポート, データベース, またはデバイスを示すID番号です。ファイル番号は、ROpen, WOpen, AOpen などのステートメントで指定した番号です。通信ポート番号は、OpenCom (RS-232C)またはOpenNet (TCP/IP)ステートメントで指定した番号です。データベース番号は、OpenDBステートメントで指定した番号です。
デバイスIDは以下の数値です。- 21 RC+
- 20 TP4
- 変数名
- データを受け取る変数名を指定します。
解説
Input # 命令は、ポート番号で指定したデバイスから数値または文字列データを受け取り、そのデータを指定する変数に入力します。
注意
使用可能なコントローラーについて
T/VTシリーズでは、コントローラーのRS-232Cポートを指定した場合、動作時エラーとなります。
数値入力の規則
数値入力をする際、デリミター以外の非数値データがあると、その非数値データと、それ以降のデータは切り捨てられます。
文字列入力の規則
文字列に代入するときは、数字とアルファベットが文字として扱われます。
最大データ長
本命令が一度にあつかえる最大データ長は、256 Byteです。ただし、データベースが対象の場合は、4096 Byteが最大データ長になります。通信ポート(TCP/IP)が対象の場合は、1024 Byteが最大データ長になります。
その他の Input # 命令に関する規則
複数の変数を代入先に指定するときは、それぞれに代入する数値データは、必ずデリミター (",")または空白 (" ")で区切ります。
複数の文字列変数、および数値変数と文字列変数の両方を指定するときには、数値データは、必ずデリミター (",")、または空白 (" ")で区切り、文字列データは必ずデリミター (",")で区切る必要があります。
入力データ型は代入先の変数型に適合していなければなりません。
コントローラー間で、通信ポートを使って文字列変数, 数値変数をやりとりする例
送信側 (どちらのパターンでもOKです。)
Print #PortNum, "$Status,", InData, OutData Print #PortNum, "$Status", ",",InData, OutData受信側
Input #PortNum, Response$, InData, OutData
起こりやすいエラー
指定された変数の数と入力データの数が合わないとき
命令で指定された変数の数とデバイスから受け取った数値データの数が合わないと、エラー2505になります。
参照
Input, Line Input, Line Input #, Print #, Read, ReadBin
Input #使用例
下記はInput # ステートメントを使った簡単な例です。
Function GetData
Integer A
String B$
OpenCom #1
Print #1, "Send"
Input #1, A 'ポート#1から数値を取得
Input #1, B$ 'ポート#1から文字列を取得
CloseCom #1
Fend