ここは旧式の4DドキュメントWebサイトです。最新のアップデートされたドキュメントを読むには新サイトをご利用下さい→ developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
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 R7)