ホスト・アクセス・クラス・ライブラリーの自動化オブジェクトを使用すると、 パーソナル・コミュニケーションズ製品が Microsoft® の COM ベースのオートメーション技術 (以前は OLE オートメーションと呼ばれていた) をサポートできるように なります。ECL 自動化オブジェクトは、一連の自動化サーバーであり、これを使用することによって、 自動化コントローラー (Microsoft Visual Basic など) が、プログラマチックにパーソナル・コミュニケーションズのデータおよび機能にアクセスすることができます。
この例として、キーをパーソナル・コミュニケーションズの 表示スペースに送信することを考慮します。これは、「パーソナル・コミュニケーションズ」ウィンドウでキーを入力すること により実行できますが、適切なパーソナル・コミュニケーションズの自動化サーバー (この場合、autECLPS) を使用して自動処理することもできます。Visual Basic を使用して、autECLPS オブジェクトを作成し、 表示スペースに配置されるストリングを使用して、 そのオブジェクトの SendKeys メソッドを呼び出します。
言い替えると、自動化プロトコルを制御できる アプリケーション (自動化コントローラー) は、パーソナル・コミュニケーションズの操作の一部 (自動化サーバー) を制御することができます。 パーソナル・コミュニケーションズは、ECL 自動化オブジェクトを使用する Visual Basic Script をサポートしています。 詳細については、パーソナル・コミュニケーションズの マクロやスクリプトのサポートについて参照してください。
パーソナル・コミュニケーションズは、これを実行するためにいくつかの 自動化サーバーを提供しています。 これらのサーバーは、直感的に理解できる身近なオブジェクトとして、そして パーソナル・コミュニケーションズの操作容易性を制御するメソッドとプロパティーを持つものとして実装されています。 各オブジェクトは、自動化 ホスト・アクセス・クラス・ライブラリーで あることを表す autECL で始まります。 オブジェクトは、以下のとおりです。
図 3 に、autECL オブジェクトを図形的に表現します。
この章は、それぞれのオブジェクトのメソッドおよびプロパティーを詳細に説明しており、 自動化オブジェクトを使用する潜在的可能性のあるすべてのユーザーを対象にしています。 オブジェクトは、Visual Basic などのスクリプト・アプリケーションを介して使用する場合が一般的であるため、例ではすべて Visual Basic 形式を使用しています。
autSystem クラスは、一部のプログラム言語で使用する場合に役立つ 2 つのユーティリティー関数を提供します。 詳細については、autSystem クラスを参照してください。
autECLConnList には、 すべての開始された接続についての情報が含まれています。 登録されている名前は、PCOMM.autECLConnList です。
autECLConnList オブジェクトには、ホストへの接続についての情報の集合が 含まれています。集合の各要素は、単一の接続 (エミュレーター・ウィンドウ) を 示しています。このリスト内の接続は、どのような状態 (例えば、停止または切断) にあるものでも構いません。 すべての開始済みの接続が、このリストに示されます。 リスト要素には、接続の状態が入っています。
autECLConnList オブジェクトは、現在の接続の 静的スナップショットを提供します。このリストは、接続の開始および停止時に動的に更新されることは ありません。Refresh メソッドは、autECLConnList オブジェクトの作成時に自動的に呼び出されます。autECLConnList オブジェクトをその作成後すぐ後に使用すると、 接続のリストは最新になります。 しかし、作成後しばらくたった場合は、確実に現在のデータを取得するためには、 他のメソッドにアクセスする前に autECLConnList オブジェクトで Refresh メソッドを 呼び出さなければなりません。 一度 Refresh を呼び出せば、集合の内容をすべて調べることができます。
このセクションでは、autECLConnList オブジェクトの プロパティーについて説明します。
型 | 名前 | 属性 |
---|---|---|
Long | Count | 読み取り専用 |
これは、Refresh メソッドへの最後の呼び出しに 関する autECLConnList 集合にある接続の数です。Count プロパティーは、Long データ型で読み取り専用 です。以下の例では、Count プロパティーを使用しています。
Dim autECLConnList as Object Dim Num as Long Set autECLConnList = CreateObject("PCOMM.autECLConnList") autECLConnList.Refresh Num = autECLConnList.Count
以下の表は、集合要素プロパティーを示しています。 これは、リスト内の各項目に有効です。
型 | 名前 | 属性 |
---|---|---|
String | Name | 読み取り専用 |
Long | Handle | 読み取り専用 |
String | ConnType | 読み取り専用 |
Long | CodePage | 読み取り専用 |
Boolean | Started | 読み取り専用 |
Boolean | CommStarted | 読み取り専用 |
Boolean | APIEnabled | 読み取り専用 |
Boolean | Ready | 読み取り専用 |
この集合要素プロパティーは、接続の接続名ストリングです。 パーソナル・コミュニケーションズは、短い文字 ID (A から Z、または a から z) のみをストリングで戻します。 パーソナル・コミュニケーションズ接続でオープンできるのは、1 つの 名前につき 1 つしかありません。例えば、 一度に 1 つの接続 "A" のみをオープンできます。 Name は、String データ型で読み取り専用です。以下の例では、Name 集合要素プロパティーを使用しています。
Dim Str as String Dim autECLConnList as Object Dim Num as Long Set autECLConnList = CreateObject("PCOMM.autECLConnList") autECLConnList.Refresh Str = autECLConnList(1).Name
この集合要素プロパティーは、接続のハンドルです。 特定の 1 つのハンドルに対して 1 つしか、 パーソナル・コミュニケーションズ接続をオープンできません。Handle は、Long データ型で読み取り専用です。 以下の例では、Handle 集合要素プロパティーを使用しています。
Dim autECLConnList as Object Dim Hand as Long Set autECLConnList = CreateObject("PCOMM.autECLConnList") autECLConnList.Refresh Hand = autECLConnList(1).Handle
この集合要素プロパティーは、接続タイプです。 このタイプは、時間の経過とともに変更する場合が あります。ConnType は、String データ型で読み取り専用です。 以下の例で、ConnType プロパティーを示します。
Dim Type as String Dim autECLConnList as Object Set autECLConnList = CreateObject("PCOMM.autECLConnList") autECLConnList.Refresh Type = autECLConnList(1).ConnType
ConnType プロパティーの接続タイプは、以下のとおりです。
戻されるストリング | 意味 |
DISP3270 | 3270 ディスプレイ |
DISP5250 | 5250 ディスプレイ |
PRNT3270 | 3270 プリンター |
PRNT5250 | 5250 プリンター |
ASCII | VT エミュレーション |
この集合要素プロパティーは、接続のコード・ページです。 このコード・ページは、時間の経過とともに変更される場合があります。CodePage は、Long データ型で読み取り専用です。以下の例で、CodePage プロパティーを示します。
Dim CodePage as Long Dim autECLConnList as Object Set autECLConnList = CreateObject("PCOMM.autECLConnList") autECLConnList.Refresh CodePage = autECLConnList(1).CodePage
この集合要素プロパティーで、 エミュレーター・ウィンドウが開始されたかどうかを示します。 ウィンドウがオープンしている場合、値は True です。 その他の場合は False です。Started は、Boolean データ型で読み取り専用です。 以下の例で、Started プロパティーを示します。
Dim autECLConnList as Object Set autECLConnList = CreateObject("PCOMM.autECLConnList") autECLConnList.Refresh ' This code segment checks to see if is started. ' The results are sent to a text box called Result. If Not autECLConnList(1).Started Then Result.Text = "No" Else Result.Text = "Yes" End If
この集合要素プロパティーは、ホストへの接続の状況を示しています。 ホストが接続されている場合、値は True です。 その他の場合は False です。CommStarted は、Boolean データ型で読み取り専用です。 以下の例で、CommStarted プロパティーを示します。
Dim autECLConnList as Object Set autECLConnList = CreateObject("PCOMM.autECLConnList") autECLConnList.Refresh ' This code segment checks to see if communications are connected ' The results are sent to a text box called CommConn. If Not autECLConnList(1).CommStarted Then CommConn.Text = "No" Else CommConn.Text = "Yes" End If
この集合プロパティーで、エミュレーターが API 使用可能か どうかを示します。API 設定 (パーソナル・コミュニケーションズのウィンドウでは、 「ファイル」->「API の設定」を選択) の状態に応じて、 接続が可能な場合と、接続できない場合があります。エミュレーターが使用可能の場合には、True です。その他の場合には、False です。APIEnabled は、Boolean データ型で読み取り専用です。以下の例で、APIEnabled プロパティーを示します。
Dim autECLConnList as Object Set autECLConnList = CreateObject("PCOMM.autECLConnList") autECLConnList.Refresh ' This code segment checks to see if API is enabled. ' The results are sent to a text box called Result. If Not autECLConnList(1).APIEnabled Then Result.Text = "No" Else Result.Text = "Yes" End If
この集合要素プロパティーで、エミュレーター・ウィンドウが 開始されていて、API 使用可能で、そして接続されているかどうかを示します。 このプロパティーは、3 つのすべてのプロパティーを確認します。 エミュレーターが準備できている場合には、値は True です。 その他の場合には、False です。Ready は、Boolean データ型で読み取り専用です。 以下の例で、Ready プロパティーを示します。
Dim autECLConnList as Object Set autECLConnList = CreateObject("PCOMM.autECLConnList") autECLConnList.Refresh ' This code segment checks to see if X is ready. ' The results are sent to a text box called Result. If Not autECLConnList(1).Ready Then Result.Text = "No" Else Result.Text = "Yes" End If
以下のセクションで、autECLConnList オブジェクトに 有効なメソッドを説明します。
以下の集合要素メソッドは、リスト内の各項目に有効です。
Refresh メソッドは、 開始されたすべての接続のスナップショットを取得します。
void Refresh()
なし
なし
以下の例は、開始されたすべての接続のスナップショットを取得するため に Refresh メソッドを使用する方法を示しています。
Dim autECLPSObj as Object Dim autECLConnList as Object Set autECLPSObj = CreateObject("PCOMM.autECLPS") Set autECLConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection autECLConnList.Refresh autECLPSObj.SetConnectionByHandle(autECLConnList(1).Handle)
このメソッドは、 Hand パラメーターで渡されるハンドル の autECLConnList オブジェクトでの要素を見つけます。 このメソッドは通常、与えられた接続がシステムで活動状態であるか を確認するために使用されます。
Object FindConnectionByHandle(Long Hand)
以下の例は、接続ハンドルにより要素を見つける方法を示しています。
Dim Hand as Long Dim autECLConnList as Object Dim ConnObj as Object Set autECLConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the collection autECLConnList.Refresh ' Assume Hand obtained earlier Set ConnObj = autECLConnList.FindConnectionByHandle(Hand) Hand = ConnObj.Handle
このメソッドは、Name パラメーターで 渡される名前の autECLConnList オブジェクトでの要素を見つけます。 このメソッドは通常、与えられた接続がシステムで活動状態であるか を確認するために使用されます。
Object FindConnectionByName(String Name)
以下の例は、接続名により autECLConnList オブジェクト内の要素を 見つける方法を示しています。
Dim Hand as Long Dim autECLConnList as Object Dim ConnObj as Object Set autECLConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the collection autECLConnList.Refresh ' Assume Hand obtained earlier Set ConnObj = autECLConnList.FindConnectionByName("A") Hand = ConnObj.Handle
StartCommunication 集合要素メソッドは、 ホスト・データ・ストリームに PCOMM エミュレーターを接続します。 これは、PCOMM エミュレーター「通信」メニューを表示して「接続」を選んだ場合と同じ結果になります。
void StartCommunication()
なし
なし
以下の例は、PCOMM エミュレーター・セッションをホストへ接続する方法を示しています。
Dim autECLConnList as Object Set autECLConnList = CreateObject("PCOMM.autECLConnList") 'Start the first session autECLConnList.Refresh autECLConnList(1).StartCommunication()
StopCommunication 集合要素メソッドは、 ホスト・データ・ストリームから PCOMM エミュレーターを切断します。 これは、PCOMM エミュレーターの「通信」メニューを表示して 「切断」を選んだ場合 と同じ結果になります。
void StopCommunication()
なし
なし
以下の例は、ホストから PCOMM エミュレーター・セッションを切断する方法を示したものです。
Dim autECLConnList as Object Set autECLConnList = CreateObject("PCOMM.autECLConnList") 'Start the first session autECLConnList.Refresh autECLConnList(1).StartCommunication() ' 'Interact programmatically with host ' autECLConnList.Refresh 'Stop the first session autECLConnList(1).StartCommunication()
autECLConnMgr は、 マシン上のすべてのパーソナル・コミュニケーションズ接続を管理します。 これには、接続の開始および停止など、接続の管理に関連するメソッドが含まれています。 また、autECLConnList オブジェクトを作成して、システムで認知されている すべての接続のリストを列挙します (autECLConnList クラスを参照)。 登録されている名前は、PCOMM.autECLConnMgr です。
このセクションでは、autECLConnMgr オブジェクトの プロパティーについて説明します。
型 | 名前 | 属性 |
---|---|---|
autECLConnList オブジェクト | autECLConnList | 読み取り専用 |
autECLConnMgr オブジェクトには、autECLConnList オブジェクトが 含まれています。このメソッドおよびプロパティーの詳細については、 autECLConnList クラスを参照してください。 プロパティーには、autECLConnList の値があります。 これは、autECLConnList ディスパッチ・オブジェクトです。 以下の例は、このプロパティーを示しています。
Dim Mgr as Object Dim Num as Long Set Mgr = CreateObject("PCOMM.autECLConnMgr ") Mgr.autECLConnList.Refresh Num = Mgr.autECLConnList.Count
以下のセクションで、autECLConnMgr オブジェクトに有効な メソッドを説明します。
このメソッドは、セッションで開始イベントの通知を受け取るため の autECLConnMgr オブジェクトを登録します。
なし
なし
例は、イベント処理の例を参照してください。
開始イベントの処理を終了します。
なし
なし
例は、イベント処理の例を参照してください。
このメンバー関数は、 新しいパーソナル・コミュニケーションズのエミュレーター・ウィンドウを 開始します。ConfigParms ストリングには、使用上の注意で 説明されているとおりの接続構成情報が入っています。
void StartConnection(String ConfigParms)
なし
構成ストリングは、インストール・システムによって異なります。 異なるインストール・システム上の autECL オブジェクトには、 構成ストリングに異なる形式または情報が必要とされる場合があります。 新しいエミュレーターはこの呼び出しの応答として開始されますが、 ホストに接続される場合もあれば、接続されない場合もあります。
パーソナル・コミュニケーションズの場合、構成ストリングの形式は次のようになります。
PROFILE=[']<filename>['] [CONNNAME=<c>] [WINSTATE=<MAX|MIN|RESTORE|HIDE>]
オプションのパラメーターは、大括弧 [] で囲みます。 パラメーターは、少なくとも 1 つのブランクで区切ります。 パラメーターは、大文字、小文字、または混合のいずれでも指定可能で、 順序も任意です。各パラメーターの意味は、次のとおりです。
以下の例は、新しいパーソナル・コミュニケーションズのエミュレーター・ウィンドウを 開始する方法を示します。
Dim Mgr as Object Dim Obj as Object Dim Hand as Long Set Mgr = CreateObject("PCOMM.autECLConnMgr ") Mgr.StartConnection("profile=coax connname=e")
StopConnection メソッドは、 接続ハンドルにより識別されるエミュレーター・ウィンドウを停止 (終了) します。StopParms ストリングの内容の詳細については、使用上の注意を 参照してください。
void StopConnection(Variant Connection, [optional] String StopParms)
なし
停止パラメーター・ストリングは、インストール・システムに応じて異なります。 異なるインストール・システム上の autECL オブジェクトには、異なる形式または内容の パラメーター・ストリングが必要とされる場合があります。 パーソナル・コミュニケーションズの場合、ストリングは 以下の形式を持っています。
[SAVEPROFILE=<YES|NO|DEFAULT>]
オプションのパラメーターは、大括弧 [] で囲みます。 パラメーターは、少なくとも 1 つのブランクで区切ります。 パラメーターは、大文字、小文字、または混合のいずれでも指定可能で、 順序も任意です。各パラメーターの意味は、次のとおりです。
以下の例は、接続ハンドルにより識別されるエミュレーター・ウィンドウを 停止する方法を示します。
Dim Mgr as Object Dim Hand as Long Set Mgr = CreateObject("PCOMM.autECLConnMgr ") ' Assume we've got connections open and the Hand parm was obtained earlier Mgr.StopConnection Hand, "saveprofile=no" 'or Mgr.StopConnection "B", "saveprofile=no"
以下のイベントは autECLConnMgr に有効です。
セッションが開始あるいは停止しました。
例は、イベント処理の例を参照してください。
このイベントは、イベント処理でエラーが発生したときに起こります。
なし
例は、イベント処理の例を参照してください。
このイベントは、イベント処理が停止したときに起こります。
以下は、開始イベントの実装方法についての簡単な例です。
Option Explicit Private WithEvents mCmgr As autECLConnMgr 'AutConnMgr added as reference dim mSess as object sub main() 'Create Objects Set mCmgr = New autECLConnMgr Set mSess = CreateObject("PCOMM.autECLSession") mCmgr.RegisterStartEvent 'register for PS Updates ' Display your form or whatever here (this should be a blocking call, otherwise sub just ends call DisplayGUI() mCmgr.UnregisterStartEvent set mCmgr = Nothing set mSess = Nothing End Sub 'This sub will get called when a session is started or stopped Private Sub mCmgr_NotifyStartEvent(Handle as long, bStarted as Boolean) ' do your processing here if (bStarted) then mSess.SetConnectionByHandle Handle end if End Sub 'This event occurs if an error happens Private Sub mCmgr_NotifyStartError() 'Do any error processing here End Sub Private Sub mCmgr_NotifyStartStop(Reason As Long) 'Do any stop processing here End Sub
autECLFieldList は、 エミュレーター表示スペースでのフィールドの操作を実行します。 このオブジェクトは、単体として独立してはいません。 これは autECLPS に含まれ、autECLPS オブジェクトを介してのみアクセスされます。 autECLPS は、独立している場合も、autECLSession に含まれる場合もあります。
autECLFieldList には、表示スペースの すべてのフィールドの集合が含まれます。 集合の各要素には、集合要素プロパティーに示されている要素が含まれます。
autECLFieldList オブジェクトは、Refresh メソッドが 呼び出されたときに表示スペースにあった 静的スナップショットを提供します。
このセクションでは、autECLFieldList オブジェクトの プロパティーおよび集合要素プロパティーについて説明します。
型 | 名前 | 属性 |
---|---|---|
Long | Count | 読み取り専用 |
このプロパティーは、Refresh メソッドへの最後の 呼び出しでの autECLFieldList 集合にあるフィールドの 数です。Count は、Long データ型で読み取り専用です。 以下の例は、このプロパティーを示しています。
Dim NumFields as long Dim autECLPSObj as Object Dim autECLConnList as Object Set autECLPSObj = CreateObject("PCOMM.autECLPS") Set autECLConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection autECLConnList.Refresh autECLPSObj.SetConnectionByHandle(autECLConnList(1).Handle) ' Build the list and get the number of fields autECLPSObj.autECLFieldList.Refresh(1) NumFields = autECLPSObj.autECLFieldList.Count
以下のプロパティーは集合要素プロパティーであり、 リストの各項目に有効です。
型 | 名前 | 属性 |
---|---|---|
Long | StartRow | 読み取り専用 |
Long | StartCol | 読み取り専用 |
Long | EndRow | 読み取り専用 |
Long | EndCol | 読み取り専用 |
Long | Length | 読み取り専用 |
Boolean | Modified | 読み取り専用 |
Boolean | Protected | 読み取り専用 |
Boolean | Numeric | 読み取り専用 |
Boolean | HighIntensity | 読み取り専用 |
Boolean | PenDetectable | 読み取り専用 |
Boolean | Display | 読み取り専用 |
この集合要素プロパティーは、autECLFieldList 集合で 与えられたフィールドの最初の文字の行位置です。StartRow は、Long データ型で読み取り専用です。 以下の例は、このプロパティーを示しています。
Dim StartRow as Long Dim StartCol as Long Dim autECLPSObj as Object Dim autECLConnList as Object Set autECLPSObj = CreateObject("PCOMM.autECLPS") Set autECLConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection autECLConnList.Refresh autECLPSObj.SetConnectionByHandle(autECLConnList(1).Handle) ' Build the list and get the number of fields autECLPSObj.autECLFieldList.Refresh(1) If (Not autECLPSObj.autECLFieldList.Count = 0 ) Then StartRow = autECLPSObj.autECLFieldList(1).StartRow StartCol = autECLPSObj.autECLFieldList(1).StartCol Endif
この集合要素プロパティーは、autECLFieldList 集合で 与えられたフィールドの最初の文字の桁位置です。StartCol は Long データ型 で読み取り専用です。 以下の例は、このプロパティーを示しています。
Dim StartRow as Long Dim StartCol as Long Dim autECLPSObj as Object Dim autECLConnList as Object Set autECLPSObj = CreateObject("PCOMM.autECLPS") Set autECLConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection autECLConnList.Refresh autECLPSObj.SetConnectionByHandle(autECLConnList(1).Handle) ' Build the list and get the number of fields autECLPSObj.autECLFieldList.Refresh(1) If (Not autECLPSObj.autECLFieldList.Count = 0 ) Then StartRow = autECLPSObj.autECLFieldList(1).StartRow StartCol = autECLPSObj.autECLFieldList(1).StartCol Endif
この集合要素プロパティーは、autECLFieldList 集合で 与えられたフィールドの最後の文字の行位置です。EndRow は Long データ型で 読み取り専用です。 以下の例は、このプロパティーを示しています。
Dim EndRow as Long Dim EndCol as Long Dim autECLPSObj as Object Dim autECLConnList as Object Set autECLPSObj = CreateObject("PCOMM.autECLPS") Set autECLConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection autECLConnList.Refresh autECLPSObj.SetConnectionByHandle(autECLConnList(1).Handle) ' Build the list and get the number of fields autECLPSObj.autECLFieldList.Refresh(1) If (Not autECLPSObj.autECLFieldList.Count = 0 ) Then EndRow = autECLPSObj.autECLFieldList(1).EndRow EndCol = autECLPSObj.autECLFieldList(1).EndCol Endif
この集合要素プロパティーは、autECLFieldList 集合で 与えられたフィールドの最後の文字の桁位置です。EndCol は、Long データ型で 読み取り専用です。 以下の例は、このプロパティーを示しています。
Dim EndRow as Long Dim EndCol as Long Dim autECLPSObj as Object Dim autECLConnList as Object Set autECLPSObj = CreateObject("PCOMM.autECLPS") Set autECLConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection autECLConnList.Refresh autECLPSObj.SetConnectionByHandle(autECLConnList(1).Handle) ' Build the list and get the number of fields autECLPSObj.autECLFieldList.Refresh(1) If (Not autECLPSObj.autECLFieldList.Count = 0 ) Then EndRow = autECLPSObj.autECLFieldList(1).EndRow EndCol = autECLPSObj.autECLFieldList(1).EndCol Endif
この集合要素プロパティーは、autECLFieldList 集合で 与えられたフィールドの長さです。Length は、Long データ型で読み取り専用です。 以下の例は、このプロパティーを示しています。
Dim Len as Long Dim autECLPSObj as Object Dim autECLConnList as Object Set autECLPSObj = CreateObject("PCOMM.autECLPS") Set autECLConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection autECLConnList.Refresh autECLPSObj.SetConnectionByHandle(autECLConnList(1).Handle) ' Build the list and get the number of fields autECLPSObj.autECLFieldList.Refresh(1) If (Not autECLPSObj.autECLFieldList.Count = 0 ) Then Len = autECLPSObj.autECLFieldList(1).Length Endif
この集合要素プロパティーは、autECLFieldList 集合内の与えられたフィールドに 修正された属性があるかどうかを示しています。Modified は、Boolean データ型で読み取り専用です。 以下の例は、このプロパティーを示しています。
Dim autECLPSObj as Object Dim autECLConnList as Object Set autECLPSObj = CreateObject("PCOMM.autECLPS") Set autECLConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection autECLConnList.Refresh autECLPSObj.SetConnectionByHandle(autECLConnList(1).Handle) ' Build the list and get the number of fields autECLPSObj.autECLFieldList.Refresh(1) If (Not autECLPSObj.autECLFieldList.Count = 0 ) Then If ( autECLPSObj.autECLFieldList(1).Modified ) Then ' do whatever Endif Endif
この集合要素プロパティーは、autECLFieldList 集合内の与えられたフィールドに 保護属性があるかどうかを示しています。Protected は、Boolean データ型で読み取り専用です。 以下の例は、このプロパティーを示しています。
Dim autECLPSObj as Object Dim autECLConnList as Object Set autECLPSObj = CreateObject("PCOMM.autECLPS") Set autECLConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection autECLConnList.Refresh autECLPSObj.SetConnectionByHandle(autECLConnList(1).Handle) ' Build the list and get the number of fields autECLPSObj.autECLFieldList.Refresh(1) If (Not autECLPSObj.autECLFieldList.Count = 0 ) Then If ( autECLPSObj.autECLFieldList(1).Protected ) Then ' do whatever Endif Endif
この集合要素プロパティーは、autECLFieldList 集合内の与えられたフィールドに 数字入力専用の属性があるかどうかを示します。Numeric は、Boolean データ型で読み取り専用です。 以下の例は、このプロパティーを示しています。
Dim autECLPSObj as Object Dim autECLConnList as Object Set autECLPSObj = CreateObject("PCOMM.autECLPS") Set autECLConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection autECLConnList.Refresh autECLPSObj.SetConnectionByHandle(autECLConnList(1).Handle) ' Build the list and get the number of fields autECLPSObj.autECLFieldList.Refresh(1) If (Not autECLPSObj.autECLFieldList.Count = 0 ) Then If ( autECLPSObj.autECLFieldList(1).Numeric ) Then ' do whatever Endif Endif
この集合要素プロパティーは、autECLFieldList 集合内の与えられたフィールドに 高輝度属性があるかどうかを示しています。HighIntensity は、Boolean データ型で読み取り専用です。 以下の例は、このプロパティーを示しています。
Dim autECLPSObj as Object Dim autECLConnList as Object Set autECLPSObj = CreateObject("PCOMM.autECLPS") Set autECLConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection autECLConnList.Refresh autECLPSObj.SetConnectionByHandle(autECLConnList(1).Handle) ' Build the list and get the number of fields autECLPSObj.autECLFieldList.Refresh(1) If (Not autECLPSObj.autECLFieldList.Count = 0 ) Then If ( autECLPSObj.autECLFieldList(1).HighIntensity ) Then ' do whatever Endif Endif
この集合要素プロパティーは、autECLFieldList 集合内の 与えられたフィールドにペン検出可能属性があるかどうかを 示しています。PenDetectable は、Boolean データ型で読み取り専用です。 以下の例は、このプロパティーを示しています。
Dim autECLPSObj as Object Dim autECLConnList as Object Set autECLPSObj = CreateObject("PCOMM.autECLPS") Set autECLConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection autECLConnList.Refresh autECLPSObj.SetConnectionByHandle(autECLConnList(1).Handle) ' Build the list and get the number of fields autECLPSObj.autECLFieldList.Refresh(1) If (Not autECLPSObj.autECLFieldList.Count = 0 ) Then If ( autECLPSObj.autECLFieldList(1).PenDetectable ) Then ' do whatever Endif Endif
この集合要素プロパティーは、autECLFieldList 集合内の与えられたフィールドに 表示属性があるかどうかを示します。Display は、Boolean データ型で読み取り専用です。 以下の例は、このプロパティーを示しています。
Dim autECLPSObj as Object Dim autECLConnList as Object Set autECLPSObj = CreateObject("PCOMM.autECLPS") Set autECLConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection autECLConnList.Refresh autECLPSObj.SetConnectionByHandle(autECLConnList(1).Handle) ' Build the list and get the number of fields autECLPSObj.autECLFieldList.Refresh(1) If (Not autECLPSObj.autECLFieldList.Count = 0 ) Then If ( autECLPSObj.autECLFieldList(1).Display ) Then ' do whatever Endif Endif
以下のセクションで、autECLFieldList オブジェクトに 有効なメソッドを説明します。
void Refresh() Object FindFieldByRowCol(Long Row, Long Col) Object FindFieldByText(String text, [optional] Long Direction, [optional] Long StartRow, [optional] Long StartCol) |
以下の集合要素メソッドは、リスト内の各項目に有効です。
Refresh メソッドは、 すべてのフィールドのスナップショットを取得します。
void Refresh()
なし
なし
以下の例は、所定の表示スペースについて、 すべてのフィールドのスナップショットを取得する方法を示しています。
Dim NumFields as long Dim autECLPSObj as Object Dim autECLConnList as Object Set autECLPSObj = CreateObject("PCOMM.autECLPS") Set autECLConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection autECLConnList.Refresh autECLPSObj.SetConnectionByHandle(autECLConnList(1).Handle) ' Build the list and get the number of fields autECLPSObj.autECLFieldList.Refresh() NumFields = autECLPSObj.autECLFieldList.Count
このメソッドは、所定の行および桁の 座標を含むフィールドを autECLFieldList オブジェクトで検索します。 戻される値は、autECLFieldList 集合の集合要素オブジェクトです。
Object FindFieldByRowCol(Long Row, Long Col)
以下の例は、所定の行および桁の座標を含む フィールドを autECLFieldList オブジェクトで検索する方法を示しています。
Dim autECLPSObj as Object Dim autECLConnList as Object Dim FieldElement as Object Set autECLPSObj = CreateObject("PCOMM.autECLPS") Set autECLConnList = CreateObject("PCOMM.autECLConnList) ' Initialize the connection autECLConnList.Refresh autECLPSObj.SetConnectionByHandle(autECLConnList(1).Handle) ' Build the list and search for field at row 2 col 1 autECLPSObj.autECLFieldList.Refresh(1) Set FieldElement = autECLPSObj.autECLFieldList.FindFieldByRowCol( 2, 1 ) FieldElement.SetText("IBM")
このメソッドは、テキストと して渡されたストリングを含むフィールドを autECLFieldList オブジェクトで検索します。 戻される値は、autECLFieldList 集合の集合要素オブジェクトです。
Object FindFieldByText(String Text, [optional] Long Direction, [optional] Long StartRow, [optional] Long StartCol)
以下の例は、テキストとして渡されたストリングを含むフィールド を autECLFieldList オブジェクトで検索する方法を示しています。
Dim autECLPSObj as Object Dim autECLConnList as Object Dim FieldElement as Object Set autECLPSObj = CreateObject("PCOMM.autECLPS") Set autECLConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection autECLConnList.Refresh autECLPSObj.SetConnectionByHandle(autECLConnList(1).Handle) ' Build the list and search for field with text autECLPSObj.autECLFieldList.Refresh(1) set FieldElement = autECLPSObj.autECLFieldList.FindFieldByText "IBM" ' Or... search starting at row 2 col 1 set FieldElement = autECLPSObj.autECLFieldList.FindFieldByText "IBM", 2, 1 ' Or... search starting at row 2 col 1 going backwards set FieldElement = autECLPSObj.autECLFieldList.FindFieldByText "IBM", 2, 2, 1 FieldElement.SetText("Hello.")
集合要素メソッド GetText は、autECLFieldList 項目内の 所定のフィールドの文字を検索します。
String GetText()
なし
以下の例は、GetText メソッドを使用する方法を示しています。
Dim autECLPSObj as Object Dim TestStr as String ' Initialize the connection Set autECLPSObj = CreateObject("PCOMM.autECLPS") autECLPSObj.SetConnectionByName("A") autECLPSObj.autECLFieldList.Refresh() TextStr = autECLPSObj.autECLFieldList(1).GetText()
このメソッドは、autECLFieldList 項目内の所定のフィールドに、 テキストとして渡された文字ストリングを入れます。このテキストがフィールドの長さを超える場合、テキストは 切り捨てられます。
void SetText(String Text)
なし
以下の例は、autECLFieldList 項目内のフィールドに、 テキストとして渡された文字ストリングを入れる方法を示しています。
Dim NumFields as Long Dim autECLPSObj as Object Dim autECLConnList as Object Set autECLPSObj = CreateObject("PCOMM.autECLPS") Set autECLConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection autECLConnList.Refresh autECLPSObj.SetConnectionByHandle(autECLConnList(1).Handle) ' Build the list and set the first field with some text autECLPSObj.autECLFieldList.Refresh(1) autECLPSObj.autECLFieldList(1).SetText("IBM is a cool company")
autECLOIA オブジェクトは、 ホスト・オペレーター情報域から状況を検索します。 登録されている名前は、PCOMM.autECLOIA です。
最初に、作成したオブジェクトの接続を設定しなければなりません。 SetConnectionByName または SetConnectionByHandle を使用して、 オブジェクトを初期設定します。 接続は一度しか設定できません。 接続が設定された後は、接続設定メソッドをさらに呼び出すと例外を引き起こします。 また、接続を設定せずにプロパティーまたはメソッドにアクセスしようとしても、 例外が引き起こされます。
以下の例は、Visual Basic で autECLOIA オブジェクトを作成し 設定する方法を示します。
DIM autECLOIA as Object Set autECLOIA = CreateObject("PCOMM.autECLOIA") autECLOIA.SetConnectionByName("A")
このセクションでは、autECLOIA オブジェクトの プロパティーを説明します。
型 | 名前 | 属性 |
---|---|---|
Boolean | Alphanumeric | 読み取り専用 |
Boolean | APL | 読み取り専用 |
Boolean | Katakana | 読み取り専用 |
Boolean | Hiragana | 読み取り専用 |
Boolean | DBCS | 読み取り専用 |
Boolean | UpperShift | 読み取り専用 |
Boolean | Numeric | 読み取り専用 |
Boolean | CapsLock | 読み取り専用 |
Boolean | InsertMode | 読み取り専用 |
Boolean | CommErrorReminder | 読み取り専用 |
Boolean | MessageWaiting | 読み取り専用 |
Long | InputInhibited | 読み取り専用 |
String | Name | 読み取り専用 |
Long | Handle | 読み取り専用 |
String | ConnType | 読み取り専用 |
Long | CodePage | 読み取り専用 |
Boolean | Started | 読み取り専用 |
Boolean | CommStarted | 読み取り専用 |
Boolean | APIEnabled | 読み取り専用 |
Boolean | Ready | 読み取り専用 |
Boolean | NumLock | 読み取り専用 |
このプロパティーは、オペレーター情報域を照会してカーソル位置のフィールドが 英数字かどうかを判別します。Alphanumeric は、Boolean データ型で読み取り専用です。 以下の例は、このプロパティーを示しています。
DIM autECLOIA as Object DIM autECLConnList as Object Set autECLOIA = CreateObject("PCOMM.autECLOIA") Set autECLConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection autECLConnList.Refresh autECLOIA.SetConnectionByHandle(autECLConnList(1).Handle) If autECLOIA.Alphanumeric Then...
このプロパティーは、オペレーター情報域を照会して、キーボードが APL モードかどうかを 判別します。APL は、Boolean データ型で読み取り専用です。 以下の例は、このプロパティーを示しています。
DIM autECLOIA as Object DIM autECLConnList as Object Set autECLOIA = CreateObject("PCOMM.autECLOIA") Set autECLConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection autECLConnList.Refresh autECLOIA.SetConnectionByHandle(autECLConnList(1).Handle) ' Check if the keyboard is in APL mode if autECLOIA.APL Then...
このプロパティーは、オペレーター情報域を照会してカタカナ文字が使用可能かどうかを 判別します。Katakana は、Boolean データ型で読み取り専用です。 以下の例は、このプロパティーを示しています。
DIM autECLOIA as Object DIM autECLConnList as Object Set autECLOIA = CreateObject("PCOMM.autECLOIA") Set autECLConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection autECLConnList.Refresh autECLOIA.SetConnectionByHandle(autECLConnList(1).Handle) ' Check if Katakana characters are available if autECLOIA.Katakana Then...
このプロパティーは、オペレーター情報域を照会して、ひらがな文字が使用可能かどうかを 判別します。Hiragana は、Boolean データ型で読み取り専用です。 以下の例は、このプロパティーを示しています。
DIM autECLOIA as Object DIM autECLConnList as Object Set autECLOIA = CreateObject("PCOMM.autECLOIA") Set autECLConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection autECLConnList.Refresh autECLOIA.SetConnectionByHandle(autECLConnList(1).Handle) ' Check if Hiragana characters are available if autECLOIA.Hiragana Then...
このプロパティーは、オペレーター情報域を照会して、カーソル位置のフィールドが DBCS かどうかを 判別します。DBCS は、Boolean データ型で読み取り専用です。 以下の例は、このプロパティーを示しています。
DIM autECLOIA as Object DIM autECLConnList as Object Set autECLOIA = CreateObject("PCOMM.autECLOIA") Set autECLConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection autECLConnList.Refresh autECLOIA.SetConnectionByHandle(autECLConnList(1).Handle) ' Check if DBCS is available if autECLOIA.DBCS Then...
このプロパティーは、オペレーター情報域を照会して、キーボードが上段シフト・モードかどうかを 判別します。Uppershift は、Boolean データ型で読み取り専用です。 以下の例は、このプロパティーを示しています。
DIM autECLOIA as Object DIM autECLConnList as Object Set autECLOIA = CreateObject("PCOMM.autECLOIA") Set autECLConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection autECLConnList.Refresh autECLOIA.SetConnectionByHandle(autECLConnList(1).Handle) ' Check if the keyboard is in uppershift mode If autECLOIA.UpperShift then...
このプロパティーは、オペレーター情報域を照会して、カーソル位置のフィールドが数字かどうかを 判別します。Numeric は、Boolean データ型で読み取り専用です。 以下の例は、このプロパティーを示しています。
DIM autECLOIA as Object DIM autECLConnList as Object Set autECLOIA = CreateObject("PCOMM.autECLOIA") Set autECLConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection autECLConnList.Refresh autECLOIA.SetConnectionByHandle(autECLConnList(1).Handle) ' Check if the cursor location is a numeric field If autECLOIA.Numeric Then...
このプロパティーは、オペレーター情報域を照会して、キーボード CapsLock キーがオンかどうかを 判別します。CapsLock は、Boolean データ型で読み取り専用です。 以下の例は、このプロパティーを示しています。
DIM autECLOIA as Object DIM autECLConnList as Object Set autECLOIA = CreateObject("PCOMM.autECLOIA") Set autECLConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection autECLConnList.Refresh autECLOIA.SetConnectionByHandle(autECLConnList(1).Handle) ' Check if the caps lock If autECLOIA.CapsLock Then...
このプロパティーは、オペレーター情報域を照会して、キーボードが挿入モードかどうかを 判別します。InsertMode は、Boolean データ型で読み取り専用です。 以下の例は、このプロパティーを示しています。
DIM autECLOIA as Object DIM autECLConnList as Object Set autECLOIA = CreateObject("PCOMM.autECLOIA") Set autECLConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection autECLConnList.Refresh autECLOIA.SetConnectionByHandle(autECLConnList(1).Handle) ' Check if in insert mode If autECLOIA.InsertMode Then...
このプロパティーは、オペレーター情報域を照会して、通信エラー状況メッセージ条件が存在するかどうかを 判別します。CommErrorReminder は、Boolean データ型で読み取り専用です。 以下の例は、このプロパティーを示しています。
DIM autECLOIA as Object DIM autECLConnList as Object Set autECLOIA = CreateObject("PCOMM.autECLOIA") Set autECLConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection autECLConnList.Refresh autECLOIA.SetConnectionByHandle(autECLConnList(1).Handle) ' Check if comm error If autECLOIA.CommErrorReminder Then...
このプロパティーは、オペレーター情報域を照会して、 メッセージ待ち標識がオンかどうかを判別します。 これは、5250 接続にのみ起こります。 MessageWaiting は、Boolean データ型で読み取り専用です。 以下の例は、このプロパティーを示しています。
DIM autECLOIA as Object DIM autECLConnList as Object Set autECLOIA = CreateObject("PCOMM.autECLOIA") Set autECLConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection autECLConnList.Refresh autECLOIA.SetConnectionByHandle(autECLConnList(1).Handle) ' Check if message waiting If autECLOIA.MessageWaiting Then...
このプロパティーは、オペレーター情報域を照会して、キーボード入力が使用禁止かどうかを 判別します。InputInhibited は、Long データ型で読み取り専用です。 以下の表は、InputInhibited に有効な値を示しています。
名前 | 値 |
---|---|
使用可能 | 0 |
システム待機 | 1 |
通信チェック | 2 |
プログラム・チェック | 3 |
マシン・チェック | 4 |
その他の禁止 | 5 |
以下の例は、このプロパティーを示しています。
DIM autECLOIA as Object DIM autECLConnList as Object Set autECLOIA = CreateObject("PCOMM.autECLOIA") Set autECLConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection autECLConnList.Refresh autECLOIA.SetConnectionByHandle(autECLConnList(1).Handle) ' Check if input inhibited If not autECLOIA.InputInhibited = 0 Then...
このプロパティーは、autECLOIA が設定された接続の 接続名ストリングです。 パーソナル・コミュニケーションズは、短い文字 ID (A から Z、または a から z) のみをストリングで戻します。 パーソナル・コミュニケーションズ接続でオープンできるのは、1 つの 名前につき 1 つしかありません。例えば、 一度に 1 つの接続 "A" のみをオープンできます。 Name は、String データ型で読み取り専用です。以下の例は、このプロパティーを示しています。
DIM Name as String DIM Obj as Object Set Obj = CreateObject("PCOMM.autECLOIA") ' Initialize the connection Obj.SetConnectionByName("A") ' Save the name Name = Obj.Name
これは、autECLOIA オブジェクトが設定された接続のハンドルです。 特定の 1 つのハンドルに対して 1 つしか、 パーソナル・コミュニケーションズ接続をオープンできません。例えば、 一度に 1 つの接続 "A" のみをオープンできます。 Handle は、Long データ型で読み取り専用です。 以下の例は、このプロパティーを示しています。
DIM Obj as Object Set Obj = CreateObject("PCOMM.autECLOIA") ' Initialize the connection Obj.SetConnectionByName("A") ' Save the handle Hand = Obj.Handle
これは、autECLOIA が設定された接続タイプです。 このタイプは、時間の経過とともに変更する場合が あります。ConnType は、String データ型で読み取り専用です。 以下の例は、このプロパティーを示しています。
DIM Type as String DIM Obj as Object Set Obj = CreateObject("PCOMM.autECLOIA") ' Initialize the connection Obj.SetConnectionByName("A") ' Save the type Type = Obj.ConnType
ConnType プロパティーの接続タイプは、以下のとおりです。
戻されるストリング | 意味 |
---|---|
DISP3270 | 3270 ディスプレイ |
DISP5250 | 5250 ディスプレイ |
PRNT3270 | 3270 プリンター |
PRNT5250 | 5250 プリンター |
ASCII | VT エミュレーション |
これは、autECLOIA が設定された接続のコード・ページです。 このコード・ページは、時間の経過とともに変更される場合があります。CodePage は、Long データ型で読み取り専用です。以下の例は、このプロパティーを示しています。
DIM CodePage as Long DIM Obj as Object Set Obj = CreateObject("PCOMM.autECLOIA") ' Initialize the connection Obj.SetConnectionByName("A") ' Save the code page CodePage = Obj.CodePage
これは、エミュレーター・ウィンドウが開始されたかどうかを示します。 ウィンドウがオープンしている場合、値は True です。 その他の場合は False です。Started は、Boolean データ型で読み取り専用です。 以下の例は、このプロパティーを示しています。
DIM Hand as Long DIM Obj as Object Set Obj = CreateObject("PCOMM.autECLOIA") ' Initialize the connection Obj.SetConnectionByName("A") ' This code segment checks to see if A is started. ' The results are sent to a text box called Result. If Obj.Started = False Then Result.Text = "No" Else Result.Text = "Yes" End If
これは、ホストへの接続の状況を示しています。 ホストが接続されている場合、値は True です。 その他の場合は False です。CommStarted は、Boolean データ型で読み取り専用です。 以下の例は、このプロパティーを示しています。
DIM Hand as Long DIM Obj as Object Set Obj = CreateObject("PCOMM.autECLOIA") ' Initialize the connection Obj.SetConnectionByName("A") ' This code segment checks to see if communications are connected ' for A. The results are sent to a text box called ' CommConn. If Obj.CommStarted = False Then CommConn.Text = "No" Else CommConn.Text = "Yes" End If
これは、エミュレーターが API 使用可能かどうかを示します。API 設定 (パーソナル・コミュニケーションズのウィンドウでは、 「ファイル」->「API の設定」を選択) の状態に応じて、 接続が可能な場合と、接続できない場合があります。エミュレーターが使用可能の場合には、True です。その他の場合には、False です。APIEnabled は、Boolean データ型で読み取り専用です。以下の例は、このプロパティーを示しています。
DIM Hand as Long DIM Obj as Object Set Obj = CreateObject("PCOMM.autECLOIA") ' Initialize the connection Obj.SetConnectionByName("A") ' This code segment checks to see if A is API enabled. ' The results are sent to a text box called Result. If Obj.APIEnabled = False Then Result.Text = "No" Else Result.Text = "Yes" End If
これは、エミュレーター・ウィンドウが 開始されていて、API 使用可能で、そして接続されているかどうかを示します。 このプロパティーは、3 つのすべてのプロパティーを確認します。 エミュレーターが準備できている場合には、値は True です。 その他の場合には、False です。Ready は、Boolean データ型で読み取り専用です。 以下の例は、このプロパティーを示しています。
DIM Hand as Long DIM Obj as Object Set Obj = CreateObject("PCOMM.autECLOIA") ' Initialize the connection Obj.SetConnectionByName("A") ' This code segment checks to see if A is ready. ' The results are sent to a text box called Result. If Obj.Ready = False Then Result.Text = "No" Else Result.Text = "Yes" End If
このプロパティーは、オペレーター情報域を照会して、 キーボード NumLock キーがオンかどうかを判別します。NumLock は、Boolean データ型で読み取り専用です。 以下の例は、このプロパティーを示しています。
DIM autECLOIA as Object DIM autECLConnList as Object Set autECLOIA = CreateObject ("PCOMM.autECLOIA") Set autECLConnList = CreateObject ("PCOMM.autECLConnList") ' Initialize the connection autECLConnList.Refresh autECLOIA.SetConnectionByFHandle (autECLConnList (1) .Handle) ' Check if the num lock is on If autECLOIA.NumLock Then . . .
以下のセクションで、autECLOIA に有効なメソッドを説明します。
このメソッドは、すべての OIA イベントの通知を受け取るためにオブジェクトを登録します。
なし
なし
例は、イベント処理の例を参照してください。
OIA イベント処理を終了します。
なし
なし
例は、イベント処理の例を参照してください。
この SetConnectionByName メソッドは、接続名を使用して、 新しく作成された autECLOIA オブジェクトの接続を設定します。 パーソナル・コミュニケーションズでは、この接続名は、短い接続 ID (文字 A から Z、または a から z) です。 パーソナル・コミュニケーションズ接続でオープンできるのは、1 つの 名前につき 1 つしかありません。例えば、 一度に 1 つの接続 "A" のみをオープンできます。
void SetConnectionByName (String Name)
なし
以下の例は、新しく作成された autECLOIA オブジェクトの接続を設定するために、 接続ハンドルを使用する方法を示します。
DIM autECLOIA as Object Set autECLOIA = CreateObject("PCOMM.autECLOIA") ' Initialize the connection autECLOIA.SetConnectionByName("A") ' For example, see if its num lock is on If ( autECLOIA.NumLock = True ) Then 'your logic here... Endif
この SetConnectionByHandle メソッドは、 接続ハンドルを使用して、新しく作成された autECLOIA オブジェクトの接続を設定します。 パーソナル・コミュニケーションズでは、この接続ハンドルは Long integer です。 特定の 1 つのハンドルに対して 1 つしか、 パーソナル・コミュニケーションズ接続をオープンできません。例えば、 一度に 1 つの接続 "A" のみをオープンできます。
void SetConnectionByHandle(Long Handle)
なし
以下の例は、接続ハンドルを使用して、新しく作成された autELCOIA オブジェクトの接続を 設定する方法を示します。
DIM autECLOIA as Object DIM autECLConnList as Object Set autECLOIA = CreateObject("PCOMM.autECLOIA") Set autECLConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection autECLConnList.Refresh autECLOIA.SetConnectionByHandle(autECLConnList(1).Handle) ' For example, see if its num lock is on If ( autECLOIA.NumLock = True ) Then 'your logic here... Endif
StartCommunication 集合要素メソッドは、 ホスト・データ・ストリームに PCOMM エミュレーターを接続します。 これは、PCOMM エミュレーター「通信」メニューを表示して「接続」を選んだ場合と同じ結果になります。
void StartCommunication()
なし
なし
なし
Dim OIAObj as Object Dim autECLConnList as Object Set autECLConnList = CreateObject("PCOMM.autECLConnList") Set OIAObj = CreateObject("PCOMM.autECLOIA") ' Initialize the session autECLConnList.Refresh OIAObj.SetConnectionByHandle(autECLConnList(1).Handle) OIAObj.StartCommunication()
StopCommunication 集合要素メソッドは、 ホスト・データ・ストリームから PCOMM エミュレーターを切断します。 これは、PCOMM エミュレーターの「通信」メニューを表示して 「切断」を選んだ場合 と同じ結果になります。
void StopCommunication()
なし
なし
以下の例は、PCOMM エミュレーター・セッションをホストへ接続する方法を示しています。
Dim OIAObj as Object Dim autECLConnList as Object Set autECLConnList = CreateObject("PCOMM.autECLConnList") Set OIAObj = CreateObject("PCOMM.autECLOIA") ' Initialize the session autECLConnList.Refresh OIAObj.SetConnectionByHandle(autECLConnList(1).Handle) OIAObj.StopCommunication()
WaitForInputReady メソッドは、autECLOIA オブジェクトに関連した接続の OIA が、 この接続にキーボード入力の受け入れが可能であることを示すまで待機します。
メソッドは、条件が合致していれば True を戻し、 タイムアウト値が超えていれば False を戻します。
Dim autECLOIAObj as Object Set autECLOIAObj = CreateObject("PCOMM.autECLOIA") autECLOIAObj.SetConnectionByName("A") if (autECLOIAObj.WaitForInputReady(10000)) then msgbox "Ready for input" else msgbox "Timeout Occurred" end if
WaitForSystemAvailable メソッドは、autECLOIA オブジェクトに関連した接続の OIA が、 その接続がホスト・システムに接続されていると指示するまで待機します。
メソッドは、条件が合致していれば True を戻し、 タイムアウト値が超えていれば False を戻します。
Dim autECLOIAObj as Object Set autECLOIAObj = CreateObject("PCOMM.autECLOIA") autECLOIAObj.SetConnectionByName("A") if (autECLOIAObj.WaitForSystemAvailable(10000)) then msgbox "System Available" else msgbox "Timeout Occurred" end if
WaitForAppAvailable メソッドは、autECLOIA オブジェクトに関連した接続の OIA が そのアプリケーションが処理中であることを示しているまで待機します。
メソッドは、条件が合致していれば True を戻し、 タイムアウト値が超えていれば False を戻します。
Dim autECLOIAObj as Object Set autECLOIAObj = CreateObject("PCOMM.autECLOIA") autECLOIAObj.SetConnectionByName("A") if (autECLOIAObj.WaitForAppAvailable (10000)) then msgbox "Application is available" else msgbox "Timeout Occurred" end if
WaitForTransition メソッドは、autECLOIA オブジェクトに関連した接続の 指定された OIA 位置が変更されるのを待ちます。
メソッドは、条件が合致していれば True を戻し、 タイムアウト値が超えていれば False を戻します。
Dim autECLOIAObj as Object Dim Index Index = 03h Set autECLOIAObj = CreateObject("PCOMM.autECLOIA") autECLOIAObj.SetConnectionByName("A") if (autECLOIAObj.WaitForTransition(Index,10000)) then msgbox "Position " " Index " " of the OIA Changed" else msgbox "Timeout Occurred" end if
現在活動待ちのメソッドを取り消します。
なし
なし
以下のイベントは autECLOIA に有効です。
所定の OIA が発生しました。
なし
例は、イベント処理の例を参照してください。
このイベントは、OIA にエラーの発生したときに発生します。
なし
例は、イベント処理の例を参照してください。
このイベントは、イベント処理が停止したときに起こります。
以下は、OIA イベントの実装方法についての簡単な例です。
Option Explicit Private WithEvents myOIA As autECLOIA 'AutOIA added as reference sub main() 'Create Objects Set myOIA = New AutOIA Set myConnMgr = New AutConnMgr myOIA.SetConnectionByName ("B") 'Monitor Session B for OIA Updates myOIA.RegisterOIAEvent 'register for OIA Notifications ' Display your form or whatever here (this should be a blocking call, otherwise sub just ends call DisplayGUI() 'Clean up myOIA.UnregisterOIAEvent Private Sub myOIA_NotifyOIAEvent() ' do your processing here End Sub Private Sub myOIA_NotifyOIAError() ' do your processing here End Sub 'This event occurs when Communications Status Notification ends Private Sub myOIA_NotifyOIAStop(Reason As Long) 'Do any stop processing here End Sub
autECLPS は、表示スペースでの操作を実行します。 登録されている名前は、PCOMM.autECLPS です。
最初に、作成したオブジェクトの接続を設定しなければなりません。 SetConnectionByName または SetConnectionByHandle を使用して、 オブジェクトを初期設定します。 接続は一度しか設定できません。 接続が設定された後は、SetConnection メソッドをさらに呼び出すと例外を引き起こします。 また、接続を設定せずにプロパティーまたはメソッドにアクセスしようとしても、 例外が引き起こされます。
以下に示すのは、Visual Basic で autECLPS オブジェクトを作成し設定する方法の例です。
DIM autECLPSObj as Object DIM NumRows as Long Set autECLPSObj = CreateObject("PCOMM.autECLPS") ' Initialize the connection autECLPSObj .SetConnectionByName("A") ' For example, get the number of rows in the PS NumRows = autECLPSObj.NumRows
このセクションでは、autECLPS オブジェクトのプロパティーを説明します。
型 | 名前 | 属性 |
---|---|---|
Object | autECLFieldList | 読み取り専用 |
Long | NumRows | 読み取り専用 |
Long | NumCols | 読み取り専用 |
Long | CursorPosRow | 読み取り専用 |
Long | CursorPosCol | 読み取り専用 |
String | Name | 読み取り専用 |
Long | Handle | 読み取り専用 |
String | ConnType | 読み取り専用 |
Long | CodePage | 読み取り専用 |
Boolean | Started | 読み取り専用 |
Boolean | CommStarted | 読み取り専用 |
Boolean | APIEnabled | 読み取り専用 |
Boolean | Ready | 読み取り専用 |
これは、autECLPS オブジェクトに関連する 接続のフィールド集合オブジェクトです。 詳細は、autECLFieldList クラスを参照してください。 以下の例は、このオブジェクトを示しています。
Dim autECLPSObj as Object Dim autECLConnList as Object Set autECLPSObj = CreateObject("PCOMM.autECLPS") Set autECLConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection autECLConnList.Refresh autECLPSObj.SetConnectionByHandle(autECLConnList(1).Handle) ' Build the field list CurPosCol = autECLPSObj.autECLFieldList.Refresh(1)
これは、autECLPS オブジェクトに関連する接続の表示スペースでの 行の数です。NumRows は、Long データ型で読み取り専用です。 以下の例は、このプロパティーを示しています。
Dim autECLPSObj as Object Dim autECLConnList as Object Dim Rows as Long Set autECLPSObj = CreateObject("PCOMM.autECLPS") Set autECLConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection autECLConnList.Refresh autECLPSObj.SetConnectionByHandle(autECLConnList(1).Handle) Rows = autECLPSObj.NumRows
これは、autECLPS オブジェクトに関連する接続の表示スペースでの 桁の数です。NumCols は、Long データ型で読み取り専用です。 以下の例は、このプロパティーを示しています。
Dim autECLPSObj as Object Dim autECLConnList as Object Dim Cols as Long Set autECLPSObj = CreateObject("PCOMM.autECLPS") Set autECLConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection autECLConnList.Refresh autECLPSObj.SetConnectionByHandle(autECLConnList(1).Handle) Cols = autECLPSObj.NumCols
これは、autECLPS オブジェクトに関連する接続の表示スペースでの カーソルの現在行位置です。CursorPosRow は Long データ型で読み取り専用です。 以下の例は、このプロパティーを示しています。
Dim autECLPSObj as Object Dim autECLConnList as Object Dim CurPosRow as Long Set autECLPSObj = CreateObject("PCOMM.autECLPS") Set autECLConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection autECLConnList.Refresh autECLPSObj.SetConnectionByHandle(autECLConnList(1).Handle) CurPosRow = autECLPSObj.CursorPosRow
これは、autECLPS オブジェクトに関連する接続の表示スペースでの カーソルの現在桁位置です。CursorPosCol は、Long データ型で読み取り専用です。 以下の例は、このプロパティーを示しています。
Dim autECLPSObj as Object Dim autECLConnList as Object Dim CurPosCol as Long Set autECLPSObj = CreateObject("PCOMM.autECLPS") Set autECLConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection autECLConnList.Refresh autECLPSObj.SetConnectionByHandle(autECLConnList(1).Handle) CurPosCol = autECLPSObj.CursorPosCol
これは、autECLPS が設定された接続の接続名ストリングです。 パーソナル・コミュニケーションズは、短い文字 ID (A から Z、または a から z) のみをストリングで戻します。 パーソナル・コミュニケーションズ接続でオープンできるのは、1 つの 名前につき 1 つしかありません。例えば、 一度に 1 つの接続 "A" のみをオープンできます。 Name は、String データ型で読み取り専用です。以下の例は、このプロパティーを示しています。
DIM Name as String DIM Obj as Object Set Obj = CreateObject("PCOMM.autECLPS") ' Initialize the connection Obj.SetConnectionByName("A") ' Save the name Name = Obj.Name
これは、autECLPS オブジェクトが設定された接続のハンドルです。 特定の 1 つのハンドルに対して 1 つしか、 パーソナル・コミュニケーションズ接続をオープンできません。例えば、 一度に 1 つの接続 "A" のみをオープンできます。 Handle は、Long データ型で読み取り専用です。 以下の例は、このプロパティーを示しています。
DIM Obj as Object Set Obj = CreateObject("PCOMM.autECLPS") ' Initialize the connection Obj.SetConnectionByName("A") ' Save the connection handle Hand = Obj.Handle
これは、autECLPS が設定された接続タイプです。 この接続タイプは、時間の経過とともに変更する場合があります。ConnType は、String データ型で読み取り専用です。 以下の例は、このプロパティーを示しています。
DIM Type as String DIM Obj as Object Set Obj = CreateObject("PCOMM.autECLPS") ' Initialize the connection Obj.SetConnectionByName("A") ' Save the type Type = Obj.ConnType
ConnType プロパティーの接続タイプは、以下のとおりです。
戻されるストリング | 意味 |
---|---|
DISP3270 | 3270 ディスプレイ |
DISP5250 | 5250 ディスプレイ |
PRNT3270 | 3270 プリンター |
PRNT5250 | 5250 プリンター |
ASCII | VT エミュレーション |
これは、autECLPS が設定された接続のコード・ページです。 このコード・ページは、時間の経過とともに変更される場合があります。CodePage は、Long データ型で読み取り専用です。以下の例は、このプロパティーを示しています。
DIM CodePage as Long DIM Obj as Object Set Obj = CreateObject("PCOMM.autECLPS") ' Initialize the connection Obj.SetConnectionByName("A") ' Save the code page CodePage = Obj.CodePage
これは、接続エミュレーター・ウィンドウが開始されたか どうかを示します。ウィンドウがオープンしている場合、値は True です。 その他の場合は False です。Started は、Boolean データ型で読み取り専用です。 以下の例は、このプロパティーを示しています。
DIM Hand as Long DIM Obj as Object Set Obj = CreateObject("PCOMM.autECLPS") ' Initialize the connection Obj.SetConnectionByName("A") ' This code segment checks to see if A is started. ' The results are sent to a text box called Result. If Obj.Started = False Then Result.Text = "No" Else Result.Text = "Yes" End If
これは、ホストへの接続の状況を示しています。 ホストが接続されている場合、値は True です。 その他の場合は False です。CommStarted は、Boolean データ型で読み取り専用です。 以下の例は、このプロパティーを示しています。
DIM Hand as Long DIM Obj as Object Set Obj = CreateObject("PCOMM.autECLPS") ' Initialize the connection Obj.SetConnectionByName("A") ' This code segment checks to see if communications are connected ' for A. The results are sent to a text box called ' CommConn. If Obj.CommStarted = False Then CommConn.Text = "No" Else CommConn.Text = "Yes" End If
これは、エミュレーターが API 使用可能かどうかを示します。API 設定 (パーソナル・コミュニケーションズのウィンドウでは、 「ファイル」->「API の設定」を選択) の状態に応じて、 接続が可能な場合と、接続できない場合があります。API が使用可能の場合、値は True です。 その他の場合は False です。APIEnabled は、Boolean データ型で読み取り専用です。以下の例は、このプロパティーを示しています。
DIM Hand as Long DIM Obj as Object Set Obj = CreateObject("PCOMM.autECLPS") ' Initialize the connection Obj.SetConnectionByName("A") ' This code segment checks to see if A is API enabled. ' The results are sent to a text box called Result. If Obj.APIEnabled = False Then Result.Text = "No" Else Result.Text = "Yes" End If
これは、エミュレーター・ウィンドウが 開始されていて、API 使用可能で、そして接続されているかどうかを示します。 これは、3 つのすべてのプロパティーを確認します。 エミュレーターが準備できている場合には、値は True です。 その他の場合には、False です。Ready は、Boolean データ型で読み取り専用です。 以下の例は、このプロパティーを示しています。
DIM Hand as Long DIM Obj as Object Set Obj = CreateObject("PCOMM.autECLPS") ' Initialize the connection Obj.SetConnectionByName("A") ' This code segment checks to see if A is ready. ' The results are sent to a text box called Result. If Obj.Ready = False Then Result.Text = "No" Else Result.Text = "Yes" End If
以下のセクションで、autECLPS オブジェクトに有効なメソッドを 説明します。
void RegisterPSEvent() void RegisterKeyEvent() void RegisterCommEvent() void UnregisterPSEvent() void UnregisterKeyEvent() void UnregisterCommEvent() void SetConnectionByName (String Name) void SetConnectionByHandle (Long Handle) void SetCursorPos(Long Row, Long Col) void SendKeys(String text, [optional] Long row, [optional] Long col) Boolean SearchText(String text, [optional] Long Dir, [optional] Long row, [optional] Long col) String GetText([optional] Long row, [optional] Long col, [optional] Long lenToGet) void SetText(String Text, [optional] Long Row, [optional] Long Col) String GetTextRect(Long StartRow, Long StartCol, Long EndRow, Long EndCol ) void StartCommunication() void StopCommunication() void StartMacro(String MacroName) void Wait(milliseconds as Long) Boolean WaitForCursor(Variant Row, Variant Col, [optional]Variant TimeOut, [optional] Boolean bWaitForIr) Boolean WaitWhileCursor(Variant Row, Variant Col, [optional]Variant TimeOut, [optional] Boolean bWaitForIr) Boolean WaitForString(Variant WaitString, [optional] Variant Row, [optional] Variant Col, [optional] Variant TimeOut, [optional] Boolean bWaitForIr, [optional] Boolean bCaseSens) Boolean WaitWhileString(Variant WaitString, [optional] Variant Row, [optional] Variant Col, [optional] Variant TimeOut, [optional] Boolean bWaitForIr, [optional] Boolean bCaseSens) Boolean WaitForStringInRect(Variant WaitString, Variant sRow, Variant sCol, Variant eRow, Variant eCol, [optional] Variant nTimeOut, [optional] Boolean bWaitForIr, [optional] Boolean bCaseSens) Boolean WaitWhileStringInRect(Variant WaitString, Variant sRow, Variant sCol, Variant eRow, Variant eCol, [optional] Variant nTimeOut, [optional] Boolean bWaitForIr, [optional] Boolean bCaseSens) Boolean WaitForAttrib(Variant Row, Variant Col, Variant WaitData, [optional] Variant MaskData, [optional] Variant plane, [optional] Variant TimeOut, [optional] Boolean bWaitForIr) Boolean WaitWhileAttrib(Variant Row, Variant Col, Variant WaitData, [optional] Variant MaskData, [optional] Variant plane, [optional] Variant TimeOut, [optional] Boolean bWaitForIr) Boolean WaitForScreen(Object screenDesc, [optional] Variant TimeOut) Boolean WaitWhileScreen(Object screenDesc, [optional] Variant TimeOut) void CancelWaits() |
このメソッドは、接続されたセッションの PS に対するすべての変更の通知を 受け取るための autECLPS オブジェクトを登録します。
なし
なし
例は、イベント処理の例を参照してください。
キー・ストローク・イベント処理を開始します。
なし
なし
例は、イベント処理の例を参照してください。
このメソッドは、すべての通信リンク接続/接続解除のイベントの通知を受け取るための オブジェクトを登録します。
なし
なし
例は、イベント処理の例を参照してください。
PS イベント処理を終了します。
なし
なし
例は、イベント処理の例を参照してください。
キー・ストローク・イベント処理を終了します。
なし
なし
例は、イベント処理の例を参照してください。
通信リンク・イベント処理を終了します。
なし
なし
このメソッドは、接続名を使用して、 新しく作成された autECLPS オブジェクトの接続を設定します。 パーソナル・コミュニケーションズでは、この接続名は、短い ID (文字 A から Z、または a から z) です。 パーソナル・コミュニケーションズ接続でオープンできるのは、1 つの 名前につき 1 つしかありません。例えば、 一度に 1 つの接続 "A" のみをオープンできます。
void SetConnectionByName (String Name)
なし
以下の例は、接続名を使用して、新しく作成された autECLPS オブジェクトの接続を 設定する方法を示します。
DIM autECLPSObj as Object DIM NumRows as Long Set autECLPSObj = CreateObject("PCOMM.autECLPS") ' Initialize the connection autECLPSObj.SetConnectionByName("A") ' For example, get the number of rows in the PS NumRows = autECLPSObj.NumRows
このメソッドは、接続ハンドルを使用して、 新しく作成された autECLPS オブジェクトの接続を設定します。 パーソナル・コミュニケーションズでは、この接続ハンドルは Long integer です。 特定の 1 つのハンドルに対して 1 つしか、 パーソナル・コミュニケーションズ接続をオープンできません。例えば、 一度に 1 つの接続 "A" のみをオープンできます。
void SetConnectionByHandle(Long Handle)
なし
以下の例は、新しく作成された autECLPS オブジェクトの接続を、 接続ハンドルを使用して設定する方法を示します。
DIM autECLPSObj as Object DIM autECLConnList as Object DIM NumRows as Long Set autECLPSObj = CreateObject("PCOMM.autECLPS") Set autECLConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection with the first in the list autECLConnList.Refresh autECLPSObj.SetConnectionByHandle(autECLConnList(1).Handle) ' For example, get the number of rows in the PS NumRows = autECLPSObj.NumRows
SetCursorPos メソッドは、autECLPS オブジェクト に関連する接続の表示スペースでのカーソルの位置を設定します。 位置設定は、行および桁単位です。
void SetCursorPos(Long Row, Long Col)
なし
以下の例は、autECLPS オブジェクトに関連する接続の表示スペースでの カーソルの位置を設定する方法を示しています。
DIM autECLPSObj as Object DIM autECLConnList as Object Set autECLPSObj = CreateObject("PCOMM.autECLPS") Set autECLConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection with the first in the list autECLConnList.Refresh autECLPSObj.SetConnectionByHandle(autECLConnList(1).Handle) autECLPSObj.SetCursorPos 2, 1
SendKeys メソッドは、キーのストリング を autECLPS オブジェクトに関連する接続の表示スペースに送信します。 このメソッドによって、略号キー・ストロークを表示スペースに送信できます。 これらのキー・ストロークのリストは、付録A. Sendkeys 略号キーワードを参照してください。
void SendKeys(String text, [optional] Long row, [optional] Long col)
なし
以下の例は、SendKeys メソッドを使用して、autECLPS オブジェクトに関連する 接続の表示スペースにキーのストリングを送信する方法を示しています。
Dim autECLPSObj as Object Dim autECLConnList as Object Set autECLPSObj = CreateObject("PCOMM.autECLPS") Set autECLConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection autECLConnList.Refresh autECLPSObj.SetConnectionByHandle(autECLConnList(1).Handle) autECLPSObj.SendKeys "IBM is a really cool company", 3, 1
SearchText メソッドは、autECLPS オブジェクトに関連する 接続の表示スペースでのテキストの最初の出現を検索します。 この検索では、大/小文字の区別をします。テキストが見つかった場合、メソッドは True 値を戻します。 テキストが見つからなかった場合は、False 値を戻します。 オプションの行および桁パラメーターが使用された場合には、 row および col も戻され、 見つかった場合はテキストの位置を示します。
boolean SearchText(String text, [optional] Long Dir, [optional] Long Row, [optional] Long Col)
テキストが見つかった場合には True、 見つからなかった場合には False が戻されます。
以下の例は、autECLPS オブジェクトに関連する接続について、 表示スペース内のテキストを検索する方法を示しています。
Dim autECLPSObj as Object Dim autECLConnList as Object Dim Row as Long Dim Col as Long Set autECLPSObj = CreateObject("PCOMM.autECLPS") Set autECLConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection autECLConnList.Refresh autECLPSObj.SetConnectionByHandle(autECLConnList(1).Handle) // Search forward in the PS from the start of the PS. If found // then call a hypothetical found routine, if not found, call a hypothetical // not found routine. row = 3 col = 1 If ( autECLPSObj.SearchText "IBM", 1, row, col) Then Call FoundFunc (row, col) Else Call NotFoundFunc Endif
GetText メソッドは、autECLPS オブジェクトに関連する 接続の表示スペースから文字を検索します。
String GetText([optional] Long Row, [optional] Long Col, [optional] Long LenToGet)
以下の例は、autECLPS オブジェクトに関連する接続について、 表示スペースからストリングを検索する方法を示しています。
Dim autECLPSObj as Object Dim PSText as String ' Initialize the connection Set autECLPSObj = CreateObject("PCOMM.autECLPS") autECLPSObj.SetConnectionByName("A") PSText = autECLPSObj.GetText(2,1,50)
SetText メソッドは、autECLPS オブジェクトに関連した 接続用の表示スペースにストリングを送信します。 このメソッドは SendKeys メソッドに類似しているものの、 このメソッドでは略号キー・ストローク (例えば、[enter] または [pf1]) は送信しません。
void SetText(String Text, [optional] Long Row, [optional] Long Col)
なし
以下の例は、autECLPS オブジェクトに関連する接続について、 表示スペース内のテキストを検索する方法を示しています。
Dim autECLPSObj as Object 'Initialize the connection Set autECLPSObj = CreateObject("PCOMM.autECLPS") autECLPSObj.SetConnectionByName("A") autECLPSObj.SetText"IBM is great", 2, 1
GetTextRect メソッドは、autECLPS オブジェクトに関連する 接続の表示スペースの長方形域から文字を検索します。 テキスト検索では折り返しは実行されません。長方形域のみ検索されます。
String GetTextRect(Long StartRow, Long StartCol, Long EndRow, Long EndCol)
以下の例は、autECLPS オブジェクトに関連する接続について、 表示スペース内の長方形域から文字を検索する方法を示しています。
Dim autECLPSObj as Object Dim PSText String ' Initialize the connection Set autECLPSObj = CreateObject ("PCOMM.autELCPS") autECLPSObj.SetConnectionByName("A") PSText = GetTextRect(1,1,2,80)
SetTextRect メソッドは、autECLPS オブジェクトに関連する接続の表示スペース内の長方形域に文字を設定します。テキスト設定では折り返しは実行されません。長方形域のみ設定されます。
SetTextRect(String Text, Long StartRow, Long StartCol, Long EndRow, Long EndCol)
なし
以下の例は、autECLPS オブジェクトに関連する接続の表示スペース内の長方形域に文字を設定する方法を示しています。
Dim autECLPSObj as Object Dim PSText String ' Initialize the connection Set autECLPSObj = CreateObject ("PCOMM.autELCPS") autECLPSObj.SetConnectionByName("A") SetTextRect "IBM is great company to collaborate with", 1, 1, 4, 8
括弧を使用する場合は、以下のように SetTextRect を使用します。
call SetTextRect("IBM is great company to collaborate with", 1, 1, 4, 8)
StartCommunication 集合要素メソッドは、 ホスト・データ・ストリームに PCOMM エミュレーターを接続します。 これは、PCOMM エミュレーター「通信」メニューを表示して「接続」を選んだ場合と同じ結果になります。
void StartCommunication()
なし
なし
以下の例は、PCOMM エミュレーター・セッションをホストへ接続する方法を示しています。
Dim PSObj as Object Dim autECLConnList as Object Set autECLConnList = CreateObject("PCOMM.autECLConnList") Set PSObj = CreateObject("PCOMM.autECLPS") ' Initialize the session autECLConnList.Refresh PSObj.SetConnectionByHandle(autECLConnList(1).Handle) PSObj.StartCommunication()
StopCommunication 集合要素メソッドは、 ホスト・データ・ストリームから PCOMM エミュレーターを切断します。 これは、PCOMM エミュレーターの「通信」メニューを表示して 「切断」を選んだ場合 と同じ結果になります。
void StopCommunication()
なし
なし
以下の例は、PCOMM エミュレーター・セッションをホストへ接続する方法を示しています。
Dim PSObj as Object Dim autECLConnList as Object Set autECLConnList = CreateObject("PCOMM.autECLConnList") Set PSObj = CreateObject("PCOMM.autECLPS") ' Initialize the session autECLConnList.Refresh PSObj.SetConnectionByHandle(autECLConnList(1).Handle) PSObj.StopCommunication()
StartMacro メソッドは、MacroName パラメーターにより指示された パーソナル・コミュニケーションズのマクロ・ファイルを実行します。
なし
マクロ名には、短いファイル名を使用する必要があります。このメソッドは、 長いファイル名をサポートしません。
以下の例は、マクロを開始する方法を示しています。
Dim PS as Object Set PS = CreateObject("PCOMM.autECLPS") PS.StartMacro "mymacro"
Wait メソッドは、milliseconds パラメーターで指定されたミリ秒間 待機します。
なし
Dim autECLPSObj as Object Set autECLPSObj = CreateObject ("PCOMM.autECLPS") autECLPSObj.SetConnectionByName ("A") ' Wait for 10 seconds autECLPSObj.Wait(10000)
WaitForCursor メソッドは、autECLPS オブジェクトに関連した 接続の表示スペースでカーソルが指定された位置に配置されるのを待ちます。
メソッドは、条件が合致していれば True を戻し、 タイムアウト値が超えていれば False を戻します。
Dim autECLPSObj as Object Dim Row, Col Set autECLPSObj = CreateObject("PCOMM.autECLPS") autECLPSObj.SetConnectionByName("A") Row = 20 Col = 16 if (autECLPSObj.WaitForCursor(Row,Col,10000)) then msgbox "Cursor is at " " Row " "," " Col else msgbox "Timeout Occurred" end if
WaitWhileCursor メソッドは、autECLPS オブジェクトに関連した接続の 表示スペースでカーソルが指定された位置に配置されている間待機します。
メソッドは、条件が合致していれば True を戻し、 タイムアウト値が超えていれば False を戻します。
Dim autECLPSObj as Object Dim Row, Col Set autECLPSObj = CreateObject("PCOMM.autECLPS") autECLPSObj.SetConnectionByName("A") Row = 20 Col = 16 if (autECLPSObj.WaitWhileCursor(Row,Col,10000)) then msgbox "Cursor is no longer at " " Row " "," " Col else msgbox "Timeout Occurred" end if
WaitForString メソッドは、autECLPS オブジェクトに関連した接続の 表示スペースで、指定されたストリングが現れるのを待ちます。 オプションの行パラメーターおよび桁パラメーターが 使用される場合は、ストリングは指定された位置から開始しなければなりません。 行と桁に、それぞれ 0 が渡された場合は、メソッドは PS 全体を探索します。
Boolean WaitForString(Variant WaitString, [optional] Variant
Row, [optional] Variant Col, [optional] Variant TimeOut, [optional] Boolean bWaitForIr, [optional] Boolean bCaseSens) |
メソッドは、条件が合致していれば True を戻し、 タイムアウト値が超えていれば False を戻します。
Dim autECLPSObj as Object Dim Row, Col, WaitString Set autECLPSObj = CreateObject("PCOMM.autECLPS") autECLPSObj.SetConnectionByName("A") WaitString = "Enter USERID" Row = 20 Col = 16 if (autECLPSObj.WaitForString(WaitString,Row,Col,10000)) then msgbox WaitString " " found at " " Row " "," " Col else msgbox "Timeout Occurred" end if
WaitWhileString メソッドは、指定されたストリングが autECLPS オブジェクトに関連した接続の 表示スペースに現れている間待機します。 オプションの行パラメーターおよび桁パラメーターが 使用される場合は、ストリングは指定された位置から開始しなければなりません。 行と桁に、それぞれ 0 が渡された場合は、メソッドは PS 全体を探索します。
Boolean WaitWhileString(Variant WaitString, [optional]
Variant Row, [optional] Variant Col, [optional] Variant TimeOut, [optional] Boolean bWaitForIr, [optional] Boolean bCaseSens) |
メソッドは、条件が合致していれば True を戻し、 タイムアウト値が超えていれば False を戻します。
Dim autECLPSObj as Object Dim Row, Col, WaitString Set autECLPSObj = CreateObject("PCOMM.autECLPS") autECLPSObj.SetConnectionByName("A") WaitString = "Enter USERID" Row = 20 Col = 16 if (autECLPSObj.WaitWhileString(WaitString,Row,Col,10000)) then msgbox WaitString " " was found at " " Row " "," " Col else msgbox "Timeout Occurred" end if
WaitForStringInRect メソッドは、指定された長方形内の autECLPS オブジェクトに関連した 接続の表示スペースで、指定されたストリングが現れるのを待ちます。
メソッドは、条件が合致していれば True を戻し、 タイムアウト値が超えていれば False を戻します。
Dim autECLPSObj as Object Dim sRow, sCol, eRow, eCol, WaitString Set autECLPSObj = CreateObject("PCOMM.autECLPS") autECLPSObj.SetConnectionByName("A") WaitString = "Enter USERID" sRow = 20 sCol = 16 eRow = 21 eCol = 31 if (autECLPSObj.WaitForStringInRect(WaitString,sRow,sCol,eRow,eCol,10000)) then msgbox WaitString " " found in rectangle" else msgbox "Timeout Occurred" end if
WaitWhileStringInRect メソッドは、指定されたストリングが指定長方形内の autECLPS オブジェクト に関連した接続の表示スペースに現れている間待機します。
メソッドは、条件が合致していれば True を戻し、 タイムアウト値が超えていれば False を戻します。
Dim autECLPSObj as Object Dim sRow, sCol, eRow, eCol, WaitString Set autECLPSObj = CreateObject("PCOMM.autECLPS") autECLPSObj.SetConnectionByName("A") WaitString = "Enter USERID" sRow = 20 sCol = 16 eRow = 21 eCol = 31 if (autECLPSObj.WaitWhileStringInRect(WaitString,sRow,sCol,eRow,eCol,10000)) then msgbox WaitString " " no longer in rectangle" else msgbox "Timeout Occurred" end if
WaitForAttrib メソッドは、指定行/列位置にある autECLPS オブジェクトに関連した接続 の表示スペースで、指定された属性値が現れるまで待ちます。オプションの MaskData パラメーターを使用して、どの属性値を探索するのか を制御することができます。 オプションのプレーン・パラメーターに より、4 つの PS プレーンの内から任意のプレーンを選択することが可能となります。
Boolean WaitForAttrib(Variant Row, Variant Col, Variant
WaitData, [optional] Variant MaskData, [optional] Variant plane, [optional] Variant TimeOut, [optional] Boolean bWaitForIr) |
メソッドは、条件が合致していれば True を戻し、 タイムアウト値が超えていれば False を戻します。
Dim autECLPSObj as Object Dim Row, Col, WaitData, MaskData, plane Set autECLPSObj = CreateObject("PCOMM.autECLPS") autECLPSObj.SetConnectionByName("A") Row = 20 Col = 16 WaitData = E8h MaskData = FFh plane = 3 if (autECLPSObj.WaitForAttrib(Row, Col, WaitData, MaskData, plane, 10000)) then msgbox "Attribute " " WaitData " " found" else msgbox "Timeout Occurred" end if
WaitWhileAttrib メソッドは、指定行/列位置にある autECLPS オブジェクトに関連した接続 の表示スペースに、指定された属性値が表示されている間待ちます。オプションの MaskData パラメーターを使用して、どの属性値を探索するのか を制御することができます。 オプションのプレーン・パラメーターに より、4 つの PS プレーンの内から任意のプレーンを選択することが可能となります。
Boolean WaitWhileAttrib(Variant Row, Variant Col, Variant
WaitData, [optional] Variant MaskData, [optional] Variant plane, [optional] Variant TimeOut, [optional] Boolean bWaitForIr) |
メソッドは、条件が合致していれば True を戻し、 タイムアウト値が超えていれば False を戻します。
Dim autECLPSObj as Object Dim Row, Col, WaitData, MaskData, plane Set autECLPSObj = CreateObject("PCOMM.autECLPS") autECLPSObj.SetConnectionByName("A") Row = 20 Col = 16 WaitData = E8h MaskData = FFh plane = 3 if (autECLPSObj.WaitWhileAttrib(Row, Col, WaitData, MaskData, plane, 10000)) then msgbox "Attribute " " WaitData " " No longer exists" else msgbox "Timeout Occurred" end if
autECLScreenDesc パラメーターにより記述された画面が表示スペースに 現れるのを同期して待ちます。
メソッドは、条件が合致していれば True を戻し、 タイムアウト値が超えていれば False を戻します。
Dim autECLPSObj as Object Dim autECLScreenDescObj as Object Set autECLScreenDescObj = CreateObject("PCOMM.autECLScreenDesc") Set autECLPSObj = CreateObject("PCOMM.autECLPS") autECLPSObj.SetConnectionByName("A") autECLScreenDesObj.AddCursorPos 23, 1 if (autECLPSObj.WaitForScreen(autECLScreenDesObj, 10000)) then msgbox "Screen found" else msgbox "Timeout Occurred" end if
autECLScreenDesc パラメーターにより記述された画面が表示スペースから なくなるまで同期して待ちます。
メソッドは、条件が合致していれば True を戻し、 タイムアウト値が超えていれば False を戻します。
Dim autECLPSObj as Object Dim autECLScreenDescObj as Object Set autECLScreenDescObj = CreateObject("PCOMM.autECLScreenDesc") Set autECLPSObj = CreateObject("PCOMM.autECLPS") autECLPSObj.SetConnectionByName("A") autECLScreenDesObj.AddCursorPos 23, 1 if (autECLPSObj.WaitWhileScreen(autECLScreenDesObj, 10000)) then msgbox "Screen exited" else msgbox "Timeout Occurred" end if
現在活動待ちのメソッドを取り消します。
なし
なし
以下のイベントは autECLPS に有効です。
指定された PS は更新されました。
なし
例は、イベント処理の例を参照してください。
キー・ストローク・イベントが起こり、キー情報が提供されました。 この関数は、指定された PS に対するキー・ストロークをインターセプトするために 使用することができます。キー情報はイベント・ハンドラーに渡され、 続いて次へ渡すことも、別のアクションを実行することも可能です。
例は、イベント処理の例を参照してください。
指定された通信リンクは、接続あるいは接続解除されています。
例は、イベント処理の例を参照してください。
このイベントは、イベント処理でエラーが発生したときに起こります。
なし
例は、イベント処理の例を参照してください。
このイベントは、イベント処理でエラーが発生したときに起こります。
なし
例は、イベント処理の例を参照してください。
このイベントは、イベント処理でエラーが発生したときに起こります。
なし
例は、イベント処理の例を参照してください。
このイベントは、イベント処理が停止したときに起こります。
例は、イベント処理の例を参照してください。
このイベントは、イベント処理が停止したときに起こります。
例は、イベント処理の例を参照してください。
このイベントは、イベント処理が停止したときに起こります。
以下は、PS イベントの実装方法についての簡単な例です。
Option Explicit Private WithEvents mPS As autECLPS 'AutPS added as reference Private WithEvents Mkey as autECLPS sub main() 'Create Objects Set mPS = New autECLPS Set mkey = New autECLPS mPS.SetConnectionByName "A" 'Monitor Session A for PS Updates mPS.SetConnectionByName "B" 'Intercept Keystrokes intended for Session B mPS.RegisterPSEvent 'register for PS Updates mPS.RegisterCommEvent ' register for Communications Link updates for session A mkey.RegisterKeyEvent 'register for Key stroke intercept ' Display your form or whatever here (this should be a blocking call, otherwise sub just ends call DisplayGUI() mPS.UnregisterPSEvent mPS.UnregisterCommEvent mkey.UnregisterKeyEvent
set mPS = Nothing set mKey = Nothing End Sub 'This sub will get called when the PS of the Session registered 'above changes Private Sub mPS_NotifyPSEvent() ' do your processing here End Sub 'This sub will get called when Keystrokes are entered into Session B Private Sub mkey_NotifyKeyEvent(string KeyType, string KeyString, PassItOn as Boolean) ' do your keystroke filtering here If (KeyType = "M") Then 'handle mnemonics here if (KeyString = "[PF1]" then 'intercept PF1 and send PF2 instead mkey.SendKeys "[PF2]" set PassItOn = false end if end if
End Sub 'This event occurs if an error happens in PS event processing Private Sub mPS_NotifyPSError() 'Do any error processing here End Sub 'This event occurs when PS Event handling ends Private Sub mPS_NotifyPSStop(Reason As Long) 'Do any stop processing here End Sub 'This event occurs if an error happens in Keystroke processing Private Sub mkey_NotifyKeyError() 'Do any error processing here End Sub 'This event occurs when key stroke event handling ends Private Sub mkey_NotifyKeyStop(Reason As Long) 'Do any stop processing here End Sub
'This sub will get called when the Communication Link Status of the registered 'connection changes Private Sub mPS_NotifyCommEvent() ' do your processing here End Sub
'This event occurs if an error happens in Communications Link event processing Private Sub mPS_NotifyCommError() 'Do any error processing here End Sub 'This event occurs when Communications Status Notification ends Private Sub mPS_NotifyCommStop() 'Do any stop processing here End Sub
autECLScreenDesc は、IBM ホスト・アクセス・クラス・ライブラリーの画面認識テクノロジーの 画面を記述するために使用されるクラスです。これは、カーソル位置はもちろんのこと、 これを説明する表示スペースの 4 つの主なプレーン (テキスト、フィールド、 拡張フィールド、およびカラー・プレーン) すべてを使用します。
このオブジェクトで用意されているメソッドを使用して、プログラマーは指定された画面が ホスト・サイド・アプリケーションでどのように表示されるかを詳細に記述することが できます。autECLScreenDesc オブジェクトが作成されセットされると、これを autECLPS で提供される 同期 WaitFor... メソッドのいずれかに渡すか、または autECLScreenReco に渡すことが でき、autECLScreenDesc オブジェクトと一致する画面が PS 内に現れた場合は、 非同期イベントを破棄します。
以下のセクションで、autECLScreenDesc に有効なメソッドを説明します。
void AddAttrib(Variant attrib, Variant row, Variant col,
Variant plane) void AddCursorPos(Variant row, Variant col) void AddNumFields(Variant num) void AddNumInputFields(Variant num) void AddOIAInhibitStatus(Variant type) void AddString(String str, Variant row, Variant col, [optional] Boolean caseSense) void AddStringInRect(String str, Variant sRow, Variant sCol, Variant eRow, Variant eCol, [optional] Variant caseSense) void Clear() |
画面記述の指定位置に属性値を追加します。
なし
Dim autECLPSObj as Object Dim autECLScreenDescObj as Object Set autECLScreenDescObj = CreateObject("PCOMM.autECLScreenDesc") Set autECLPSObj = CreateObject("PCOMM.autECLPS") autECLPSObj.SetConnectionByName "A" autECLScreenDesObj.AddCursorPos 23, 1 autECLScreenDesObj.AddAttrib E8h, 1, 1, 2 autECLScreenDesObj.AddCursorPos 23,1 autECLScreenDesObj.AddNumFields 45 autECLScreenDesObj.AddNumInputFields 17 autECLScreenDesObj.AddOIAInhibitStatus 1 autECLScreenDesObj.AddString "LOGON", 23, 11, True autECLScreenDesObj.AddStringInRect "PASSWORD", 23, 1, 24, 80, False if (autECLPSObj.WaitForScreen(autECLScreenDesObj, 10000)) then msgbox "Screen reached" else msgbox "Timeout Occurred" end if
指定位置に画面記述のためのカーソル位置をセットします。
なし
Dim autECLPSObj as Object Dim autECLScreenDescObj as Object Set autECLScreenDescObj = CreateObject("PCOMM.autECLScreenDesc") Set autECLPSObj = CreateObject("PCOMM.autECLPS") autECLPSObj.SetConnectionByName "A" autECLScreenDesObj.AddCursorPos 23, 1 autECLScreenDesObj.AddAttrib E8h, 1, 1, 2 autECLScreenDesObj.AddCursorPos 23,1 autECLScreenDesObj.AddNumFields 45 autECLScreenDesObj.AddNumInputFields 17 autECLScreenDesObj.AddOIAInhibitStatus 1 autECLScreenDesObj.AddString "LOGON", 23, 11, True autECLScreenDesObj.AddStringInRect "PASSWORD", 23, 1, 24, 80, False if (autECLPSObj.WaitForScreen(autECLScreenDesObj, 10000)) then msgbox "Screen reached" else msgbox "Timeout Occurred" end if
画面記述にフィールド数を追加します。
なし
Dim autECLPSObj as Object Dim autECLScreenDescObj as Object Set autECLScreenDescObj = CreateObject("PCOMM.autECLScreenDesc") Set autECLPSObj = CreateObject("PCOMM.autECLPS") autECLPSObj.SetConnectionByName "A" autECLScreenDesObj.AddCursorPos 23, 1 autECLScreenDesObj.AddAttrib E8h, 1, 1, 2 autECLScreenDesObj.AddCursorPos 23,1 autECLScreenDesObj.AddNumFields 45 autECLScreenDesObj.AddNumInputFields 17 autECLScreenDesObj.AddOIAInhibitStatus 1 autECLScreenDesObj.AddString "LOGON", 23, 11, True autECLScreenDesObj.AddStringInRect "PASSWORD", 23, 1, 24, 80, False if (autECLPSObj.WaitForScreen(autECLScreenDesObj, 10000)) then msgbox "Screen reached" else msgbox "Timeout Occurred" end if
画面記述にフィールド数を追加します。
なし
Dim autECLPSObj as Object Dim autECLScreenDescObj as Object Set autECLScreenDescObj = CreateObject("PCOMM.autECLScreenDesc") Set autECLPSObj = CreateObject("PCOMM.autECLPS") autECLPSObj.SetConnectionByName "A" autECLScreenDesObj.AddCursorPos 23, 1 autECLScreenDesObj.AddAttrib E8h, 1, 1, 2 autECLScreenDesObj.AddCursorPos 23,1 autECLScreenDesObj.AddNumFields 45 autECLScreenDesObj.AddNumInputFields 17 autECLScreenDesObj.AddOIAInhibitStatus 1 autECLScreenDesObj.AddString "LOGON", 23, 11, True autECLScreenDesObj.AddStringInRect "PASSWORD", 23, 1, 24, 80, False if (autECLPSObj.WaitForScreen(autECLScreenDesObj, 10000)) then msgbox "Screen reached" else msgbox "Timeout Occurred" end if
画面記述のための OIA モニターのタイプをセットします。
なし
Dim autECLPSObj as Object Dim autECLScreenDescObj as Object Set autECLScreenDescObj = CreateObject("PCOMM.autECLScreenDesc") Set autECLPSObj = CreateObject("PCOMM.autECLPS") autECLPSObj.SetConnectionByName "A" autECLScreenDesObj.AddCursorPos 23, 1 autECLScreenDesObj.AddAttrib E8h, 1, 1, 2 autECLScreenDesObj.AddCursorPos 23,1 autECLScreenDesObj.AddNumFields 45 autECLScreenDesObj.AddNumInputFields 17 autECLScreenDesObj.AddOIAInhibitStatus 1 autECLScreenDesObj.AddString "LOGON", 23, 11, True autECLScreenDesObj.AddStringInRect "PASSWORD", 23, 1, 24, 80, False if (autECLPSObj.WaitForScreen(autECLScreenDesObj, 10000)) then msgbox "Screen reached" else msgbox "Timeout Occurred" end if
画面記述の指定された位置にストリングを追加します。
void AddString(String str, Variant row, Variant col,
[optional] Boolean caseSense) |
なし
Dim autECLPSObj as Object Dim autECLScreenDescObj as Object Set autECLScreenDescObj = CreateObject("PCOMM.autECLScreenDesc") Set autECLPSObj = CreateObject("PCOMM.autECLPS") autECLPSObj.SetConnectionByName "A" autECLScreenDesObj.AddCursorPos 23, 1 autECLScreenDesObj.AddAttrib E8h, 1, 1, 2 autECLScreenDesObj.AddCursorPos 23,1 autECLScreenDesObj.AddNumFields 45 autECLScreenDesObj.AddNumInputFields 17 autECLScreenDesObj.AddOIAInhibitStatus 1 autECLScreenDesObj.AddString "LOGON", 23, 11, True autECLScreenDesObj.AddStringInRect "PASSWORD", 23, 1, 24, 80, False if (autECLPSObj.WaitForScreen(autECLScreenDesObj, 10000)) then msgbox "Screen reached" else msgbox "Timeout Occurred" end if
画面記述の指定長方形内にストリングを追加します。
なし
Dim autECLPSObj as Object Dim autECLScreenDescObj as Object Set autECLScreenDescObj = CreateObject("PCOMM.autECLScreenDesc") Set autECLPSObj = CreateObject("PCOMM.autECLPS") autECLPSObj.SetConnectionByName "A" autECLScreenDesObj.AddCursorPos 23, 1 autECLScreenDesObj.AddAttrib E8h, 1, 1, 2 autECLScreenDesObj.AddCursorPos 23,1 autECLScreenDesObj.AddNumFields 45 autECLScreenDesObj.AddNumInputFields 17 autECLScreenDesObj.AddOIAInhibitStatus 1 autECLScreenDesObj.AddString "LOGON", 23, 11, True autECLScreenDesObj.AddStringInRect "PASSWORD", 23, 1, 24, 80, False if (autECLPSObj.WaitForScreen(autECLScreenDesObj, 10000)) then msgbox "Screen reached" else msgbox "Timeout Occurred" end if
画面記述からすべての記述要素を取り除きます。
なし
なし
Dim autECLPSObj as Object Dim autECLScreenDescObj as Object Set autECLScreenDescObj = CreateObject("PCOMM.autECLScreenDesc") Set autECLPSObj = CreateObject("PCOMM.autECLPS") autECLPSObj.SetConnectionByName "A" autECLScreenDesObj.AddCursorPos 23, 1 autECLScreenDesObj.AddAttrib E8h, 1, 1, 2 autECLScreenDesObj.AddCursorPos 23,1 autECLScreenDesObj.AddNumFields 45 autECLScreenDesObj.AddNumInputFields 17 autECLScreenDesObj.AddOIAInhibitStatus 1 autECLScreenDesObj.AddString "LOGON", 23, 11, True autECLScreenDesObj.AddStringInRect "PASSWORD", 23, 1, 24, 80, False if (autECLPSObj.WaitForScreen(autECLScreenDesObj, 10000)) then msgbox "Screen reached" else msgbox "Timeout Occurred" end if autECLScreenDesObj.Clear // start over for a new screen
autECLScreenReco クラスは、ホスト・アクセス・クラス・ライブラリーの画面認識システム にとってはエンジンに相当するものです。これには、画面の記述を追加したり取り除いたり するメソッドが含まれます。また、これにはこれらの画面を認識したり、これら画面用に ユーザーのイベント・ハンドラー・コードを非同期的に呼び戻したりするためのロジックも 含まれています。
autECLScreenReco クラスのオブジェクトを固有な認識セットと考えてください。このオブジェクトは、これが画面用に監視する複数の autECLPS オブジェクト、および 探索すべき複数の画面を持つことができ、これが追加された autECLPS オブジェクトの いずれかで登録済み画面を見つけた場合には、これはユーザーのアプリケーションで 定義されたイベント処理コードを破棄します。
ユーザーが実施すべきことは、アプリケーションを開始するときに ユーザーの autECLScreenReco オブジェクトを設定するだけです。 モニターしたい任意の autECLPS で画面が表示されると、イベント・コード が autECLScreenReco によって呼び出されます。ユーザーは、画面をモニターする 際に何も実行する必要はありません。
例は、イベント処理の例を参照してください。
以下のセクションで、autECLScreenReco に有効なメソッドを説明します。
autECLScreenReco オブジェクトに対して、モニターすべき autECLPS オブジェクトを追加します。
なし
例は、イベント処理の例を参照してください。
autECLPS オブジェクトおよび AutECLScreenDesc オブジェクトを渡すことを可能にし、 画面記述が PS の現在の状態に一致しているかどうかの判別を可能にします。 画面認識のエンジンは このロジックを使用しますが、どのルーチンもそれを呼び出すことができるように作られます。
AutECLScreenDesc オブジェクトが PS 内の現行画面に一致する場合は True で、 それ以外の場合は False です。
Dim autPSObj as Object Dim autECLScreenDescObj as Object Set autECLScreenDescObj = CreateObject("PCOMM.autECLScreenDesc") Set autPSObj = CreateObject("PCOMM.autECLPS") autPSObj.SetConnectionByName "A" autECLScreenDesObj.AddCursorPos 23, 1 autECLScreenDesObj.AddAttrib E8h, 1, 1, 2 autECLScreenDesObj.AddNumFields 45 autECLScreenDesObj.AddNumInputFields 17 autECLScreenDesObj.AddOIAInhibitStatus 1 autECLScreenDesObj.AddString "LOGON", 23, 11, True autECLScreenDesObj.AddStringInRect "PASSWORD", 23, 1, 24, 80, False if (autECLScreenReco.IsMatch(autPSObj, autECLScreenDesObj)) then msgbox "matched" else msgbox "no match" end if
指定された画面の記述のために画面認識オブジェクトに追加された すべての autECLPS オブジェクトのモニターを開始します。 その画面が PS に現れると、NotifyRecoEvent が発生します。
なし
例は、イベント処理の例を参照してください。
画面認識モニターから autECLPS オブジェクトを除去します。
なし
例は、イベント処理の例を参照してください。
画面認識モニターから画面記述を除去します。
なし
例は、イベント処理の例を参照してください。
以下のイベントは autECLScreenReco に有効です。
このイベントは、autECLScreenReco オブジェクトに追加された PS に登録済み画面記述が 現れたときに起こります。
例は、イベント処理の例を参照してください。
このイベントは、イベント処理でエラーが発生したときに起こります。
なし
例は、イベント処理の例を参照してください。
このイベントは、イベント処理が停止したときに起こります。
以下は、画面認識イベントの実装方法についての簡単な例です。
Dim myPS as Object Dim myScreenDesc as Object Dim WithEvents reco as autECLScreenReco 'autECLScreenReco added as reference Sub Main() ' Create the objects Set reco= new autECLScreenReco myScreenDesc = CreateObject("PCOMM.autECLScreenDesc") Set myPS = CreateObject("PCOMM.autECLPS") myPS.SetConnectionByName "A" ' Set up the screen description myScreenDesc.AddCursorPos 23, 1 myScreenDesc.AddString "LOGON" myScreenDesc.AddNumFields 59 ' Add the PS to the reco object (can add multiple PS's) reco.addPS myPS ' Register the screen (can add multiple screen descriptions) reco.RegisterScreen myScreenDesc ' Display your form or whatever here (this should be a blocking call, otherwise sub just ends call DisplayGUI() ' Clean up reco.UnregisterScreen myScreenDesc reco.RemovePS myPS set myPS = Nothing set myScreenDesc = Nothing set reco = Nothing End Sub 'This sub will get called when the screen Description registered above appears in 'Session A. If multiple PS objects or screen descriptions were added, you can 'determine which screen and which PS via the parameters. Sub reco_NotifyRecoEvent(autECLScreenDesc SD, autECLPS PS) If (reco.IsMatch(PS,myScreenDesc)) Then ' do your processing for your screen here End If End Sub Sub reco_NotifyRecoError 'do your error handling here End sub Sub reco_NotifyRecoStop(Reason as Long) 'Do any stop processing here End sub
autECLSession オブジェクトは、 一般エミュレーター関連サービスを提供し、ホスト・アクセス・クラス・ライブラリーの 他の主要なオブジェクトへのポインターを含んでいます。 登録されている名前は、PCOMM.autECLSession です。
autECLSession に含まれているオブジェクトはそれぞれ 独立させることができますが、これらへのポインターは autECLSession クラスに 存在します。autECLSession オブジェクトが作成されるときは、autECLPS、autECLOIA、autECLXfer、autECLWindowMetrics、autECLPageSettings、 および autECLPrinterSettings オブジェクトも作成されます。それらは、他のプロパティーと同じように参照してください。
以下の例は、Visual Basic で autECLSession オブジェクトを作成し、 設定する方法を示しています。
DIM SessObj as Object Set SessObj = CreateObject("PCOMM.autECLSession") ' Initialize the session SessObj.SetConnectionByName("A") ' For example, set the host window to minimized SessObj.autECLWinMetrics.Minimized = True
このセクションでは、autECLSession オブジェクトの プロパティーを説明します。
型 | 名前 | 属性 |
---|---|---|
String | Name | 読み取り専用 |
Long | Handle | 読み取り専用 |
String | ConnType | 読み取り専用 |
Long | CodePage | 読み取り専用 |
Boolean | Started | 読み取り専用 |
Boolean | CommStarted | 読み取り専用 |
Boolean | APIEnabled | 読み取り専用 |
Boolean | Ready | 読み取り専用 |
Object | autECLPS | 読み取り専用 |
Object | autECLOIA | 読み取り専用 |
Object | autECLXfer | 読み取り専用 |
Object | autECLWinMetrics | 読み取り専用 |
Object | autECLPageSettings | 読み取り専用 |
Object | autECLPrinterSettings | 読み取り専用 |
このプロパティーは、autECLSession が設定された接続の 接続名ストリングです。パーソナル・コミュニケーションズは、短い文字 ID (A から Z、または a から z) のみをストリングで戻します。 パーソナル・コミュニケーションズ接続でオープンできるのは、1 つの 名前につき 1 つしかありません。例えば、 一度に 1 つの接続 "A" のみをオープンできます。 Name は、String データ型で読み取り専用です。以下の例は、このプロパティーを示しています。
DIM Name as String DIM SessObj as Object Set SessObj = CreateObject("PCOMM.autECLSession") ' Initialize the session SessObj.SetConnectionByName("A") ' Save the name Name = SessObj.Name
これは、autECLSession オブジェクトが 設定された接続のハンドルです。特定の 1 つのハンドルに対して 1 つしか、 パーソナル・コミュニケーションズ接続をオープンできません。例えば、 一度に 1 つの接続 "A" のみをオープンできます。 Handle は、Long データ型で読み取り専用です。 以下の例は、このプロパティーを示しています。
DIM SessObj as Object Set SessObj = CreateObject("PCOMM.autECLSession") ' Initialize the session SessObj.SetConnectionByName("A") ' Save the session handle Hand = SessObj.Handle
これは、autECLXfer が設定された接続タイプです。 このタイプは、時間の経過とともに変更する場合が あります。ConnType は、String データ型で読み取り専用です。 以下の例は、このプロパティーを示しています。
DIM Type as String DIM SessObj as Object Set SessObj = CreateObject("PCOMM.autECLSession") ' Initialize the session SessObj.SetConnectionByName("A") ' Save the type Type = SessObj.ConnType
ConnType プロパティーの接続タイプは、以下のとおりです。
戻されるストリング | 意味 |
---|---|
DISP3270 | 3270 ディスプレイ |
DISP5250 | 5250 ディスプレイ |
PRNT3270 | 3270 プリンター |
PRNT5250 | 5250 プリンター |
ASCII | VT エミュレーション |
これは、autECLXfer が設定された接続のコード・ページです。 このコード・ページは、時間の経過とともに変更される場合があります。CodePage は、Long データ型で読み取り専用です。以下の例は、このプロパティーを示しています。
DIM CodePage as Long DIM SessObj as Object Set SessObj = CreateObject("PCOMM.autECLSession") ' Initialize the session SessObj.SetConnectionByName("A") ' Save the code page CodePage = SessObj.CodePage
これは、エミュレーター・ウィンドウが開始されたかどうかを示します。 ウィンドウがオープンしている場合、値は True です。 その他の場合は False です。Started は、Boolean データ型で読み取り専用です。 以下の例は、このプロパティーを示しています。
DIM Hand as Long DIM SessObj as Object Set SessObj = CreateObject("PCOMM.autECLSession") ' Initialize the session SessObj.SetConnectionByName("A") ' This code segment checks to see if A is started. ' The results are sent to a text box called Result. If SessObj.Started = False Then Result.Text = "No" Else Result.Text = "Yes" End If
これは、ホストへの接続の状況を示しています。 ホストが接続されている場合、値は True です。 その他の場合は False です。CommStarted は、Boolean データ型で読み取り専用です。 以下の例は、このプロパティーを示しています。
DIM Hand as Long DIM SessObj as Object Set SessObj = CreateObject("PCOMM.autECLSession") ' Initialize the session SessObj.SetConnectionByName("A") ' This code segment checks to see if communications are connected ' for session A. The results are sent to a text box called ' CommConn. If SessObj.CommStarted = False Then CommConn.Text = "No" Else CommConn.Text = "Yes" End If
これは、エミュレーターが API 使用可能かどうかを示します。API 設定 (パーソナル・コミュニケーションズのウィンドウでは、 「ファイル」->「API の設定」を選択) の状態に応じて、 接続が可能な場合と、接続できない場合があります。エミュレーターが使用可能の場合には、True です。その他の場合には、False です。APIEnabled は、Boolean データ型で読み取り専用です。以下の例は、このプロパティーを示しています。
DIM Hand as Long DIM SessObj as Object Set SessObj = CreateObject("PCOMM.autECLSession") ' Initialize the session SessObj.SetConnectionByName("A") ' This code segment checks to see if A is API enabled. ' The results are sent to a text box called Result. If SessObj.APIEnabled = False Then Result.Text = "No" Else Result.Text = "Yes" End If
これは、エミュレーター・ウィンドウが 開始されていて、API 使用可能で、そして接続されているかどうかを示します。 このプロパティーは、3 つのすべてのプロパティーを確認します。 エミュレーターが準備できている場合には、値は True です。 その他の場合には、False です。Ready は、Boolean データ型で読み取り専用です。 以下の例は、このプロパティーを示しています。
DIM Hand as Long DIM SessObj as Object Set SessObj = CreateObject("PCOMM.autECLSession") ' Initialize the session SessObj.SetConnectionByName("A") ' This code segment checks to see if A is ready. ' The results are sent to a text box called Result. If SessObj.Ready = False Then Result.Text = "No" Else Result.Text = "Yes" End If
autECLPS オブジェクトを使用すると、PCOMM.autECLPS クラスに 含まれるメソッドにアクセスすることができます。 詳細については、autECLPS クラスを参照してください。 以下の例は、このオブジェクトを示しています。
DIM SessObj as Object DIM PSSize as Long Set SessObj = CreateObject("PCOMM.autECLSession") ' Initialize the session SessObj.SetConnectionByName("A") ' For example, get the PS size PSSize = SessObj.autECLPS.GetSize()
autECLOIA オブジェクトを使用すると、PCOMM.autECLOIA クラスに 含まれるメソッドにアクセスすることができます。 詳細については、autECLOIA クラスを参照してください。 以下の例は、このオブジェクトを示しています。
DIM SessObj as Object Set SessObj = CreateObject("PCOMM.autECLSession") ' Initialize the session SessObj.SetConnectionByName("A") ' For example, set the host window to minimized If (SessObj.autECLOIA.Katakana) Then 'whatever Endif
autECLXfer オブジェクトを使用すると、PCOMM.autECLXfer クラスに 含まれるメソッドにアクセスすることができます。 詳細については、autECLXfer クラスを参照してください。 以下の例は、このオブジェクトを示しています。
DIM SessObj as Object Set SessObj = CreateObject("PCOMM.autECLSession") ' Initialize the session SessObj.SetConnectionByName("A") ' For example SessObj.Xfer.Sendfile "c:¥temp¥filename.txt", "filename text a0", "CRLF ASCII"
autECLWinMetrics オブジェクトを使用すると、 PCOMM.autECLWinMetrics クラスに含まれるメソッドにアクセスすることができます。 詳細については、autECLWinMetrics クラスを参照してください。 以下の例は、このオブジェクトを示しています。
DIM SessObj as Object Set SessObj = CreateObject("PCOMM.autECLSession") ' Initialize the session SessObj.SetConnectionByName("A") ' For example, set the host window to minimized SessObj.autECLWinMetrics.Minimized = True
autECLPageSettings オブジェクトを使用すると、PCOMM.autECLPageSettings クラスに含まれるメソッドにアクセスすることができます。詳細については、 autECLPageSettings クラスを参照してください。
以下の例で、autECLPageSettings オブジェクトを示します。
DIM SessObj as Object Set SessObj = CreateObject("PCOMM.autECLSession") 'Initialize the session SessObj.SetConnectionByName("A") 'For example, set the FaceName SessObj.autECLPageSettings.FaceName = "Courier New"
autECLPageSettings オブジェクトは VBSCRIPT でもサポートされています。以下の例は、VBSCRIPT を使用する方法を示しています。
sub test_() autECLSession.SetConnectionByName(ThisSessionName) autECLSession.autECLPageSettings.FaceName="Courier" end sub
autECLPrinterSettings オブジェクトを使用すると、PCOMM.autECLPrinterSettings クラスに含まれるメソッドにアクセスすることができます。詳細については、 autECLPageSettings クラスを参照してください。
以下の例で、autECLPageSettings オブジェクトを示します。
DIM SessObj as Object Set SessObj = CreateObject("PCOMM.autECLSession") ' Initialize the session SessObj.SetConnectionByName("A") 'For example, set the Windows default printer SessObj.autECLPrinterSettings.SetWinDefaultPrinter
autECLPrinterSettings オブジェクトは VBSCRIPT でもサポートされています。以下の例は、VBSCRIPT を使用する方法を示しています。
sub test_() autECLSession.SetConnectionByName(ThisSessionName) autECLSession.autECLPrinterSettings.SetWinDefaultPrinter end sub
以下のセクションで、autECLSession オブジェクトに有効な メソッドを説明します。
このメソッドは、指定されたセッション・イベントの通知を受け取る ための autECLSession オブジェクトを登録します。
なし
例は、イベント処理の例を参照してください。
このメソッドは、すべての通信リンク接続/接続解除のイベントの通知を受け取るための オブジェクトを登録します。
なし
なし
例は、イベント処理の例を参照してください。
セッション・イベント処理を終了します。
なし
なし
例は、イベント処理の例を参照してください。
通信リンク・イベント処理を終了します。
なし
なし
例は、イベント処理の例を参照してください。
このメソッドは、接続名を使用して、新しく作成された autECLSession オブジェクトの 接続を設定します。パーソナル・コミュニケーションズでは、この接続名は、短い ID (文字 A から Z、または a から z) です。 パーソナル・コミュニケーションズ接続でオープンできるのは、1 つの 名前につき 1 つしかありません。例えば、 一度に 1 つの接続 "A" のみをオープンできます。
void SetConnectionByName (String Name)
なし
以下の例は、接続名を使用して、新しく作成された autECLSession オブジェクトの接続を 設定する方法を示します。
DIM SessObj as Object Set SessObj = CreateObject("PCOMM.autECLSession") ' Initialize the session SessObj.SetConnectionByName("A") ' For example, set the host window to minimized SessObj.autECLWinMetrics.Minimized = True
このメソッドは、接続ハンドルを使用して、新しく作成された autECLSession オブジェクトの 接続を設定します。パーソナル・コミュニケーションズでは、この接続ハンドルは Long integer です。 特定の 1 つのハンドルに対して 1 つしか、 パーソナル・コミュニケーションズ接続をオープンできません。例えば、 一度に 1 つの接続 "A" のみをオープンできます。
void SetConnectionByHandle(Long Handle)
なし
以下の例は、接続ハンドルを使用して、新しく作成された autECLSession オブジェクトの 接続を設定する方法を示します。
Dim SessObj as Object Dim autECLConnList as Object Set autECLConnList = CreateObject("PCOMM.autECLConnList") Set SessObj = CreateObject("PCOMM.autECLSession") ' Initialize the session autECLConnList.Refresh autECLPSObj.SetConnectionByHandle(autECLConnList(1).Handle)
StartCommunication 集合要素メソッドは、 ホスト・データ・ストリームに PCOMM エミュレーターを接続します。 これは、PCOMM エミュレーター「通信」メニューを表示して「接続」を選んだ場合と同じ結果になります。
void StartCommunication()
なし
なし
以下の例は、PCOMM エミュレーター・セッションをホストへ接続する方法を示しています。
Dim SessObj as Object Dim autECLConnList as Object Set autECLConnList = CreateObject("PCOMM.autECLConnList") Set SessObj = CreateObject("PCOMM.autECLSession") ' Initialize the session autECLConnList.Refresh SessObj.SetConnectionByHandle(autECLConnList(1).Handle) SessObj.StartCommunication()
StopCommunication 集合要素メソッドは、 ホスト・データ・ストリームから PCOMM エミュレーターを切断します。 これは、PCOMM エミュレーターの「通信」メニューを表示して 「切断」を選んだ場合 と同じ結果になります。
void StopCommunication()
なし
なし
以下の例は、PCOMM エミュレーター・セッションをホストへ接続する方法を示しています。
Dim SessObj as Object Dim autECLConnList as Object Set autECLConnList = CreateObject("PCOMM.autECLConnList") Set SessObj = CreateObject("PCOMM.autECLSession") ' Initialize the session autECLConnList.Refresh SessObj.SetConnectionByHandle(autECLConnList(1).Handle) SessObj.StopCommunication()
以下のイベントは、autECLSession に有効です。
指定された通信リンクは、接続あるいは接続解除されています。
例は、イベント処理の例を参照してください。
このイベントは、イベント処理でエラーが発生したときに起こります。
なし
例は、イベント処理の例を参照してください。
このイベントは、イベント処理が停止したときに起こります。
以下は、セッション・イベントの実装方法についての簡単な例です。
Option Explicit Private WithEvents mSess As autECLSession 'AutSess added as reference sub main() 'Create Objects Set mSess = New autECLSession mSess.SetConnectionByName "A" mSess.RegisterCommEvent 'register for communication link notifications ' Display your form or whatever here (this should be a blocking call, otherwise sub just ends call DisplayGUI() mSess.UnregisterCommEvent set mSess = Nothing End Sub 'This sub will get called when the Communication Link Status of the registered 'connection changes Private Sub mSess_NotifyCommEvent() ' do your processing here End Sub 'This event occurs if an error happens in Communications Link event processing Private Sub mSess_NotifyCommError() 'Do any error processing here End Sub 'This event occurs when Communications Status Notification ends Private Sub mSess_NotifyCommStop() 'Do any stop processing here End Sub
autECLWinMetrics オブジェクト は、エミュレーター・ウィンドウでの操作を実行します。 これによって、ウィンドウ長方形および位置の操作 (例えば、SetWindowRect、Ypos、および Width) を、 ウィンドウ状態の操作 (例えば、Visible または Restored) と同じように実行できます。 登録されている名前は、PCOMM.autECLWinMetrics です。
最初に、作成したオブジェクトの接続を設定しなければなりません。 SetConnectionByName または SetConnectionByHandle を使用して、 オブジェクトを初期設定します。 接続は一度しか設定できません。 接続が設定された後は、接続設定メソッドをさらに呼び出すと例外を引き起こします。 また、接続を設定せずにプロパティーまたはメソッドにアクセスしようとしても、 例外が引き起こされます。
以下の例は、Visual Basic で autECLWinMetrics オブジェクトを作成し 設定する方法を示しています。
DIM autECLWinObj as Object Set autECLWinObj = CreateObject("PCOMM.autECLWinMetrics") ' Initialize the connection autECLWinObj.SetConnectionByName("A") ' For example, set the host window to minimized autECLWinObj.Minimized = True
このセクションでは、autECLWinMetrics オブジェクト のプロパティーを説明します。
型 | 名前 | 属性 |
---|---|---|
String | WindowTitle | 読み取り/書き込み |
Long | Xpos | 読み取り/書き込み |
Long | Ypos | 読み取り/書き込み |
Long | Width | 読み取り/書き込み |
Long | Height | 読み取り/書き込み |
Boolean | Visible | 読み取り/書き込み |
Boolean | Active | 読み取り/書き込み |
Boolean | Minimized | 読み取り/書き込み |
Boolean | Maximized | 読み取り/書き込み |
Boolean | Restored | 読み取り/書き込み |
String | Name | 読み取り専用 |
Long | Handle | 読み取り専用 |
String | ConnType | 読み取り専用 |
Long | CodePage | 読み取り専用 |
Boolean | Started | 読み取り専用 |
Boolean | CommStarted | 読み取り専用 |
Boolean | APIEnabled | 読み取り専用 |
Boolean | Ready | 読み取り専用 |
これは、autECLWinMetrics オブジェクトに 関連する接続のタイトル・バーに現在あるタイトルです。 このプロパティーは、変更と検索の両方が可能です。WindowTitle は、String データ型で読み取り/書き込み可能です。 以下の例は、このプロセスを示しています。以下の例は、このプロパティーを示しています。
Dim autECLWinObj as Object Dim ConnList as Object Dim WinTitle as String Set autECLWinObj = CreateObject("PCOMM.autECLWinMetrics") Set ConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection ConnList.Refresh autECLWinObj.SetConnectionByHandle(ConnList(1).Handle) WinTitle = autECLWinObj.WindowTitle 'get the window title ' or... autECLWinObj.WindowTitle = "Flibberdeejibbet" 'set the window title
ウィンドウ・タイトルがブランクに設定された場合、接続のウィンドウ・タイトルは その元の設定に復元されます。
これは、エミュレーター・ウィンドウ長方形の 上方左の角の x 位置です。 このプロパティーは、変更と検索の両方が可能です。Xpos は、Long データ型で 読み取り/書き込み可能です。ただし、付加した接続がインプレースの組み込みオブジェクトである場合は、 このプロパティーは読み取り専用です。 以下の例は、このプロパティーを示しています。
Dim autECLWinObj as Object Dim ConnList as Object Dim x as Long Set autECLWinObj = CreateObject("PCOMM.autECLWinMetrics") Set ConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection ConnList.Refresh autECLWinObj.SetConnectionByHandle(ConnList(1).Handle) x = autECLWinObj.Xpos 'get the x position ' or... autECLWinObj.Xpos = 6081 'set the x position
これは、エミュレーター・ウィンドウ長方形の 上方左の角の y 位置です。 このプロパティーは、変更と検索の両方が可能です。Ypos は、Long データ型で読み取り/書き込み可能です。 ただし、付加した接続がインプレースの組み込みオブジェクトである場合は、 このプロパティーは読み取り専用です。 以下の例は、このプロパティーを示しています。
Dim autECLWinObj as Object Dim ConnList as Object Dim y as Long Set autECLWinObj = CreateObject("PCOMM.autECLWinMetrics") Set ConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection ConnList.Refresh autECLWinObj.SetConnectionByHandle(ConnList(1).Handle) y = autECLWinObj.Ypos 'get the y position ' or... autECLWinObj.Ypos = 6081 'set the y position
これは、エミュレーター・ウィンドウ長方形の幅です。 このプロパティーは、変更と検索の両方が可能です。Width は、Long データ型で 読み取り/書き込み可能です。ただし、付加した接続がインプレースの組み込みオブジェクトである場合は、 このプロパティーは読み取り専用です。 以下の例は、このプロパティーを示しています。
Dim autECLWinObj as Object Dim ConnList as Object Dim cx as Long Set autECLWinObj = CreateObject("PCOMM.autECLWinMetrics") Set ConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection ConnList.Refresh autECLWinObj.SetConnectionByHandle(ConnList(1).Handle) cx = autECLWinObj.Width 'get the width ' or... autECLWinObj.Width = 6081 'set the width
これは、エミュレーター・ウィンドウ長方形の高さです。 このプロパティーは、変更と検索の両方が可能です。Height は、Long データ型で 読み取り/書き込み可能です。ただし、付加した接続がインプレースの組み込みオブジェクトである場合は、 このプロパティーは読み取り専用です。 以下の例は、このプロパティーを示しています。
Dim autECLWinObj as Object Dim ConnList as Object Dim cy as Long Set autECLWinObj = CreateObject("PCOMM.autECLWinMetrics") Set ConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection ConnList.Refresh autECLWinObj.SetConnectionByHandle(ConnList(1).Handle) cy = autECLWinObj.Height 'get the height ' or... autECLWinObj.Height = 6081 'set the height
これは、エミュレーター・ウィンドウの可視状態です。 このプロパティーは、変更と検索の両方が可能です。Visible は、Boolean データ型で読み取り/書き込み可能です。 ただし、付加した接続がインプレースの組み込みオブジェクトである場合は、 このプロパティーは読み取り専用です。 以下の例は、このプロパティーを示しています。
Dim autECLWinObj as Object Dim ConnList as Object Set autECLWinObj = CreateObject("PCOMM.autECLWinMetrics") Set ConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection ConnList.Refresh autECLWinObj.SetConnectionByHandle(ConnList(1).Handle) ' Set to Visible if not, and vice versa If ( autECLWinObj.Visible) Then autECLWinObj.Visible = False Else autECLWinObj.Visible = True End If
これは、エミュレーター・ウィンドウのフォーカス状態です。 このプロパティーは、変更と検索の両方が可能です。Active は、Boolean データ型で読み取り/書き込み可能です。 ただし、付加した接続がインプレースの組み込みオブジェクトである場合は、 このプロパティーは読み取り専用です。 以下の例は、このプロパティーを示しています。
Dim autECLWinObj as Object Dim ConnList as Object Set autECLWinObj = CreateObject("PCOMM.autECLWinMetrics") Set ConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection ConnList.Refresh autECLWinObj.SetConnectionByHandle(ConnList(1).Handle) ' Set to Active if not, and vice versa If ( autECLWinObj.Active) Then autECLWinObj.Active = False Else autECLWinObj.Active = True End If
これは、エミュレーター・ウィンドウの最小化状態です。 このプロパティーは、変更と検索の両方が可能です。Minimized は Boolean データ型で読み取り/書き込み可能です。 ただし、付加した接続がインプレースの組み込みオブジェクトである場合は、 このプロパティーは読み取り専用です。 以下の例は、このプロパティーを示しています。
Dim autECLWinObj as Object Dim ConnList as Object Set autECLWinObj = CreateObject("PCOMM.autECLWinMetrics") Set ConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection ConnList.Refresh autECLWinObj.SetConnectionByHandle(ConnList(1).Handle) ' Set to minimized if not, if minimized set to maximized If ( autECLWinObj.Minimized) Then autECLWinObj.Maximized = True Else autECLWinObj.Minimized = True End If
これは、エミュレーター・ウィンドウの最大化状態です。 このプロパティーは、変更と検索の両方が可能です。Maximized は、Boolean データ型で読み取り/書き込み可能です。 ただし、付加した接続がインプレースの組み込みオブジェクトである場合は、 このプロパティーは読み取り専用です。 以下の例は、このプロパティーを示しています。
Dim autECLWinObj as Object Dim ConnList as Object Set autECLWinObj = CreateObject("PCOMM.autECLWinMetrics") Set ConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection ConnList.Refresh autECLWinObj.SetConnectionByHandle(ConnList(1).Handle) ' Set to maximized if not, if maximized set to minimized If ( autECLWinObj.Maximized) Then autECLWinObj.Minimized = False Else autECLWinObj.Maximized = True End If
これは、エミュレーター・ウィンドウの復元状態です。Restored は、Boolean データ型で読み取り/書き込み可能です。 ただし、付加した接続がインプレースの組み込みオブジェクトである場合は、 このプロパティーは読み取り専用です。 以下の例は、このプロパティーを示しています。
Dim autECLWinObj as Object Dim SessList as Object Set autECLWinObj = CreateObject("PCOMM.autECLWinMetrics") Set SessList = CreateObject("PCOMM.autECLConnList") ' Initialize the session SessList.Refresh autECLWinObj.SetSessionByHandle(SessList(1).Handle) ' Set to restored if not, if restored set to minimized If ( autECLWinObj.Restored) Then autECLWinObj.Minimized = False Else autECLWinObj.Restored = True End If
このプロパティーは、autECLWinMetrics が設定された接続の 接続名ストリングです。現在、パーソナル・コミュニケーションズは、短い文字 ID (A から Z、または a から z) のみをストリングで戻します。 パーソナル・コミュニケーションズ接続でオープンできるのは、1 つの 名前につき 1 つしかありません。例えば、 一度に 1 つの接続 "A" のみをオープンできます。 Name は、String データ型で読み取り専用です。以下の例は、このプロパティーを示しています。
DIM Name as String DIM Obj as Object Set Obj = CreateObject("PCOMM.autECLWinMetrics") ' Initialize the connection Obj.SetConnectionByName("A") ' Save the name Name = Obj.Name
これは、autECLWinMetrics オブジェクトが 設定された接続のハンドルです。特定の 1 つのハンドルに対して 1 つしか、 パーソナル・コミュニケーションズ接続をオープンできません。例えば、 一度に 1 つの接続 "A" のみをオープンできます。 Handle は、Long データ型で読み取り専用です。 以下の例は、このプロパティーを示しています。
DIM Obj as Object Set Obj = CreateObject("PCOMM.autECLWinMetrics") ' Initialize the connection Obj.SetConnectionByName("A") ' Save the handle Hand = Obj.Handle
これは、autECLWinMetrics が設定された接続タイプです。 このタイプは、時間の経過とともに変更する場合が あります。ConnType は、String データ型で読み取り専用です。 以下の例は、このプロパティーを示しています。
DIM Type as String DIM Obj as Object Set Obj = CreateObject("PCOMM.autECLWinMetrics") ' Initialize the connection Obj.SetConnectionByName("A") ' Save the type Type = Obj.ConnType
ConnType プロパティーの接続タイプは、以下のとおりです。
戻されるストリング | 意味 |
---|---|
DISP3270 | 3270 ディスプレイ |
DISP5250 | 5250 ディスプレイ |
PRNT3270 | 3270 プリンター |
PRNT5250 | 5250 プリンター |
ASCII | VT エミュレーション |
これは、autECLWinMetrics が設定された接続のコード・ページです。 このコード・ページは、時間の経過とともに変更される場合があります。CodePage は、Long データ型で読み取り専用です。以下の例は、このプロパティーを示しています。
DIM CodePage as Long DIM Obj as Object Set Obj = CreateObject("PCOMM.autECLWinMetrics") ' Initialize the connection Obj.SetConnectionByName("A") ' Save the code page CodePage = Obj.CodePage
これは、エミュレーター・ウィンドウが開始されたかどうかを示します。 ウィンドウがオープンしている場合、値は True です。 その他の場合は False です。Started は、Boolean データ型で読み取り専用です。 以下の例は、このプロパティーを示しています。
DIM Hand as Long DIM Obj as Object Set Obj = CreateObject("PCOMM.autECLWinMetrics") ' Initialize the connection Obj.SetConnectionByName("A") ' This code segment checks to see if A is started. ' The results are sent to a text box called Result. If Obj.Started = False Then Result.Text = "No" Else Result.Text = "Yes" End If
これは、ホストへの接続の状況を示しています。 ホストが接続されている場合、値は True です。 その他の場合は False です。CommStarted は、Boolean データ型で読み取り専用です。 以下の例は、このプロパティーを示しています。
DIM Hand as Long DIM Obj as Object Set Obj = CreateObject("PCOMM.autECLWinMetrics") ' Initialize the connection Obj.SetConnectionByName("A") ' This code segment checks to see if communications are connected ' for A. The results are sent to a text box called ' CommConn. If Obj.CommStarted = False Then CommConn.Text = "No" Else CommConn.Text = "Yes" End If
これは、エミュレーターが API 使用可能かどうかを示します。API 設定 (パーソナル・コミュニケーションズのウィンドウでは、 「ファイル」->「API の設定」を選択) の状態に応じて、 接続が可能な場合と、接続できない場合があります。エミュレーターが使用可能の場合には、True です。その他の場合には、False です。APIEnabled は、Boolean データ型で読み取り専用です。以下の例は、このプロパティーを示しています。
DIM Hand as Long DIM Obj as Object Set Obj = CreateObject("PCOMM.autECLWinMetrics") ' Initialize the connection Obj.SetConnectionByName("A") ' This code segment checks to see if A is API enabled. ' The results are sent to a text box called Result. If Obj.APIEnabled = False Then Result.Text = "No" Else Result.Text = "Yes" End If
これは、エミュレーター・ウィンドウが 開始されていて、API 使用可能で、そして接続されているかどうかを示します。 このプロパティーは、3 つのすべてのプロパティーを確認します。 エミュレーターが準備できている場合には、値は True です。 その他の場合には、False です。Ready は、Boolean データ型で読み取り専用です。 以下の例は、このプロパティーを示しています。
DIM Hand as Long DIM Obj as Object Set Obj = CreateObject("PCOMM.autECLWinMetrics") ' Initialize the connection Obj.SetConnectionByName("A") ' This code segment checks to see if A is ready. ' The results are sent to a text box called Result. If Obj.Ready = False Then Result.Text = "No" Else Result.Text = "Yes" End If
以下のセクションで、autECLWinMetrics オブジェクトに有効な メソッドを説明します。
このメソッドは、すべての通信リンク接続/接続解除のイベントの通知を受け取るための オブジェクトを登録します。
なし
なし
例は、イベント処理の例を参照してください。
通信リンク・イベント処理を終了します。
なし
なし
このメソッドは、接続名を使用して、 新しく作成された autECLWinMetrics オブジェクトの接続を設定します。 パーソナル・コミュニケーションズでは、この接続名は、短い ID (文字 A から Z、または a から z) です。 パーソナル・コミュニケーションズ接続でオープンできるのは、1 つの 名前につき 1 つしかありません。例えば、 一度に 1 つの接続 "A" のみをオープンできます。
void SetConnectionByName (String Name)
なし
以下の例は、接続名を使用して、新しく作成された autECLWinMetrics オブジェクトの接続を 設定する方法を示します。
DIM autECLWinObj as Object Set autECLWinObj = CreateObject("PCOMM.autECLWinMetrics") ' Initialize the connection autECLWinObj.SetConnectionByName("A") ' For example, set the host window to minimized autECLWinObj.Minimized = True
このメソッドは、接続ハンドルを使用して、 新しく作成された autECLWinMetrics オブジェクトの接続を設定します。 パーソナル・コミュニケーションズでは、この接続ハンドルは Long integer です。 特定の 1 つのハンドルに対して 1 つしか、 パーソナル・コミュニケーションズ接続をオープンできません。例えば、 一度に 1 つの接続 "A" のみをオープンできます。
void SetConnectionByHandle(Long Handle)
なし
以下の例は、接続ハンドルを使用して、新しく作成された autECLWinMetrics オブジェクトの 接続を設定する方法を示します。
DIM autECLWinObj as Object DIM ConnList as Object Set autECLWinObj = CreateObject("PCOMM.autECLWinMetrics") Set ConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection ConnList.Refresh autECLWinObj.SetConnectionByHandle(ConnList(1).Handle) ' For example, set the host window to minimized autECLWinObj.Minimized = True
GetWindowRect メソッドは、 エミュレーター・ウィンドウ長方形の境界点を戻します。
void GetWindowRect(Variant Left, Variant Top, Variant Right, Variant Bottom)
なし
以下の例は、エミュレーター・ウィンドウ長方形の境界点を戻す方法を示します。
Dim autECLWinObj as Object Dim ConnList as Object Dim left Dim top Dim right Dim bottom Set autECLWinObj = CreateObject("PCOMM.autECLWinMetrics") Set ConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection ConnList.Refresh autECLWinObj.SetConnectionByHandle(ConnList(1).Handle) autECLWinObj.GetWindowRect left, top, right, bottom
SetWindowRect メソッドは、 エミュレーター・ウィンドウ長方形の境界点を設定します。
void SetWindowRect(Long Left, Long Top, Long Right, Long Bottom)
なし
以下の例は、エミュレーター・ウィンドウ長方形の境界点を設定する方法を示します。
Dim autECLWinObj as Object Dim ConnList as Object Set autECLWinObj = CreateObject("PCOMM.autECLWinMetrics") Set ConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection ConnList.Refresh autECLWinObj.SetConnectionByHandle(ConnList(1).Handle) autECLWinObj.SetWindowRect 0, 0, 6081, 6081
StartCommunication 集合要素メソッドは、 ホスト・データ・ストリームに PCOMM エミュレーターを接続します。 これは、PCOMM エミュレーター「通信」メニューを表示して「接続」を選んだ場合と同じ結果になります。
void StartCommunication()
なし
なし
以下の例は、PCOMM エミュレーター・セッションをホストへ接続する方法を示しています。
Dim WinObj as Object Dim autECLConnList as Object Set autECLConnList = CreateObject("PCOMM.autECLConnList") Set WinObj = CreateObject("PCOMM.autECLWinMetrics") ' Initialize the session autECLConnList.Refresh WinObj.SetConnectionByHandle(autECLConnList(1).Handle) WinObj.StartCommunication()
StopCommunication 集合要素メソッドは、 ホスト・データ・ストリームから PCOMM エミュレーターを切断します。 これは、PCOMM エミュレーターの「通信」メニューを表示して 「切断」を選んだ場合 と同じ結果になります。
void StopCommunication()
なし
なし
以下の例は、PCOMM エミュレーター・セッションをホストへ接続する方法を示しています。
Dim WinObj as Object Dim autECLConnList as Object Set autECLConnList = CreateObject("PCOMM.autECLConnList") Set WinObj = CreateObject("PCOMM.autECLWinMetrics") ' Initialize the session autECLConnList.Refresh WinObj.SetConnectionByHandle(autECLConnList(1).Handle) WinObj.StopCommunication()
以下のイベントは、autECL WinMetrics に有効です。
指定された通信リンクは、接続あるいは接続解除されています。
例は、イベント処理の例を参照してください。
このイベントは、イベント処理でエラーが発生したときに起こります。
なし
例は、イベント処理の例を参照してください。
このイベントは、イベント処理が停止したときに起こります。
以下は、WinMetrics イベントの実装方法についての簡単な例です。
Option Explicit Private WithEvents mWmet As autECLWinMetrics 'AutWinMetrics added as reference sub main() 'Create Objects Set mWmet = New autECLWinMetrics mWmet.SetConnectionByName "A" 'Monitor Session A mWmet.RegisterCommEvent ' register for Communications Link updates for session A ' Display your form or whatever here (this should be a blocking call, otherwise sub just ends call DisplayGUI() mWmet.UnregisterCommEvent set mWmet = Nothing End Sub 'This sub will get called when the Communication Link Status of the registered 'connection changes Private Sub mWmet _NotifyCommEvent() ' do your processing here End Sub 'This event occurs if an error happens in Communications Link event processing Private Sub mWmet _NotifyCommError() 'Do any error processing here End Sub 'This event occurs when Communications Status Notification ends Private Sub mWmet _NotifyCommStop() 'Do any stop processing here End Sub
autECLXfer オブジェクト は、ファイル転送サービスを提供します。 登録されている名前は、PCOMM.autECLXfer です。
最初に、作成したオブジェクトの接続を設定しなければなりません。 SetConnectionByName または SetConnectionByHandle を使用して、 オブジェクトを初期設定します。 接続は一度しか設定できません。 接続が設定された後は、SetConnection メソッドをさらに呼び出すと例外を引き起こします。 また、接続を設定せずに autECLXfer プロパティーまたはメソッドにアクセス しようとしても、例外が引き起こされます。 以下の例は、Visual Basic で autECLXfer オブジェクトを作成し設定する方法を示しています。
DIM XferObj as Object Set XferObj = CreateObject("PCOMM.autECLXfer") ' Initialize the connection XferObj.SetConnectionByName("A")
このセクションでは、autECLXfer オブジェクトのプロパティーを説明します。
型 | 名前 | 属性 |
---|---|---|
String | Name | 読み取り専用 |
Long | Handle | 読み取り専用 |
String | ConnType | 読み取り専用 |
Long | CodePage | 読み取り専用 |
Boolean | Started | 読み取り専用 |
Boolean | CommStarted | 読み取り専用 |
Boolean | APIEnabled | 読み取り専用 |
Boolean | Ready | 読み取り専用 |
このプロパティーは、autECLXfer が設定された接続の 接続名ストリングです。パーソナル・コミュニケーションズは、短い文字 ID (A から Z、または a から z) のみをストリングで戻します。 パーソナル・コミュニケーションズ接続でオープンできるのは、1 つの 名前につき 1 つしかありません。例えば、 一度に 1 つの接続 "A" のみをオープンできます。 Name は、String データ型で読み取り専用です。以下の例は、このプロパティーを示しています。
DIM Name as String DIM Obj as Object Set Obj = CreateObject("PCOMM.autECLXfer") ' Initialize the connection Obj.SetConnectionByName("A") ' Save the name Name = Obj.Name
これは、autECLXfer オブジェクトが 設定された接続のハンドルです。 特定の 1 つのハンドルに対して 1 つしか、 パーソナル・コミュニケーションズ接続をオープンできません。例えば、 一度に 1 つの接続 "A" のみをオープンできます。 Handle は、Long データ型で読み取り専用です。 以下の例は、このプロパティーを示しています。
DIM Obj as Object Set Obj = CreateObject("PCOMM.autECLXfer") ' Initialize the connection Obj.SetConnectionByName("A") ' Save the handle Hand = Obj.Handle
これは、autECLXfer が設定された接続タイプです。 このタイプは、時間の経過とともに変更する場合が あります。ConnType は、String データ型で読み取り専用です。 以下の例は、このプロパティーを示しています。
DIM Type as String DIM Obj as Object Set Obj = CreateObject("PCOMM.autECLXfer") ' Initialize the connection Obj.SetConnectionByName("A") ' Save the type Type = Obj.ConnType
ConnType プロパティーの接続タイプは、以下のとおりです。
戻されるストリング | 意味 |
---|---|
DISP3270 | 3270 ディスプレイ |
DISP5250 | 5250 ディスプレイ |
PRNT3270 | 3270 プリンター |
PRNT5250 | 5250 プリンター |
ASCII | VT エミュレーション |
これは、autECLXfer が設定された接続のコード・ページです。 このコード・ページは、時間の経過とともに変更される場合があります。CodePage は、Long データ型で読み取り専用です。以下の例は、このプロパティーを示しています。
DIM CodePage as Long DIM Obj as Object Set Obj = CreateObject("PCOMM.autECLXfer") ' Initialize the connection Obj.SetConnectionByName("A") ' Save the code page CodePage = Obj.CodePage
これは、エミュレーター・ウィンドウが開始されたかどうかを示します。 ウィンドウがオープンしている場合、値は True です。 その他の場合は False です。Started は、Boolean データ型で読み取り専用です。 以下の例は、このプロパティーを示しています。
DIM Hand as Long DIM Obj as Object Set Obj = CreateObject("PCOMM.autECLXfer") ' Initialize the connection Obj.SetConnectionByName("A") ' This code segment checks to see if A is started. ' The results are sent to a text box called Result. If Obj.Started = False Then Result.Text = "No" Else Result.Text = "Yes" End If
これは、ホストへの接続の状況を示しています。 ホストが接続されている場合、値は True です。 その他の場合は False です。CommStarted は、Boolean データ型で読み取り専用です。 以下の例は、このプロパティーを示しています。
DIM Hand as Long DIM Obj as Object Set Obj = CreateObject("PCOMM.autECLXfer") ' Initialize the connection Obj.SetConnectionByName("A") ' This code segment checks to see if communications are connected ' for A. The results are sent to a text box called ' CommConn. If Obj.CommStarted = False Then CommConn.Text = "No" Else CommConn.Text = "Yes" End If
これは、エミュレーターが API 使用可能かどうかを示します。API 設定 (パーソナル・コミュニケーションズのウィンドウでは、 「ファイル」->「API の設定」を選択) の状態に応じて、 接続が可能な場合と、接続できない場合があります。エミュレーターが使用可能の場合には、True です。その他の場合には、False です。APIEnabled は、Boolean データ型で読み取り専用です。以下の例は、このプロパティーを示しています。
DIM Hand as Long DIM Obj as Object Set Obj = CreateObject("PCOMM.autECLXfer") ' Initialize the connection Obj.SetConnectionByName("A") ' This code segment checks to see if A is API enabled. ' The results are sent to a text box called Result. If Obj.APIEnabled = False Then Result.Text = "No" Else Result.Text = "Yes" End If
これは、エミュレーター・ウィンドウが 開始されていて、API 使用可能で、そして接続されているかどうかを示します。 このプロパティーは、3 つのすべてのプロパティーを確認します。 エミュレーターが準備できている場合には、値は True です。 その他の場合には、False です。Ready は、Boolean データ型で読み取り専用です。 以下の例は、このプロパティーを示しています。
DIM Hand as Long DIM Obj as Object Set Obj = CreateObject("PCOMM.autECLXfer") ' Initialize the connection Obj.SetConnectionByName("A") ' This code segment checks to see if A is ready. ' The results are sent to a text box called Result. If Obj.Ready = False Then Result.Text = "No" Else Result.Text = "Yes" End If
以下のセクションで、autECLXfer オブジェクトに有効な メソッドを説明します。
このメソッドは、すべての通信リンク接続/接続解除のイベントの通知を受け取るための オブジェクトを登録します。
なし
なし
例は、イベント処理の例を参照してください。
通信リンク・イベント処理を終了します。
なし
なし
この SetConnectionByName メソッドは、 接続名を使用して、新しく作成された autECLXfer オブジェクトの接続を設定します。 パーソナル・コミュニケーションズでは、この接続名は、短い ID (文字 A から Z、または a から z) です。 パーソナル・コミュニケーションズ接続でオープンできるのは、1 つの 名前につき 1 つしかありません。例えば、 一度に 1 つの接続 "A" のみをオープンできます。
void SetConnectionByName (String Name)
なし
以下の例は、接続名を使用して、新しく作成された autECLXfer オブジェクトの接続を 設定する方法を示します。
DIM XferObj as Object Set XferObj = CreateObject("PCOMM.autECLXfer") ' Initialize the connection XferObj.SetConnectionByName("A")
この SetConnectionByHandle メソッドは、 接続ハンドルを使用して、新しく作成された autECLXfer オブジェクトの接続を設定します。 パーソナル・コミュニケーションズでは、この接続ハンドルは Long integer です。 特定の 1 つのハンドルに対して 1 つしか、 パーソナル・コミュニケーションズ接続をオープンできません。例えば、 一度に 1 つの接続 "A" のみをオープンできます。
void SetConnectionByHandle(Long Handle)
なし
以下の例は、接続ハンドルを使用して、新しく作成された autECLXfer オブジェクトの接続を 設定する方法を示します。
DIM XferObj as Object DIM autECLConnList as Object Set XferObj = CreateObject("PCOMM.autECLXfer") Set autECLConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection with the first connection in the list autECLConnList.Refresh XferObj.SetConnectionByHandle(autECLConnList(1).Handle)
SendFile メソッドは、autECLXfer オブジェクトに関連する 接続について、ワークステーションからホストへファイルを送信します。
void SendFile(String PCFile, String HostFile, String Options)
なし
ファイル転送オプションは、ホストに応じて異なります。以下に示すのは、VM/CMS ホストの有効なホスト・オプションの一部です。
サポートされるホストとそれに関連したファイル転送オプションのリストは、 「エミュレーター・プログラミング」を参照してください。
以下の例は、autECLXfer オブジェクトに関連する接続について、 ワークステーションからホストへファイルを送信する方法を示しています。
DIM XferObj as Object DIM autECLConnList as Object DIM NumRows as Long Set XferObj = CreateObject("PCOMM.autECLXfer") Set autECLConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection with the first connection in the autECLConnList autECLConnList.Refresh XferObj.SetConnectionByHandle(autECLConnList(1).Handle) ' For example, send the file to VM XferObj.SendFile "c:¥windows¥temp¥thefile.txt", "THEFILE TEXT A0", "CRLF ASCII"
ReceiveFile メソッドは、autECLXfer オブジェクト に関連する接続について、ホストからワークステーションへファイルを受信します。
void ReceiveFile(String PCFile, String HostFile, String Options)
なし
ファイル転送オプションは、ホストに応じて異なります。以下に示すのは、VM/CMS ホストの有効なホスト・オプションの一部です。
サポートされるホストとそれに関連したファイル転送オプションのリストは、「エミュレーター・プログラミング」資料を参照してください。
以下の例は、autECLXfer オブジェクトに関連した接続について、 ホストからファイルを受け取り、それをワークステーションに送信する方法を示しています。
DIM XferObj as Object DIM autECLConnList as Object DIM NumRows as Long Set XferObj = CreateObject("PCOMM.autECLXfer") Set autECLConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection with the first connection in the list autECLConnList.Refresh XferObj.SetConnectionByHandle(autECLConnList(1).Handle) ' For example, send the file to VM XferObj.ReceiveFile "c:¥windows¥temp¥thefile.txt", "THEFILE TEXT A0", "CRLF ASCII"
StartCommunication 集合要素メソッドは、 ホスト・データ・ストリームに PCOMM エミュレーターを接続します。 これは、PCOMM エミュレーター「通信」メニューを表示して「接続」を選んだ場合と同じ結果になります。
void StartCommunication()
なし
なし
以下の例は、PCOMM エミュレーター・セッションをホストへ接続する方法を示しています。
Dim XObj as Object Dim autECLConnList as Object Set autECLConnList = CreateObject("PCOMM.autECLConnList") Set XObj = CreateObject("PCOMM.autECLXfer") ' Initialize the session autECLConnList.Refresh XObj.SetConnectionByHandle(autECLConnList(1).Handle) XObj.StartCommunication()
StopCommunication 集合要素メソッドは、 ホスト・データ・ストリームから PCOMM エミュレーターを切断します。 これは、PCOMM エミュレーターの「通信」メニューを表示して 「切断」を選んだ場合 と同じ結果になります。
void StopCommunication()
なし
なし
以下の例は、PCOMM エミュレーター・セッションをホストへ接続する方法を示しています。
Dim XObj as Object Dim autECLConnList as Object Set autECLConnList = CreateObject("PCOMM.autECLConnList") Set XObj = CreateObject("PCOMM.autECLXfer") ' Initialize the session autECLConnList.Refresh XObj.SetConnectionByHandle(autECLConnList(1).Handle) SessObj.StopCommunication()
以下のイベントは、autECLXfer に有効です。
指定された通信リンクは、接続あるいは接続解除されています。
例は、イベント処理の例を参照してください。
このイベントは、イベント処理でエラーが発生したときに起こります。
なし
例は、イベント処理の例を参照してください。
このイベントは、イベント処理が停止したときに起こります。
以下は、Xfer イベントの実装方法についての簡単な例です。
Option Explicit Private WithEvents mXfer As autECLXfer 'AutXfer added as reference sub main() 'Create Objects Set mXfer = New autECLXfer mXfer.SetConnectionByName "A" 'Monitor Session A mXfer.RegisterCommEvent ' register for Communications Link updates for session A ' Display your form or whatever here (this should be a blocking call, otherwise sub just ends call DisplayGUI() mXfer.UnregisterCommEvent set mXfer= Nothing End Sub 'This sub will get called when the Communication Link Status of the registered 'connection changes Private Sub mXfer _NotifyCommEvent() ' do your processing here End Sub 'This event occurs if an error happens in Communications Link event processing Private Sub mXfer _NotifyCommError() 'Do any error processing here End Sub 'This event occurs when Communications Status Notification ends Private Sub mXfer _NotifyCommStop() 'Do any stop processing here End Sub
autSystem クラスは、 プログラム言語によっては存在しないユーティリティー操作を実行するために使用されます。
以下のセクションで、autSystem オブジェクトに 有効なメソッドを説明します。
shell 関数は、実行可能ファイルを実行します。
メソッドは、正常終了の場合はプロセス ID を、失敗した場合はゼロを戻します。
Example autSystem - Shell() 'This example starts notepad with the file c:¥test.txt loaded dim ProcessID dim SysObj as object set SysObj = CreateObject("PCOMM.autSystem") ProcessID = SysObj.shell "Notepad.exe","C:¥test.txt" If ProcessID > 0 then Msgbox "Notepad Started, ProcessID = " + ProcessID Else Msgbox "Notepad not started" End if
Inputnd メソッドは、ユーザーに対して表示しないテキスト枠を使用してポップアップ入力ボックスを表示します。 したがって、ユーザーがデータを入力したとき、アスタリスク (*) のみが表示されます。
なし
入力ボックスに入力された文字、また、何も入力されていない場合は、"" が戻されます。
DIM strPassWord dim SysObj as Object dim PSObj as Object set SysObj = CreateObject("PCOMM.autSystem") set PSObj = CreateObject("PCOMM.autPS") PSObj.SetConnectionByName("A") 'Prompt user for password strPassWord = SysObj.Inputnd() PSObj.SetText(strPasssWord) DIM XferObj as Object Set XferObj = CreateObject("PCOMM.autECLXfer") ' Initialize the connection XferObj.SetConnectionByName("A")
autECLPageSettings オブジェクトは、パーソナル・コミュニケーションズ接続のページ設定を制御します。登録 されている名前は、Personal Communications.autECLPageSettings です。 この自動化オブジェクトは VB スクリプトでも使用できます。
読み取り専用プロパティー autECLPageSettings は autECLSession オブジェクトに追加されています。このプロパティーの使用方法については、autECLSession クラスを参照してください。
以下の例は、Visual Basic で autECLPageSettings オブジェクトを作成し、 設定する方法を示しています。
DIM PgSet as Object Set PgSet = CreateObject("PCOMM.autECLPageSettings") PgSet.SetConnectionByName("A")
このオブジェクトは、DBCS および双方向セッションではサポートされません。
最初に、作成したオブジェクトの接続を設定しなければなりません。 SetConnectionByName または SetConnectionByHandle を使用して、 オブジェクトを初期設定します。 接続は一度しか設定できません。接続が設定された後は、接続設定メソッドをさらに呼び出すと例外を引き起こします。 接続を設定せずにプロパティーまたはメソッドにアクセスしようとすると、 例外が引き起こされます。
プロパティー CPI、LPI、および FontSize はプロパティー FaceName によって決定されます。 そのため、FaceName を設定する前に CPI、LPI、または FontSize を設定し、 それらが新しい FaceName に対して有効ではない場合、異なる CPI、LPI、または FontSize 値が接続で再構成される場合があります。CPI、LPI、または FontSize を設定する前に FaceName を設定する必要があります。そうしなかった場合には、FaceName を設定するたびに CPI、LPI、および FontSize を照会して、それらが希望する値であることを確認してください。
各メソッドに関連する接続は、メソッドを成功させるために 特定の状態になければなりません。制約事項を満たしていないと、 該当する例外が引き起こされます。
autECLPageSettings オブジェクトのいずれかのプロパティーまたはメソッドが呼び出されるときには、 以下の制約事項を満たしている必要があります。
特定のプロパティーまたはメソッドに対して追加の制約事項が適用される場合があります。
autECLPageSettings クラス内のメソッドには、以下の接続タイプが有効です。
プロパティーまたはメソッドが、サポートされない接続上でアクセスされたり、呼び出されたりすると、 例外が引き起こされます。ConnType プロパティーを使用して接続タイプを判別してください。
このセクションでは、autECLPageSettings オブジェクトのプロパティーを説明します。
型 | 名前 | 属性 |
---|---|---|
Long | CPI | 読み取り/書き込み |
Boolean | FontCPI | 読み取り専用 |
Long | LPI | 読み取り/書き込み |
Boolean | FontLPI | 読み取り専用 |
String | FaceName | 読み取り/書き込み |
Long | FontSize | 読み取り/書き込み |
Long | MaxLinesPerPage | 読み取り/書き込み |
Long | MaxCharsPerLine | 読み取り/書き込み |
String | Name | 読み取り専用 |
Long | Handle | 読み取り専用 |
String | ConnType | 読み取り専用 |
Long | CodePage | 読み取り専用 |
Boolean | Started | 読み取り専用 |
Boolean | CommStarted | 読み取り専用 |
Boolean | APIEnabled | 読み取り専用 |
Boolean | Ready | 読み取り専用 |
このプロパティーは、1 インチ当たりに印刷される文字数を決定します。これは Long データ型で、読み取り/書き込み可能です。
このプロパティーを事前定義の定数 pcFontCPI に設定して、 「ページ設定 (Page Settings)」の「フォント CPI (Font CPI)」を選択するか、特定の CPI 値に設定します。 接続に FontCPI が構成されているときにこのプロパティーが照会されると、 実際の CPI 値が戻され、定数 pcFontCPI は戻されません。
FontCPI が接続に設定されているかどうかを判別するには、プロパティー FontCPI を使用します。
Dim PgSet as Object Dim ConnList as Object Dim CPI as Long Set PgSet = CreateObject("PCOMM.autECLPageSettings") Set ConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection ConnList.Refresh PgSet.SetConnectionByHandle(ConnList(1).Handle) CPI = PgSet.CPI ' get the CPI value ' or... PgSet.CPI = pcFontCPI 'set the connection to use Font CPI.
これは、接続に「フォント CPI (Font CPI)」が設定されているかどうかを判別します。 FontCPI は、Boolean データ型で読み取り専用です。
Dim PgSet as Object Dim ConnList as Object Set PgSet = CreateObject("PCOMM.autECLPageSettings") Set ConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection ConnList.Refresh PgSet.SetConnectionByHandle(ConnList(1).Handle) 'check if Font CPI is set If PgSet.FontCPI Then ...
このプロパティーは、1 インチ当たりに印刷される行数を決定します。これは Long データ型で、読み取り/書き込み可能です。このプロパティーを事前定義の定数 pcFontLPI に設定して、 「ページ設定 (Page Settings)」の「フォント LPI (Font LPI)」を選択するか、特定の LPI 値に設定します。 接続に FontLPI が構成されているときにこのプロパティーが照会されると、 実際の LPI 値が戻され、定数 pcFontLPI は戻されません。 FontLPI が接続に設定されているかどうかを判別するには、プロパティー FontLPI を使用します。
Dim PgSet as Object Dim ConnList as Object Dim LPI as Long Set PgSet = CreateObject("PCOMM.autECLPageSettings") Set ConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection ConnList.Refresh PgSet.SetConnectionByHandle(ConnList(1).Handle) LPI = PgSet.LPI ' get the LPI value ' or... PgSet.LPI = pcFontLPI 'set the connection to use Font LPI.
このプロパティーは、接続に「フォント LPI (Font LPI)」が設定されているかどうかを判別します。 FontLPI は、Boolean データ型で読み取り専用です。
Dim PgSet as Object Dim ConnList as Object Set PgSet = CreateObject("PCOMM.autECLPageSettings") Set ConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection ConnList.Refresh PgSet.SetConnectionByHandle(ConnList(1).Handle) 'check if Font LPI is set If PgSet.FontLPI Then ...
これは、接続の「ページ設定 (Page Settings)」の「フォント書体名 (Font Face Name)」です。 FaceName は、String データ型で読み取り/書き込み可能です。
Dim PgSet as Object Dim ConnList as Object Dim FaceName as String Set PgSet = CreateObject("PCOMM.autECLPageSettings") Set ConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection ConnList.Refresh PgSet.SetConnectionByHandle(ConnList(1).Handle) FaceName = PgSet.FaceName ' get the FaceName ' or... PgSet.FaceName = "Courier New" 'set the FaceName
これは、接続の「ページ設定 (Page Settings)」のフォント・サイズです。FontSize は、Long データ型で読み取り/書き込み可能です。
Dim PgSet as Object Dim ConnList as Object Dim FontSize as Long Set PgSet = CreateObject("PCOMM.autECLPageSettings") Set ConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection ConnList.Refresh PgSet.SetConnectionByHandle(ConnList(1).Handle) FontSize = PgSet. FontSize ' get the FontSize ' or... PgSet. FontSize = 14 'set the FontSize
このプロパティーは、1 ページに印刷可能な最大行数です。 これは、最大印刷行数 または MPL とも呼ばれます。有効値の範囲は 1 から 255 です。これは Long データ型で、読み取り/書き込み可能です。
Dim PgSet as Object Dim ConnList as Object Dim MPL as Long Set PgSet = CreateObject("PCOMM.autECLPageSettings") Set ConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection ConnList.Refresh PgSet.SetConnectionByHandle(ConnList(1).Handle) MPL = PgSet.MaxLinesPerPage ' get the MaxLinesPerPage ' or... PgSet.MaxLinesPerPage = 20 'set the MaxLinesPerPage
このプロパティーは、1 行に印刷可能な最大文字数です。 これは、最大印刷位置 または MPP とも呼ばれます。有効値の範囲は 1 から 255 です。これは Long データ型で、読み取り/書き込み可能です。
Dim PgSet as Object Dim ConnList as Object Dim MPP as Long Set PgSet = CreateObject("PCOMM.autECLPageSettings") Set ConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection ConnList.Refresh PgSet.SetConnectionByHandle(ConnList(1).Handle) MPP = PgSet.MaxCharsPerLine ' get the MaxCharsPerLine ' or... PgSet.MaxCharsPerLine = 80 'set the MaxCharsPerLine
このプロパティーは、autECLPageSettings が設定された接続の 接続名ストリングです。パーソナル・コミュニケーションズは、短い文字 ID (A から Z の単一の英字) のみをストリングで戻します。パーソナル・コミュニケーションズ接続でオープンできるのは、1 つの 名前につき 1 つしかありません。例えば、一度に 1 つの接続 A のみをオープンできます。Name は、String データ型で読み取り専用です。
Dim PgSet as Object Dim ConnList as Object DIM Name as String Set PgSet = CreateObject("PCOMM.autECLPageSettings") Set ConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection ConnList.Refresh PgSet.SetConnectionByHandle(ConnList(1).Handle) Name = PgSet.Name 'Save the name
このプロパティーは、autECLPageSettings オブジェクトが設定された接続のハンドルです。特定の 1 つのハンドルに対して 1 つしか、 パーソナル・コミュニケーションズ接続をオープンできません。例えば、一度に 1 つの接続 A のみをオープンできます。Handle は、Long データ型で読み取り専用です。
Dim PgSet as Object Dim ConnList as Object Dim Hand as Long Set PgSet = CreateObject("PCOMM.autECLPageSettings") Set ConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection ConnList.Refresh PgSet.SetConnectionByHandle(ConnList(1).Handle) Hand = PgSet.Handle ' save the handle
このプロパティーは、autECLPageSettings が設定された接続タイプです。 このタイプは、時間の経過とともに変更される場合があります。 ConnType は、String データ型で読み取り専用です。
ストリング値 | 接続タイプ |
---|---|
DISP3270 | 3270 ディスプレイ |
DISP5250 | 5250 ディスプレイ |
PRNT3270 | 3270 プリンター |
PRNT5250 | 5250 プリンター |
ASCII | VT エミュレーション |
Dim PgSet as Object Dim ConnList as Object Dim Type as String Set PgSet = CreateObject("PCOMM.autECLPageSettings") Set ConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection ConnList.Refresh PgSet.SetConnectionByHandle(ConnList(1).Handle) Type = PgSet.ConnType ' save the type
このプロパティーは、autECLPageSettings が設定された接続タイプです。 このタイプは、時間の経過とともに変更される場合があります。 ConnType は、String データ型で読み取り専用です。
Dim PgSet as Object Dim ConnList as Object Dim CodePage as Long Set PgSet = CreateObject("PCOMM.autECLPageSettings") Set ConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection ConnList.Refresh PgSet.SetConnectionByHandle(ConnList(1).Handle) CodePage = PgSet.CodePage ' save the codepage
このプロパティーは、エミュレーター・ウィンドウが開始されたかどうかを示します。 ウィンドウがオープンしている場合、値は True です。 その他の場合は False です。Started は、Boolean データ型で読み取り専用です。
Dim PgSet as Object Dim ConnList as Object Set PgSet = CreateObject("PCOMM.autECLPageSettings") Set ConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection ConnList.Refresh PgSet.SetConnectionByHandle(ConnList(1).Handle) ' This code segment checks to see if A is started. ' The results are sent to a text box called Result. If PgSet.Started = False Then Result.Text = "No" Else Result.Text = "Yes" End If
このプロパティーは、ホストへの接続の状況を示しています。ホストが接続されている場合、値は True です。 その他の場合は False です。CommStarted は、Boolean データ型で読み取り専用です。
Dim PgSet as Object Dim ConnList as Object Set PgSet = CreateObject("PCOMM.autECLPageSettings") Set ConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection ConnList.Refresh PgSet.SetConnectionByHandle(ConnList(1).Handle) ' This code segment checks to see if communications are connected ' for A. The results are sent to a text box called ' CommConn. If PgSet.CommStarted = False Then CommConn.Text = "No" Else CommConn.Text = "Yes" End If
このプロパティーは、エミュレーターが API 使用可能かどうかを示します。 API 設定 (パーソナル・コミュニケーションズのウィンドウでは、「編集」->「プリファレンス」->「API」をクリック) の状態に応じて、接続を API 使用可能または使用不可にできます。 エミュレーターが API 使用可能の場合には、値は True です。 その他の場合には、False です。 APIEnabled は、Boolean データ型で読み取り専用です。
Dim PgSet as Object Dim ConnList as Object Set PgSet = CreateObject("PCOMM.autECLPageSettings") Set ConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection ConnList.Refresh PgSet.SetConnectionByHandle(ConnList(1).Handle) ' This code segment checks to see if A is API-enabled. ' The results are sent to a text box called Result. If PgSet.APIEnabled = False Then Result.Text = "No" Else Result.Text = "Yes" End If
このプロパティーは、エミュレーター・ウィンドウが開始されているか、API 使用可能か、接続されているかどうかを示します。このプロパティーは、3 つのすべてのプロパティーを確認します。 エミュレーターが準備できている場合には、値は True です。 その他の場合には、False です。Ready は、Boolean データ型で読み取り専用です。
Dim PgSet as Object Dim ConnList as Object Set PgSet = CreateObject("PCOMM.autECLPageSettings") Set ConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection ConnList.Refresh PgSet.SetConnectionByHandle(ConnList(1).Handle) ' This code segment checks to see if A is ready. ' The results are sent to a text box called Result. If PgSet.Ready = False Then Result.Text = "No" Else Result.Text = "Yes" End If
以下のセクションで、autECLPageSettings オブジェクトに有効なメソッドを説明します。
void RestoreTextDefaults() void SetConnectionByName (String Name) void SetConnectionByHandle (Long Handle) |
RestoreTextDefaults メソッドは、接続の「ページ設定 (Page Setup)」ダイアログの「テキスト」プロパティー・ページのシステム・デフォルト値を復元します。 これは、接続の「ページ設定 (Page Setup)」ダイアログの「テキスト」プロパティー・ページで「デフォルト」ボタンを押すことと同じです。
void RestoreTextDefaults()
なし
なし
以下の例で、RestoreTextDefaults メソッドを示します。
Dim PgSet as Object Dim ConnList as Object Set PgSet = CreateObject("PCOMM.autECLPageSettings") Set ConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection ConnList.Refresh PgSet.SetConnectionByHandle(ConnList(1).Handle) PgSet.RestoreTextDefaults 'Restores Text Default Settings
この SetConnectionByName メソッドは、接続名を使用して、新しく作成された autECLPageSettings オブジェクトの接続を設定します。 この接続名は、短い文字 ID (A から Z の単一の英字) です。 パーソナル・コミュニケーションズ接続でオープンできるのは、1 つの 名前につき 1 つしかありません。例えば、一度に 1 つの接続 A のみをオープンできます。
void SetConnectionByName (String Name)
なし
以下の例は、接続名を使用して、新しく作成された autECLPageSettings オブジェクトの接続を設定する方法を示します。
Dim PgSet as Object Set PgSet = CreateObject("PCOMM.autECLPageSettings") ' Initialize the connection PgSet.SetConnectionByName("A") ' For example, see if Font CPI is set If PgSet.FontCPI Then 'your logic here... End If
この SetConnectionByHandle メソッドは、接続ハンドルを使用して、新しく作成された autECLPageSettings オブジェクトの接続を設定します。 パーソナル・コミュニケーションズでは、この接続ハンドルは Long integer です。 特定の 1 つのハンドルに対して 1 つしか、 パーソナル・コミュニケーションズ接続をオープンできません。例えば、一度に 1 つの接続 A のみをオープンできます。
void SetConnectionByHandle(Long Handle)
なし
以下の例は、接続ハンドルを使用して、新しく作成された autECLPageSettings オブジェクトの接続を設定する方法を示します。
Dim PgSet as Object Dim ConnList as Object Set PgSet = CreateObject("PCOMM.autECLPageSettings") Set ConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection ConnList.Refresh PgSet.SetConnectionByHandle(ConnList(1).Handle) ' For example, see if Font CPI is set If PgSet.FontCPI Then 'your logic here... End If
autECLPrinterSettings オブジェクトは、パーソナル・コミュニケーションズ接続のプリンター設定を制御します。登録されている名前は、PCOMM.autECLPrinterSettings です。 この自動化オブジェクトは VB スクリプトでも使用できます。
読み取り専用プロパティー autECLPrinterSettings が autECLSession オブジェクトに追加されています。このプロパティーの使用方法については、autECLSession クラスを参照してください。
以下の例は、Visual Basic で autECLPrinterSettings オブジェクトを作成し、設定する方法を示しています。
DIM PrSet as Object Set PrSet = CreateObject("PCOMM.autECLPrinterSettings") PrSet.SetConnectionByName("A")
このオブジェクトは、DBCS および双方向セッションではサポートされません。
最初に、作成したオブジェクトの接続を設定しなければなりません。 SetConnectionByName または SetConnectionByHandle を使用して、 オブジェクトを初期設定します。 接続は一度しか設定できません。接続が設定された後は、接続設定メソッドをさらに呼び出すと例外を引き起こします。 接続を設定せずにプロパティーまたはメソッドにアクセスしようとすると、 例外が引き起こされます。
プロパティー CPI、LPI、および FontSize はプロパティー FaceName によって決定されます。 そのため、FaceName を設定する前に CPI、LPI、または FontSize を設定し、 それらが新しい FaceName に対して有効ではない場合、異なる CPI、LPI、または FontSize 値が接続で再構成される場合があります。CPI、LPI、または FontSize を設定する前に FaceName を設定する必要があります。そうしなかった場合には、FaceName を設定するたびに CPI、LPI、および FontSize を照会して、それらが希望する値であることを確認してください。
各メソッドに関連する接続は、メソッドを成功させるために 特定の状態になければなりません。制約事項を満たしていないと、 該当する例外が引き起こされます。
autECLPageSettings オブジェクトのいずれかのプロパティーまたはメソッドが呼び出されるときには、 以下の制約事項を満たしている必要があります。
特定のプロパティーまたはメソッドに対して追加の制約事項が適用される場合があります。
このセクションでは、autECLPrinterSettings オブジェクトのプロパティーを説明します。
型 | 名前 | 属性 |
---|---|---|
Boolean | PDTMode | 読み取り専用 |
String | PDTFile | 読み取り専用 |
Long | PrintMode | 読み取り専用 |
String | Printer | 読み取り専用 |
String | PrtToDskAppendFile | 読み取り専用 |
String | PrtToDskSeparateFile | 読み取り専用 |
Boolean | PrompDialogOption | 読み取り/書き込み |
String | Name | 読み取り専用 |
Long | Handle | 読み取り専用 |
String | ConnType | 読み取り専用 |
Boolean | CodePage | 読み取り専用 |
Boolean | Started | 読み取り専用 |
Boolean | CommStarted | 読み取り専用 |
Boolean | APIEnabled | 読み取り専用 |
Boolean | Ready | 読み取り専用 |
このプロパティーは、接続が PDT モードであるかどうかを判別します。 PDTMode は、Boolean データ型で、読み取り/書き込み可能です。
Dim PrSet as Object Dim ConnList as Object Set PrSet = CreateObject("PCOMM.autECLPrinterSettings") Set ConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection ConnList.Refresh PrSet.SetConnectionByHandle(ConnList(1).Handle) 'check if in PDT mode. If PrSet.PDTMode Then ...
このプロパティーは、接続に PDT ファイルが構成されているかどうかを示します。 このプロパティーは、接続に PDT ファイルが構成されていない場合にはヌル・ストリングを示します。 それ以外の場合、このプロパティーは PDT ファイルの完全修飾パス名を示します。PDTFile は、String データ型で読み取り専用です。
Dim PrSet as Object Dim ConnList as Object Set PrSet = CreateObject("PCOMM.autECLPrinterSettings") Set ConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection ConnList.Refresh PrSet.SetConnectionByHandle(ConnList(1).Handle) If PrSet. PDTFile = vbNullString Then ' get the ... Else ...
このプロパティーは、接続の印刷モードを示します。PrintMode は、Long データ型で読み取り専用です。このプロパティーは、次の 4 つの列挙型値のいずれかを戻します。
値 | 列挙型定数の名前 | 説明 |
---|---|---|
1 | pcPrtToDskAppend | ディスクへの印刷 - コピー追加モード。 これは、接続の「プリンター設定 (Printer Setup)」ダイアログの「プリンター」リスト・ボックスで「ディスクへの印刷」->「コピー追加」オプションが選択されていることを意味します。 |
2 | pcPrtToDskSeparate | ディスクへの印刷 - 別個モード。 これは、接続の「プリンター設定 (Printer Setup)」ダイアログの「プリンター」リスト・ボックスで 「ディスクへの印刷」->「別個」オプションが選択されていることを意味します。 |
3 | pcSpecificPrinter | 特定のプリンター・モード。 これは、接続の「プリンター設定 (Printer Setup)」ダイアログの「プリンター」リスト・ボックスでいずれかのプリンターが選択されて、「Windows のデフォルト・プリンターを使用 (Use Windows Default Printer)」チェック・ボックスがクリアされていることを意味します。 |
4 | pcWinDefaultPrinter | Windows® のデフォルト・プリンター・モード。これは、「Windows のデフォルト・プリンターを使用 (Use Windows Default Printer)」チェック・ボックスが選択されていることを意味します。 |
Dim PrSet as Object Dim ConnList as Object Set PrSet = CreateObject("PCOMM.autECLPrinterSettings") Set ConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection ConnList.Refresh PrSet.SetConnectionByHandle(ConnList(1).Handle) If PrSet.PrintMode = pcPrtToDskAppend Then ... ElseIf PrSet.PrintMode = pcPrtToDskSeparate Then ... ElseIf PrSet.PrintMode = pcSpecificPrinter Then ... ElseIf PrSet.PrintMode = pcWinDefaultPrinter Then ...
このプロパティーは、プリンターの名前です。これには、以下のいずれかが入ります。
Printer は、String データ型で読み取り専用です。
値の形式は次のようにする必要があります。
<Printer name> on <Port Name>
例えば、次のようになります。
Dim PrSet as Object Dim ConnList as Object Dim Printer as String Set PrSet = CreateObject("PCOMM.autECLPrinterSettings") Set ConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection ConnList.Refresh PrSet.SetConnectionByHandle(ConnList(1).Handle) Printer = PrSet.Printer ' get the Printer Name
このプロパティーは、ディスクへの印刷 - コピー追加モードのファイル・セットの名前です。 このファイルは、ディスクへの印刷 - コピー追加 ファイルと呼ばれます。このプロパティーには、以下のいずれかが入ります。
PrtToDskAppendFile は、String データ型で読み取り専用です。
Dim PrSet as Object Dim ConnList as Object Dim DskAppFile as String Set PrSet = CreateObject("PCOMM.autECLPrinterSettings") Set ConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection ConnList.Refresh PrSet.SetConnectionByHandle(ConnList(1).Handle) DskAppFile = PrSet. PrtToDskAppendFile ' get the Disk append file.
このプロパティーは、ディスクへの印刷 - 別個モードのファイル・セットの名前です。 このファイルは、ディスクへの印刷 - 別個 ファイルと呼ばれます。このプロパティーには、以下のいずれかが入ります。
PrtToDskSeparateFile は、String データ型で読み取り専用です。
Dim PrSet as Object Dim ConnList as Object Dim DskSepFile as String Set PrSet = CreateObject("PCOMM.autECLPrinterSettings") Set ConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection ConnList.Refresh PrSet.SetConnectionByHandle(ConnList(1).Handle) DskSepFile = PrSet. PrtToDskSeparateFile ' get the Disk separate file.
このプロパティーは、 印刷前に「プリンター設定 (Printer Setup)」ダイアログを表示するオプションが設定されているかどうかを示します。PromptDialogOption は、Boolean データ型で読み取り専用です。
Dim PrSet as Object Dim ConnList as Object Dim PromptDialog as Boolean Set PrSet = CreateObject("PCOMM.autECLPrinterSettings") Set ConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection ConnList.Refresh PrSet.SetConnectionByHandle(ConnList(1).Handle) PromptDialog = PrSet.PromptDialogOption ' get the Prompt Dialog option ' or... PrSet.PromptDialogOption = True 'set the Prompt Dialog option
このプロパティーは、autECLPrinterSettings が設定された接続の 接続名ストリングです。パーソナル・コミュニケーションズは、短い文字 ID (A から Z の単一の英字) のみをストリングで戻します。パーソナル・コミュニケーションズ接続でオープンできるのは、1 つの 名前につき 1 つしかありません。例えば、一度に 1 つの接続 A のみをオープンできます。Name は、String データ型で読み取り専用です。
Dim PrSet as Object Dim ConnList as Object DIM Name as String Set PrSet = CreateObject("PCOMM.autECLPrinterSettings") Set ConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection ConnList.Refresh PrSet.SetConnectionByHandle(ConnList(1).Handle) Name = PrSet.Name 'Save the name
このプロパティーは、autECLPrinterSettings オブジェクトが設定された接続のハンドルです。特定の 1 つのハンドルに対して 1 つしか、 パーソナル・コミュニケーションズ接続をオープンできません。例えば、一度に 1 つの接続 A のみをオープンできます。Handle は、Long データ型で読み取り専用です。
Dim PrSet as Object Dim ConnList as Object Dim Hand as Long Set PrSet = CreateObject("PCOMM.autECLPrinterSettings") Set ConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection ConnList.Refresh PrSet.SetConnectionByHandle(ConnList(1).Handle) Hand = PrSet.Handle ' save the handle
このプロパティーは、autECLPrinterSettings が設定された接続タイプです。 このタイプは、時間の経過とともに変更される場合があります。 ConnType は、String データ型で読み取り専用です。
ストリング値 | 接続タイプ |
---|---|
DISP3270 | 3270 ディスプレイ |
DISP5250 | 5250 ディスプレイ |
PRNT3270 | 3270 プリンター |
PRNT5250 | 5250 プリンター |
ASCII | VT エミュレーション |
Dim PrSet as Object Dim ConnList as Object Dim Type as String Set PrSet = CreateObject("PCOMM.autECLPrinterSettings") Set ConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection ConnList.Refresh PrSet.SetConnectionByHandle(ConnList(1).Handle) Type = PrSet.ConnType ' save the type
このプロパティーは、autECLPrinterSettings が設定された接続のコード・ページです。このコード・ページは、時間の経過とともに変更される場合があります。 CodePage は、Long データ型で読み取り専用です。
Dim PrSet as Object Dim ConnList as Object Dim CodePage as Long Set PrSet = CreateObject("PCOMM.autECLPrinterSettings") Set ConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection ConnList.Refresh PrSet.SetConnectionByHandle(ConnList(1).Handle) CodePage = PrSet.CodePage ' save the codepage
このプロパティーは、エミュレーター・ウィンドウが開始されたかどうかを示します。 ウィンドウがオープンしている場合、値は True です。 その他の場合は False です。Started は、Boolean データ型で読み取り専用です。
Dim PrSet as Object Dim ConnList as Object Set PrSet = CreateObject("PCOMM.autECLPrinterSettings") Set ConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection ConnList.Refresh PrSet.SetConnectionByHandle(ConnList(1).Handle) ' This code segment checks to see if A is started. ' The results are sent to a text box called Result. If PrSet.Started = False Then Result.Text = "No" Else Result.Text = "Yes" End If
このプロパティーは、ホストへの接続の状況を示しています。ホストが接続されている場合、値は True です。 その他の場合は False です。CommStarted は、Boolean データ型で読み取り専用です。
Dim PrSet as Object Dim ConnList as Object Set PrSet = CreateObject("PCOMM.autECLPrinterSettings") Set ConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection ConnList.Refresh PrSet.SetConnectionByHandle(ConnList(1).Handle) ' This code segment checks to see if communications are connected ' for A. The results are sent to a text box called ' CommConn. If PrSet.CommStarted = False Then CommConn.Text = "No" Else CommConn.Text = "Yes" End If
このプロパティーは、エミュレーターが API 使用可能かどうかを示します。 API 設定 (パーソナル・コミュニケーションズのウィンドウでは、「編集」->「プリファレンス」->「API」をクリック) の状態に応じて、接続を API 使用可能または使用不可にします。
エミュレーターが API 使用可能の場合には、値は True です。 その他の場合には、False です。 APIEnabled は、Boolean データ型で読み取り専用です。
Dim PrSet as Object Dim ConnList as Object Set PrSet = CreateObject("PCOMM.autECLPrinterSettings") Set ConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection ConnList.Refresh PrSet.SetConnectionByHandle(ConnList(1).Handle) ' This code segment checks to see if A is API-enabled. ' The results are sent to a text box called Result. If PrSet.APIEnabled = False Then Result.Text = "No" Else Result.Text = "Yes" End If
このプロパティーは、エミュレーター・ウィンドウが開始されているか、API 使用可能か、接続されているかどうかを示します。このプロパティーは、3 つのすべてのプロパティーを確認します。 エミュレーターが準備できている場合には、値は True です。 その他の場合には、False です。Ready は、Boolean データ型で読み取り専用です。
Dim PrSet as Object Dim ConnList as Object Set PrSet = CreateObject("PCOMM.autECLPrinterSettings") Set ConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection ConnList.Refresh PrSet.SetConnectionByHandle(ConnList(1).Handle) ' This code segment checks to see if A is ready. ' The results are sent to a text box called Result. If PrSet.Ready = False Then Result.Text = "No" Else Result.Text = "Yes" End If
以下のセクションで、autECLPrinterSettings オブジェクトに有効なメソッドを説明します。
void SetPDTMode(Boolean bPDTMode, [optional] String PDTFile) void SetPrtToDskAppend( [optional] String FileName) void SetPrtToDskSeparate([optional] String FileName) void SetSpecificPrinter(String Printer) void SetWinDefaultPrinter() void SetConnectionByName (String Name) void SetConnectionByHandle (Long Handle) |
SetPDTMode メソッドは、所定の PDT ファイルによって PDT モードに接続を設定するか、非 PDT モード (GDI モード とも呼ばれる) に接続を設定します。
このメソッドが bPDTMode を False に設定して呼び出される場合には、 関連する接続の PrintMode が既に SpecificPrinter または WinDefaultPrinter に設定されている必要があります。
void SetPDTMode(Boolean bPDTMode, [optional] String PDTFile)
このパラメーターは、bPDTMode が TRUE の場合にのみ使用されます。 このパラメーターが指定されていない場合に、bPDTMode が TRUE に設定されると、接続に構成されている PDT ファイルが使用されます。 接続にまだ PDT ファイルが構成されていない場合、このメソッドは例外をスローして失敗します。
bPDTMode が FALSE の場合、このパラメーターは無視されます。
可能な値は、以下のとおりです。
パーソナル・コミュニケーションズの インストール・パスの PDFPDT サブフォルダー内の PDTFile が使用されます。
PDTFile が存在しない場合、このメソッドは例外をスローして失敗します。
なし
Dim PrSet as Object Dim ConnList as Object Set PrSet = CreateObject("PCOMM.autECLPrinterSettings") Set ConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection ConnList.Refresh PrSet.SetConnectionByHandle(ConnList(1).Handle) PrSet.SetPDTMode(True, "epson.pdt") 'Set PDT mode PrSet.SetPDTMode(False) 'Set non-PDT mode (also called GDI mode)
このメソッドは、接続の PrintMode をディスクへの印刷 - コピー追加モードに設定します。 これは、このモードに該当するファイルも設定します。
void SetPrtToDskAppend( [optional] String FileName)
ファイルが存在する場合には、それが使用されます。それ以外の場合、 印刷の完了時に作成されます。
可能な値は、以下のとおりです。
ユーザー・クラスのアプリケーション・データ・ディレクトリー・パスを使用してファイルを見つけます。
パス内にディレクトリーが存在している必要があります。 ない場合、メソッドは例外をスローして失敗します。ファイルがパス内に存在する必要はありません。
このパラメーターが指定されていない場合、 接続の この PrintMode に構成されているファイルが使用されます。 接続にまだファイルが構成されていないと、このメソッドは例外をスローして失敗します。
なし
Dim PrSet as Object Dim ConnList as Object Set PrSet = CreateObject("PCOMM.autECLPrinterSettings") Set ConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection ConnList.Refresh PrSet.SetConnectionByHandle(ConnList(1).Handle) 'If PDTMode, set PrintMode to pcPrtToDskAppend If PrSet.PDTMode Then PrSet.SetPrtToDskAppend("dskapp.txt")
このメソッドは、接続の PrintMode をディスクへの印刷 - 別個モードに設定します。 これは、このモードに該当するファイルも設定します。
void SetPrtToDskSeparate([optional] String FileName)
このパラメーターが指定されていない場合、 接続でこの PrintMode に構成されているファイルが使用されます。
可能な値は、以下のとおりです。
接続でこの PrintMode に現在構成されているファイルが使用されます。 接続にまだファイルが構成されていないと、このメソッドは例外をスローして失敗します。
ユーザー・クラスのアプリケーション・データ・ディレクトリー・パスを使用してファイルを見つけます。
パス内にディレクトリーが存在している必要があります。 ない場合、メソッドは例外をスローして失敗します。ファイルがパス内に存在する必要はありません。
なし
Dim PrSet as Object Dim ConnList as Object Set PrSet = CreateObject("PCOMM.autECLPrinterSettings") Set ConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection ConnList.Refresh PrSet.SetConnectionByHandle(ConnList(1).Handle) 'If PDTMode, set PrintMode to pcPrtToDskSeparate If PrSet.PDTMode Then PrSet.SetPrtToDskSeparate("dsksep")
このメソッドは、接続の PrintMode を Printer パラメーターで指定されたプリンターによって特定のプリンター・モードに設定します。
void SetSpecificPrinter(String Printer)
値の形式は次のようにする必要があります。
<Printer name> on <Port Name>
例えば、次のようになります。
なし
Dim PrSet as Object Dim ConnList as Object Set PrSet = CreateObject("PCOMM.autECLPrinterSettings") Set ConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection ConnList.Refresh PrSet.SetConnectionByHandle(ConnList(1).Handle) 'Set PrintMode to pcSpecificPrinter PrSet. SetSpecificPrinter("IBM InfoPrint 40 PS on Network Port")
このメソッドは、接続の PrintMode を Windows のデフォルト・プリンター・モードに設定します (接続は Windows のデフォルト・プリンターを使用します)。Windows のデフォルト・プリンターが構成されていない場合、 このメソッドは例外をスローして失敗します。
void SetWinDefaultPrinter()
なし
なし
Dim PrSet as Object Dim ConnList as Object Set PrSet = CreateObject("PCOMM.autECLPrinterSettings") Set ConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection ConnList.Refresh PrSet.SetConnectionByHandle(ConnList(1).Handle) 'Set PrintMode to pcWinDefaultPrinter PrSet. SetWinDefaultPrinter
この SetConnectionByName メソッドは、接続名を使用して、新しく作成された autECLPrinterSettings オブジェクトの接続を設定します。パーソナル・コミュニケーションズ では、この接続名は、短い接続 ID (A から Z の単一の英字) です。パーソナル・コミュニケーションズ接続でオープンできるのは、1 つの 名前につき 1 つしかありません。例えば、一度に 1 つの接続 A のみをオープンできます。
void SetConnectionByName (String Name)
なし
以下の例は、接続名を使用して、新しく作成された autECLPrinterSettings オブジェクトの接続を設定する方法を示します。
Dim PrSet as Object Set PrSet = CreateObject("PCOMM.autECLPrinterSettings") ' Initialize the connection PrSet.SetConnectionByName("A") ' For example, see if PDTMode If PrSet.PDTMode Then 'your logic here... End If
この SetConnectionByHandle メソッドは、接続ハンドルを使用して、新しく作成された autECLPrinterSettings オブジェクトの接続を設定します。パーソナル・コミュニケーションズでは、この接続ハンドルは Long integer です。
特定の 1 つのハンドルに対して 1 つしか、 パーソナル・コミュニケーションズ接続をオープンできません。例えば、一度に 1 つの接続 A のみをオープンできます。
void SetConnectionByHandle(Long Handle)
なし
以下の例は、接続ハンドルを使用して、新しく作成された autECLPrinterSettings オブジェクトの接続を設定する方法を示します。
Dim PrSet as Object Dim ConnList as Object Set PrSet = CreateObject("PCOMM.autECLPrinterSettings") Set ConnList = CreateObject("PCOMM.autECLConnList") ' Initialize the connection ConnList.Refresh PrSet.SetConnectionByHandle(ConnList(1).Handle) ' For example, see if PDTMode If PrSet.PDTMode Then 'your logic here... End If
IBM パーソナル・コミュニケーションズによって公開されている自動化オブジェクトは、.NET フレームワークをターゲットとする任意の言語で作成されたアプリケーションによって使用できます。管理対象の .NET アプリケーションは、自動化オブジェクトをラップするプライマリー相互運用アセンブリー (PIA) を使用して、パーソナル・コミュニケーションズをプログラミングできます。 相互運用アセンブリーは、管理対象の (.NET) アプリケーションが COM 準拠オブジェクトを使用する際のメカニズムです。相互運用アセンブリーには、バインディングおよびメタデータ情報が含まれ、 これにより、.NET フレームワーク (CLR) は COM オブジェクトをロードまたはマーシャルして、.NET アプリケーション用にラップできます。 PIA には、COM 型の提供者によって定義された COM 型の正式な記述が含まれます。 PIA は、必ずオリジナルの COM 型の提供者によってデジタル署名されています。
.NET アプリケーションがアセンブリーを参照できる方法は 2 つあります。
相互運用アセンブリーによって公開されている型のプログラミング・モデルは COM とよく似ています。COM オブジェクトによって公開されているメソッド、プロパティー、 およびイベントは、いずれの .NET 言語でもその言語の構文を使用してアクセスできます。 C# で作成されたサンプル・アプリケーション (ECLSamps.net) がパーソナル・コミュニケーションズのインストール・イメージの ¥samples ディレクトリーに提供されています。このサンプルは、 相互運用アセンブリーのさまざまな型の単純な使用法を示します。
Visual Basic 6.0 で、パーソナル・コミュニケーションズの自動化オブジェクトを使用し、 変換支援ウィザードを使用して Visual Basic .NET に移行したプロジェクトでは、 ユーザーは、対応するパーソナル・コミュニケーションズ相互運用参照 (¥Interops ディレクトリー) を使用して変換支援ウィザードによって暗黙で 生成される参照を置換して、再コンパイルするだけです。参照を置換する方法は、 変換支援によって生成されたすべての参照を削除し、Visual Studio .NET を使用して .NET 相互運用参照を追加します。GAC に登録してあるアセンブリーを使用する場合、 参照を追加して、パーソナル・コミュニケーションズ 相互運用参照の「ローカルのコピー (Copy Local)」プロパティーを「False」に設定します。
パーソナル・コミュニケーションズのエミュレーター自動化オブジェクトの PIA は、パーソナル・コミュニケーションズのインストール・イメージの ¥Interops ディレクトリーにインストールされます。 パーソナル・コミュニケーションズ製品インストーラーによって .NET フレームワークが存在することが検出された場合、GAC 内に型を登録するための追加オプションが提供されます。 GAC にアセンブリーをインストールすると、PIA は対応する型ライブラリーのレジストリー・キーの下のレジストリーにも置かれます。
表 2 に、パーソナル・コミュニケーションズの自動化オブジェクトに提供される PIA をリストします。
自動化オブジェクト | 相互運用アセンブリー依存関係 |
---|---|
autECLConnList | Interop.AutConnListTypeLibrary.dll |
autECLConnMgr | Interop.AutConnMgrTypeLibrary.dll |
autECLConnList | Interop.AutPSTypeLibrary.dll |
autECLOIA | Interop.AutOIATypeLibrary.dll |
autECLPS | Interop.AutPSTypeLibrary.dll |
autECLScreenDesc | Interop.AutScreenDescTypeLibrary.dll |
autECLScreenReco | Interop.AutScreenRecoTypeLibrary.dll |
autECLSession | Interop.AutSessTypeLibrary.dll |
autECLPageSettings | Interop.AutSettingsTypeLibrary.dll |
autECLPrinterSettings | Interop.AutSettingsTypeLibrary.dll |
autECLWinMetrics | Interop.AutWinMetricsTypeLibrary.dll |
autECLXfer | Interop.AutXferTypeLibrary.dll |
autSystem | Interop.AutSystemTypeLibrary.dll |