新規投稿 記事一覧 ホーム
●ご利用方法,ご利用に際しての規約はこちらをお読みください。
こちらからの投稿は、先頭に表示されているコメントへの返信になります。
RE:Autowebでカーソル位置による検索プログラムの起動 IKD さん [ 6月12日(木) 10時8分 ]

    可能です。

    HTML ではカーソル位置の検出は不可能に思えますが
    AutoWeb では INFDS を使ってのカーソル位置を検出して
    POPUP などの子プログラムの起動を行うこともできます。
    また HTML生成後に、そのフィールドをどのような位置にデザインを
    変更したとしても元のカーソル位置が仮想端末API に渡されます。

    さらに出力フィールドのカーソル位置の検出を行うこともできます。
    HTML の場合、カーソルは入力フィールドにしか位置づけることは
    できませんが、マウスポインターを出力フィールドの位置に
    セットして、機能キーを押せば、その出力フィールドの行・桁が
    取得されます。

    ただしカーソルが位置づけられていたカーソル内での桁位置までの
    検出はできません。(そのフィールド内のうちの何桁めに位置づけられて
    いるかの情報)

    RE:Autowebでカーソル位置による検索プログラムの起動 伊集院博 さん [ 6月12日(木) 12時38分 ]

      Autowebの仕組みが良く理解できていませんが、
      HTML上でカーソルを動かすと裏でエミュレータ画面が存在していて
      同時にカーソルが移動しているイメージなのでしょうか。
      HTMLを変更した場合、画面サイズを超える事もあるでしょうから
      何らかの形で元のカーソル位置を検出できるような仕組みになっているのですね。
      ありがとうございました。

      RE:Autowebでカーソル位置による検索プログラムの起動 IKD さん [ 6月12日(木) 15時50分 ]

        AutoWeb の背後にエミュレータ画面は存在していません。
        従来のように TELNET を起動するのではなく仮想端末API を起動して
        5250ストリームを直接、入手しています。
        ( TELNET であればフィールドの属性を読み取ることができませんので
          ユーザーが数字/文字等の妥当性検査を追加する必要があります。)

        カーソル位置を取得する仕組みは簡単で
        AutoWeb によって生成された HTML上の入力フィールドの ID は
        Bxxyy (xx=行, yy=桁) というように命名されています。
        ユーザーがこのフィールドにカーソルをセットすると
        JavaScript : OnClick によってフィールドの ID がブラウザ上で
        一時的に保管されます。
        最後にユーザーが GOボタンや機能キーを押して SUBMIT すると
        CURSOR=Bxxyy という変数としてサーバー(System i) に送られます。
        AutoWeb は、この規則に従ってカーソルの行と列を取得して、
        仮想端末API に伝えます。(仮想端末API への投入は必ず正しいカーソル位置が
        必要です。)
        この結果としてユーザーのRPG の INFDS でも正しいカーソル位置を
        取得することができるようになります。
        出力フィールドの場合はやや複雑ですが同じような原理です。
        デモでよく使用する F4キーによるPOPUP表示もカーソル位置を読んで
        POPUP 表示しています。 

お名前
パスワード
e-mailアドレス
タイトル
ホームページ
アドレス