Print #

指定されたファイル, 通信ポート, データベースまたはデバイスにデータを出力します。

書式
Print #ポート番号, 出力データ [ ,出力データ... ][ , ]

パラメーター

ポート番号
ファイル, 通信ポート, データベースまたはデバイスを示すID番号です。ファイル番号は、ROpen, WOpen, AOpen などのステートメントで指定した番号です。通信ポート番号はOpenCom (RS-232C)またはOpenNet (TCP/IP)ステートメントで指定した番号です。データベース番号は、OpenDBステートメントで指定した番号です。
デバイスIDは以下の数値です。

  • 21 RC+
  • 20 TP4
出力データ...
数値、あるいは文字列を指定します。
, (カンマ)
ステートメントの終わりにカンマがあると、改行されません。省略可能です。

解説
Print # は、ポート番号で指定された通信ポートまたはデバイスに、変数データ, 数値, あるいは文字列を出力します。

注意


  • 使用可能なコントローラーについて

    T/VTシリーズでは、コントローラーのRS-232Cポートを指定した場合、動作時エラーとなります。

  • 最大データ長

    • 最大データ長

    本命令が一度にあつかえる最大データ長は、256 Byteです。ただし、データベースが対象の場合は、4096 Byteが最大データ長になります。通信ポート(TCP/IP)が対象の場合は、1024 Byteが最大データ長になります。

  • 他のコントローラーと変数のやりとりをする場合

    複数の文字列変数、および、数値変数と文字列変数の両方を指定するときには、文字列データはデリミター (",")を明示的に追加する必要があります。

    [コントローラー間で、通信ポートを使って文字列変数, 数値変数をやりとりする例]

    送信側 (どちらのパターンでもOKです。)

    Print #PortNum, "$Status,", InData, OutData
    Print #PortNum, "$Status", ",",InData, OutData
    

    受信側

    Input #PortNum, Response$, InData, OutData
    
  • ファイルへの書き込みはバッファリングされます

    バッファリングされたデータはFlushステートメントで書き込むことができます。Closeステートメントでファイルを閉じた場合も書き込まれます。

  • Print #命令は、Wait命令、または、動作命令と一緒に使用してください
    ループ文の中でPrint #命令だけを使用しないでください

    ループ文の中でPrint #命令だけを使用すると、コントローラーがハングアップ状態になる場合があります。

    コントローラーの負荷状態によってはWait命令、または、動作命令を使用していても、情報が正しく表示されない場合があります。Wait時間を0.1 (秒)以上設けてください。

    悪い例

    Do
        Print #24,"1234"
    Loop
    

    良い例

    Do
        Print #24,"1234"
        Wait 1
    Loop
    

参照
Input #, Print, Write, WriteBin

Print #使用例
Print # を使った簡単な例です。

Function printex
  String temp$
  Print #1, "5"    ' "5"をポート1に出力 temp$ = "hello"
  Print #1, temp$
  Print #2, temp$
  Print #1 " Next message for " + Chr$(34) + "port 1" + Chr$(34)
  Print #2 " Next message for " + Chr$(34) + "port 2" + Chr$(34)
Fend