| 4D v20.1GET SERIAL PORT MAPPING | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
 | 
    4D v20.1
 GET SERIAL PORT MAPPING 
         | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET SERIAL PORT MAPPING ( numArray ; nameArray ) | ||||||||
| 引数 | 型 | 説明 | ||||||
| numArray | 倍長整数配列 |   | ポート番号の配列 | |||||
| nameArray | 文字配列 |   | ポート名の配列 | |||||
GET SERIAL PORT MAPPING コマンドはマシンのシリアルポート番号とシリアルポート名を、2つの配列numArray と nameArrayに返します。
Mac OS Xでは、USBシリアルアダプターの使用時に、OSがポート番号を動的に割り当てるため、このコマンドが役立ちます。シリアルポートの実際のIDとは関係なく、その名前(固定)を用いてシリアルポートを取り扱うことができます。
Note: このコマンドは標準ポートでは、意味ある値を返しません。標準ポートを使用する場合は、SET CHANNELコマンドに旧方式である0または1のポート番号を指定してください。
このプロジェクトメソッドは、割り当てられたシリアルポート番号に関係なく同じシリアルポートを取得するために使用できます:
 ARRAY TEXT($arrPortNames;0)
 ARRAY LONGINT($arrPortNums;0)
 C_LONGINT($vPortNum;$vFinalPortNum)
 
  // シリアルポートの現在の番号を取得
 GET SERIAL PORT MAPPING($arrPortNums;$arrPortNames)
 $vPortNum:=Find in array($arrPortNames;vPortName)
  // vPortName には使用するポートの名前が格納されている;
  // この値はダイアログで設定したり、フィールドに格納されている
 If(arrPortNums{$vPortNum}=0)
    $vFinalPortNum:=0 // macOS 環境下での特殊なケース
 Else
    $vFinalPortNum:=arrPortNums{$vPortNum}+100
 End if
 SET CHANNEL($vFinalPortNum;params) // params には通信パラメタが格納されている
 ... // 処理を実行
 SET CHANNEL(11) // ポートを閉じる
	プロダクト: 4D
	テーマ: 通信
	番号: 
        909
        
        
        
	
	初出: 4D 2004 
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	ランゲージリファレンス ( 4D v20)
	
	
	ランゲージリファレンス ( 4D v20.1)
	
	
	
 コメントを追加
コメントを追加