LINEINPUT  (ステートメント)


RS232CおよびEthernetポートからデリミタまでのデータを読み込み、文字列型変数に代入します。


LINEINPUT [#<回線番号>,] <文字列型変数名>[,WTIME=<タイムアウト時間> [,RVAL=<格納変数>]]


RS232CおよびEthernetポートに受信したデータから、デリミタ(CRまたはCR+LF)の直前までのすべての文字を、<文字列型変数名>で指定した変数に格納します。デリミタは、変数には読み込まれません。
<回線番号>には、使用するRS232CおよびEthernetポートの回線番号を指定します。<回線番号>を省略するとデフォルト値のch2となります。ch1はティーチングペンダント用に使用するため指定できません。 (「2.4.1 回線番号」参照)
<文字列変数名>には、文字列型変数の名前を指定します。
<タイムアウト時間> [RC7_Ver2.2以降]
指定時間内にデリミタの入力がない場合、lineinput文の実行を終了し、次のコマンドに制御が移ります。単位はmsですが、実際の遅延時間は1/60s単位で増減します。
<格納変数> [RC7_Ver2.2以降]
<タイムアウト時間>の設定と対で使います。入力データを受けて正常に抜けた場合TRUE(1)が入り、タイムアウトで抜けたときは指定した変数にFALSE(0)が入ります。


DEFSTR ls1,ls2,ls3,ls4
DEFINT li
LINEINPUT #0, ls1
'ポート1から文字列を受信し、ls1へ代入します。
LINEINPUT #1, ls2
'ポート2から文字列を受信し、ls2へ代入します。
LINEINPUT ls3
'ポート2から文字列を受信し、ls3へ代入します。
LINEINPUT #1,ls4,WTIME=100,RVAL=li
'デリミタまでの入力がない場合、100msec
'時間後次のコマンドへ処理が移ります。
'liにはタイムアウトで抜けたことを表す
'0が入ります。