HOME HELP 新規作成 新着記事 ツリー表示 スレッド表示 トピック表示 ファイル一覧 検索 過去ログ

《 桐質問以外の話題は、「のほか掲示板」からどうぞ 》
■ 24時間以内に作成されたスレッドは New で表示されます。
■ 24時間以内に更新されたスレッドは UpDate で表示されます。

記事リスト ( )内の数字はレス数
UpDate保存した条件における読み込み元表のパスが変更されている場合(2) | Nomalレポートでページごとの合計を表示(2) | Nomal一覧表(tbx)を開いた状態での複合レポート(1) | Nomal会話で開かれていない為継承できません(1) | Nomal文字置換(5) | Nomal(削除)(4) | Nomal加工開始日を求めたい(32) | Nomalタイルを2つ(3) | Nomalレポートで明細末尾に以下余白と表示させたいです(2) | Nomal桐レポートCond関数で(2) | Nomalフォームのコマンドボタンについて(18) | Nomal特定箇所の計算(2) | Nomalエクセル1900基準にしたい(4) | Nomalレポート印刷(5) | Nomal桐レポート若しくは一覧表印刷で作成可能かどうか(3) | NomalDBの接続に失敗しました(2) | Nomal行制約について(29) | Nomal条件選択だと思うんですが…(2) | Nomal(削除)(0) | Nomal環境依存文字(5) | Nomalエクセル書き出し(7) | Nomalレポート オブジェクトの属性(2) | Nomal[英単語] を単語単位で検索・絞込する方法(15) | Nomal時間型の置換(3) | Nomalフォームの式入力で[名前]と背景色を指定できますか(22) | Nomal表番号の謎(15) | Nomalアポストロフィ、シングルクォーテーションの「'」(8) | Nomal桐RDSで固まる(1) | Nomalフォーム入力途中でESC(6) | Nomal(削除)(1) | Nomal文字列への入力方法(4) | Nomal毎月2日から翌月1日までを1ヶ月(2日の日の属する月)とする行集計の方法について(2) | Nomalインボイス対応請求書レポート作成(8) | Nomal対象表が更新中またはグループ操作中のためこのコマンドは使用できません(2) | Nomal右クリックフォーム(1) | Nomal変数を反映させたい(16) | Nomal桐の履歴(2) | Nomalレポートの列集計(件数集計)について(15) | NomalNumLockキー 処理中止にしたい(3) | Nomal右クリックフォーム(8) | Nomal(削除)(13) | Nomal∨ や ∧ の変換(2) | Nomalデータ内の指定文字列個数を知りたい(7) | Nomalcmd実行中の左下表示(1) | Nomal書き出しコマンドについて(2) | Nomal超初心者ですみませんが・・・・(12) | Nomalxmlファイル読み込みについて(1) | Nomalテキスト読み込み(5) | Nomal文字の置き換え(2) | Nomalレポートのヘッダーとフッターの日付が異なる(12) | Nomal値集合の番号とは(7) | Nomal字種制約違反について(4) | Nomal更新を判定出来ますか?(30) | Nomalクリックスライド入力(15) | Nomal数値の直前値がおかしくなります(5) | Nomal単純な項目の計(1) | Nomalレポート 表ファイル名の選択(2) | Nomal文字、記号、数字が混在したランダムなパスワードを作る方法(5) | Nomal伝票印刷において(1) | Nomal『KU1109:ファイル名の形式が不正です』(23) |



■記事リスト / ▼下のスレッド
■14103 / 親記事)  表番号の謎
□投稿者/ 桐太郎 -(2024/02/03(Sat) 00:33:32)
    WIN11、桐10S使用です。
    イベントを触りはじめたというレベルです。

    編集対象表をもたないメニューフォームにある
    コマンドボタンを押して、
    売上.TBXに販売.TBXのデータを読み込む。
    読み込み後、売上.TBXのウィンドウを作成する。
    イベントはここまでです。
    その後は売上.TBXのウィンドウで会話処理で
    細かい部分を修正して目視で確認してから
    売上.TBXを保存終了する。
    このようなことをしたく、メニューフォームに
    以下のとおりイベントを作成しました。
    (実際は販売.TBXをいろいろ絞り込みしてから読み込むのですが、
    単純化した内容です。)

    今回お聞きしたいのは、以下のイベントのとおり、
    売上.TBXの表番号を32としたところ、
    売上.TBXのウィンドウの右上の×印を押したら、
    「更新されています。保存しますか」という
    メッセージがでずにウィンドウが消えてしまいます。

    売上.TBXの表番号を32から2に変更したら、
    「更新されています。保存しますか」
    というメッセージが表示されます。

    32にするとなぜそうなるのか、
    桐の他の箇所の設定の問題で起きる問題なのか、
    チンプンカンプンです。
    ファイルも添付するので教えてください。

    手続き定義開始 "販売から売上へデータ移行クリック"()
    表 "販売.TBX", 表番号=1
    表 "売上.TBX", 表番号=32
    ウィンドウ作成 表
    ジャンプ 行番号= 終端
    読み込み 表,"販売.TBX"
    終了 表 1
    手続き定義終了





1706888012.zip
/13KB
引用返信 [メール受信/OFF]

▽[全レス15件(ResNo.11-15 表示)]
■14121 / ResNo.11)  Re[1]: 表番号の謎
□投稿者/ ONnoji -(2024/02/09(Fri) 10:23:43)
    2024/02/09(Fri) 10:39:50 編集(投稿者)

    > 表をフォームで表示することについては、
    > 表でほとんどやりたいことが足りてしまっており、
    > まだ使用したことがないに等しいです。

    確かに、ちょっとした作業を履歴機能よりも少しスマートに行いたいというのであれば、

    今回見せていただいた{ メニュー.WFX|メニュー.kex }のように、

    あたかも履歴のような、DOS桐/桐ver.7の一括処理を流用したようなイベント処理のプログラムでもOKだと思います。

    しかし、もう少し本格的なアプリケーションを目指すのであれば、不満な部分が多くなると思いますよ。
        ・・・・・・・・・・・・・・・・・・・・・・・・・

    > (この掲示板で紹介されていたONnojiさんのページの入門講座や
    > AKomeさんのページの入門講座は真似して作成してみましたが、
    > どのように学習していこうかと思案中です。)

    プログラムの書き方は自由ですから、これという決まりはありません。

    なので100人がプログラムを書けば、100通りのプログラムが出来上がります。

    そんなファジーなプログラムですが、

    私(ONnoji)なりの方法をご紹介するのでご参考にしてください。

    なお、添付ファイルは数日を目途に削除しますのでお早めにダウンロードしてください。

    添付ファイルを解凍すると以下のファイルがあります。

    メニュー_modify.kex
    メニュー_modify.WFX ← コマンドボタンに機能名:開くを利用したランチャーフォーム
    売上.kex
    売上.TBX
    売上.WFX ← ランチャーフォームから開かれる売上のフォーム 開始時に自動的に販売.tbxを読み込みます
    販売.TBX

    <重要>

    添付ファイルのダウンロードに成功するケースと失敗するケースがありますのでご注意ください。

    この掲示板を http で閲覧する時と、 https で閲覧する時との違いで起きます。

    〇 http://tayu.o0o0.jp/bbs/kiri/cbbs.cgi?H=T&no=0  ※従来のリンクを辿るとこっちになります

    × https://tayu.o0o0.jp/bbs/kiri/cbbs.cgi?H=T&no=0 ※ググルとこっちになります(^^ゞ


     ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇

    ■メニュー_modify.WFX

     フォーム
     ├ ファミリ
     ├ ワークスペース
     └ フォーム明細部
       └ cmd販売から売上へデータ移行

     オブジェクト名: cmd販売から売上へデータ移行
     標題     : 販売から売上へデータ移行( ランチャー版 )

      機能名 機能パラメータリスト
     1 表示
     2 開く   "売上.WFX"
     3 なし
     4 なし

    ■メニュー_modify.kex

    名札  メイン





    ■売上.WFX

     フォーム
     ├ ファミリ
     ├ ワークスペース
     │ └ cmdStartup  ← 開始時実行コマンドボタン
     ├ フォーム操作バー
     ├ フォームヘッダ部
     │ ├ a
     │ ├ a日付
     │ ├ a会社名
     │ ├ a商品名
     │ ├ a単価
     │ ├ a数量
     │ └ a税抜金額
     └ フォーム明細部
       ├ 行セレクタ
       ├ t日付
       ├ t会社名
       ├ t商品名
       ├ t単価
       ├ t数量
       └ t税抜金額

     オブジェクト名: cmdStartup
     標題     : 開始時実行コマンドボタン

      機能名   機能パラメータリスト
     1 表示
     2 手続き実行 cmdStartupClick
     3 なし
     4 なし


    ■売上.kex

    名札  メイン
     変数宣言 局所,長整数{ &mフォーム開始時のレコード数 }
     変数宣言 局所,長整数{ &m販売を読み込み後のレコード数 }



    手続き定義開始 cmdStartupClick( )
     変数宣言 自動, 文字列{ &title = "cmdStartupClick( )", &msg }
     変数宣言 自動, 整数 { &status, &ans }

     &mフォーム開始時のレコード数 = #総件数

     ジャンプ 行番号 = 終端
     読み込み 表, 条件名 = "読込表 販売.tbx",終了状態 = &status

     &m販売を読み込み後のレコード数 = #総件数

     &msg =      "開始時実行コマンドボタン( cmdStartup )を実行しました"
     &msg = &msg + "\n\nフォーム開始時のレコード数 = " + #str( &mフォーム開始時のレコード数  )
     &msg = &msg + "\n\n販売を読み込み後のレコード数 = " + #str( &m販売を読み込み後のレコード数 )
     &msg = &msg + "\n\n販売.tbx から " + #str( &m販売を読み込み後のレコード数 - &mフォーム開始時のレコード数 ) + " レコードを読み込みました"
     メッセージボックス  &title, &msg, アイコン = i, ボタン指定 = 1, 制御文字展開 = する, &ans

    手続き定義終了

     ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇

    開始時実行コマンドボタンに関しては以下の拙作webページを参考にしてください

     桐の釣魚大全のトップ > フォームアプリケーション教書 第1部
     18.1 [名札 メイン]/[フォーム開始]/[実行コマンド:開始時]/[実行コマンド:終了時]/[フォーム終了]
     http://silicon7565.html.xdomain.jp/guide/guide_Part1.htm#section18-1

    また、あこめ(AKome)さんのwebページにも詳しい記事があるので、こちらもご参考にしてください。

     あこめの桐のプログラミング入門 桐10s by AKome
     Tips 起動・終了時に自動で
     http://akome409102.html.xdomain.jp/Kiri/Tips_auto_run.html


引用返信 [メール受信/OFF]
■14126 / ResNo.12)  Re[4]: 表番号の謎
□投稿者/ 桐太郎 -(2024/02/09(Fri) 17:26:52)
    No14117に返信(ONnojiさんの記事)

    > 表番号=1、表番号=32のように表番号を指定するのは、DOS桐の一括処理を思い起こします。
    >
    > ひょっとして、DOS桐や桐ver.7の一括処理を解説した書籍を参考書にしていますか???

    旅行中、また、戻られてから詳しい内容での
    回答ありがとうございました。

    終了 表 のヘルプを見たところ、
    表番号を指定するか、編集対象表かのどちらかしかなかったので、
    仕方なく表番号を指定していました。
    [ウィンドウ作成]も一般的ではないとのことですが、
    ウインドウがなかったので、ヘルプを頼りにそうしていました。

    現在の標準的な方法は、[フォーム+イベント]を使用したやり方というのは
    掲示板でよく見る内容ですよね。
    フォームアプリケーション教書等々、触って学習したいと思います。


引用返信 [メール受信/OFF]
■14127 / ResNo.13)  Re[3]: 表番号の謎
□投稿者/ 桐太郎 -(2024/02/09(Fri) 17:29:29)
    > ただし、[フォーム+イベント処理]では表番号32はもちろん、
    >
    > [ウィンドウ作成]コマンドも普通使わないですからねぇ〜。
    >
    > 見逃されていたんですね。
    >
    > p.p.s.
    >
    > この虫の件はK3へ報告しておきました。

    通りすがりさん、ONnojiさん

    確認、報告ありがとうございました。
    一般的な方法ではないとのことも知れてよかったです。
    報告もしていただいたということで解決済みにします。
解決済み!
引用返信 [メール受信/OFF]
■14128 / ResNo.14)  Re[2]: 表番号の謎
□投稿者/ 桐太郎 -(2024/02/09(Fri) 17:31:02)

    > 編集表 "販売.TBX"
    > 終了 表 編集対象表
    >
    >
    > 表番号変数を使わない書き方
    > もありかもです


    編集対象表にすれば、表番号変数を使用しなくてもよいですね。
    ありがとうございました。

引用返信 [メール受信/OFF]
■14129 / ResNo.15)  Re[2]: 表番号の謎
□投稿者/ 桐太郎 -(2024/02/09(Fri) 17:34:47)
    No14121に返信(ONnojiさんの記事)

    添付ファイルダウンロードしました。
    内容も自分には難解そうです。

    が、フォーム+イベントを理解していきたいので、
    いろいろ触ってみます!

    ありがとうございます。
引用返信 [メール受信/OFF]

■記事リスト / レス記事表示 → [親記事-9] [10-15]



■記事リスト / ▼下のスレッド / ▲上のスレッド
■14089 / 親記事)  アポストロフィ、シングルクォーテーションの「'」
□投稿者/ いぶけん -(2024/01/03(Wed) 16:43:41)
    アポストロフィ、シングルクォーテーションの「'」

    桐10sです;

    上記をネットサイトから桐へコピペすると、明らかに半角であるのに、
    全角でペーストされます。(頻度80-90%以上)

    理由がわからないのですが、回避する方法はありますでしょうか?

    ちなみに、今日発生したのは下記ページの「Let's」です
    https://eigo.plus/englishphrase/letsgo

    よろしくお願いします。
引用返信 [メール受信/OFF]

▽[全レス8件(ResNo.4-8 表示)]
■14094 / ResNo.4)  Re[1]: アポストロフィ、シングルクォーテーションの「'」
□投稿者/ ONnoji -(2024/01/04(Thu) 12:39:38)
    2024/01/04(Thu) 17:22:18 編集(投稿者)

    > ちなみに、今日発生したのは下記ページの「Let's」です
    > https://eigo.plus/englishphrase/letsgo

    このwebページで表示される

    Let’s goの意味は?日本語のレッツゴーとは違うネイティブの使い方

    ↑上のページのソースはこちら
     ↓
    Let’s goの意味は?日本語のレッツゴーとは違うネイティブの使い方
      ・・・・
      ↑
    これは

    ’ ’ ’ right single quotation mark

    【参考】HTMLやXMLで特殊文字を表現する文字参照と実体参照の変換一覧表
        https://segakuin.com/html/character-and-entity-references.html

    つまり、’ が right single quotation mark なのですが・・・

    しかし、もしも ’ が ' であれば半角だったと思われます。

    ちなみに、 ' は「Unicodeでは使用は推奨されない。」のだそうです

     引用符 出典: フリー百科事典『ウィキペディア(Wikipedia)』
     https://ja.wikipedia.org/wiki/%E5%BC%95%E7%94%A8%E7%AC%A6
     ■直線形
      開始記号と終了記号が同じである。
      タイプライターやコンピュータで使用する。
      ただしUnicodeでは使用は推奨されない。
      ・・・・・・・・・・・・・・・・・・
      なおU+0027の文字名称は歴史的な経緯から「アポストロフィー」となっているが、
      アポストロフィーとしての使用も推奨されず、
      閉じシングルクォートと同じU+2019を使う。

    ということで、Unicode のwebページでクリップボードにコピーすると、

    ' だと思い込んでいる文字が、実は ’ であったということになるのだと思いますが???

    p.s.

    桐の表の場合には、MSゴシック等の等倍フォントで表示することが多いので目立ちますが、

    プロポーショナルフォントで表示すると・・・見ただけでは区別が付かないかもしれませんね。(^^ゞ

引用返信 [メール受信/OFF]
■14096 / ResNo.5)  Re[3]: アポストロフィ、シングルクォーテーションの「'」
□投稿者/ hidetake -(2024/01/04(Thu) 22:47:53)
http://https
    2024/01/04(Thu) 22:50:07 編集(投稿者)

    > 見た目がどうこうではなく、文字検索にヒットしないのです。

    使用している「文字コード(文字)」が異なるからです。

    異なる文字を同一に扱うには問題があります。

    桐でテーブルを表形式で表示させた状態で、
    右クリックし、「コード表示」で、Unicode なり
    シフトJIS なり、文字コードを表示させ、自分が
    思っている字形の文字と、異なる字形の文字の
    文字コードを確認して下さい。

    異なる文字をどういう風に表示させたいかは、
    使用するフォントにより異なります。
    だからといって、同じような字形で見える文字も
    全く同じ字形で表示させる(表示されるか)かは
    別問題です。

    「文字コード」と「字形」をどう取り扱いのか、
    取り扱いたいのか、
    文字コードを統一させたいのか、字形を似たような
    文字にしたいのか。
    それは、使用する方が選択するしかありません。

    似たような字形で表示されるからと行って、同じ
    文字(文字コード)であるかどうかは、別問題です。

引用返信 [メール受信/OFF]
■14098 / ResNo.6)  Re[2]: アポストロフィ、シングルクォーテーションの「'」
□投稿者/ うにん -(2024/01/08(Mon) 11:18:15)
    > ちなみに、 ' は「Unicodeでは使用は推奨されない。」のだそうです
    そういえばワープロで打ってて勝手に開閉ペアの””に直されてしまうことがあった気がします。
    あくまでも、「クオーテーション」や「アポストロフィ」としての使用は、ということでUnicodeで保存する「(英語などの)文書」での話でしょう。
    桐に限らずコンピュータ言語の演算子ではUnicodeであって'を使わないと通らないものが多いのでは。

    確かに区別がつきづらくて、試そうと思っても変換候補のどれがその文字なのかわかりませんでした^^;コード表から入れないとだめですね...
引用返信 [メール受信/OFF]
■14099 / ResNo.7)  Re[3]: アポストロフィ、シングルクォーテーションの「'」
□投稿者/ ONnoji -(2024/01/08(Mon) 13:39:23)
    2024/01/08(Mon) 23:48:41 編集(投稿者)

    > 開始記号と終了記号が同じである。タイプライターやコンピュータで使用する。
     ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
    > ただしUnicodeでは使用は推奨されない。
    > なおU+0027の文字名称は歴史的な経緯から「アポストロフィー」となっているが、
    > アポストロフィーとしての使用も推奨されず、閉じシングルクォートと同じU+2019を使う。

    ウィキペディア(Wikipedia)の説明は、英文を直訳しただろうと思うのですが・・・

    確かに推奨されないと言われるとドッキリしますよね。(^^ゞ

    でも、

    > 開始記号と終了記号が同じである。タイプライターやコンピュータで使用する。
     ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    とあるように、
    コンピュータ言語ではASCII の十進:39、16進:27、を使うのが当たり前田のクラッカーでしょうね。古!

    だって、コンピュータの世界ではUnicode が新参者で、

    コンピュータのプログラムが紙テープに保存されていた頃のASCII の方が先輩なんですからね。(*^^*)ok

    従って、結局のところウィキペディア(Wikipedia)の説明で、「推奨しない」としたのはwebページ等のことだろうと思いますよ。

    周知のようにウィキペディアの内容も玉石混交ですから、時々ドッキリさせられますよね。(^^ゞ
          ・・・・・・・・・・・・・・・
引用返信 [メール受信/OFF]
■14100 / ResNo.8)  Re[1]: アポストロフィ、シングルクォーテーションの「'」
□投稿者/ いぶけん -(2024/01/11(Thu) 10:03:26)
    皆様、ご回答ありがとうございました。
    全角の「’」「”」を絞り込んで、一括置換することにします。


    ありがとうございました。
解決済み!
引用返信 [メール受信/OFF]

■記事リスト / レス記事表示 → [親記事-8]



■記事リスト / ▼下のスレッド / ▲上のスレッド
■14087 / 親記事)  桐RDSで固まる
□投稿者/ 田中 -(2023/12/23(Sat) 11:21:53)
    昨日から急に、桐10sfor RDS版の一括処理が、固まり先に進めない状況が続いています。
    止まる場所は、共有更新で開かれている表のある項目を行訂正するところです。
    自身のローカルに入ってる桐10sでは問題なく動くのですが、毎回、応答なしとなり固まってしまいます。

引用返信 [メール受信/OFF]

▽[全レス1件(ResNo.1-1 表示)]
■14088 / ResNo.1)  Re[1]: 桐RDSで固まる
□投稿者/ ONnoji -(2023/12/23(Sat) 14:26:18)
    2023/12/23(Sat) 14:27:31 編集(投稿者)

    > 昨日から急に、桐10sfor RDS版の一括処理が、固まり先に進めない状況が続いています。
    > 止まる場所は、共有更新で開かれている表のある項目を行訂正するところです。
    > 自身のローカルに入ってる桐10sでは問題なく動くのですが、毎回、応答なしとなり固まってしまいます。

    「餅は餅屋(もちはもちや)」と言いますので、

     意味:餅屋が搗(つ)いた餅は美味いことから、仕事は専門家に任せるの一番であること。

    この件はK3のカスタマーサポート(ユーザサポート)へ問い合わせるのが一番よいと思いますよ。

    ただし、必ず解決するかというと、残念ながらそれはわかりませんが・・・

    あいにく週末(土・日)なのでサポートはお休みですが、

    早めにメールを送っておくと、週明け早々にサポートが受けられるのではないでしょうか?
    ・・・・・・・・・・・・


引用返信 [メール受信/OFF]

■記事リスト / レス記事表示 → [親記事-1]



■記事リスト / ▼下のスレッド / ▲上のスレッド
■14080 / 親記事)  フォーム入力途中でESC
□投稿者/ 篤姫 -(2023/12/21(Thu) 13:01:41)
    桐10S Windows10

    フォームで入力途中にESCで入力を中止した時に
    指定のコマンドボタンにフォーカスを移動させたいのですが

    よろしくお願いします。
引用返信 [メール受信/OFF]

▽[全レス6件(ResNo.2-6 表示)]
■14082 / ResNo.2)  Re[1]: フォーム入力途中でESC
□投稿者/ ONnoji -(2023/12/21(Thu) 20:31:27)
    2023/12/22(Fri) 14:42:16 編集(投稿者)
    2023/12/22(Fri) 10:35:04 編集(投稿者)
    2023/12/21(Thu) 21:26:43 編集(投稿者)

    > 桐10S Windows10
    >
    > フォームで入力途中にESCで入力を中止した時に
    > 指定のコマンドボタンにフォーカスを移動させたいのですが

    フォームのテキストボックスにキャレットがある時には、[テキストボックスのエディタ]の中に居ます。

    この[テキストボックスのエディタ]とはいわゆる入力用のバッファ(メモリ)の事です。
      ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    なので、[テキストボックスのエディタ]に進入している時に発生する[入力後]イベントで他のオブジェクトへフォーカスを移動することは禁止されています。

    つまり、[入力後]イベントが終了してから、他のオブジェクトへフォーカスを移動させてちょうだいね、ということです。
        ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
     ◇ ◇ ◇ ◇

    私も[実行コマンド:ESCキー]が簡便で面倒くさくないのでお勧めします。
      ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    ただし、テキストボックスにキャレットがある時には、ESCキーを2度押す必要がありますね。

    1度めは、[テキストボックスのエディタ]から脱出するために、

    そして2度めは、[実行コマンド:ESCキー]の設定のために。

    これ位ならば、普通は[この仕様で良し!]じゃないでしょうか????

     ◇ ◇ ◇ ◇

    それでも、どうしてもというのであればサンプルを添付しますので参考にしてください。

    例によってサンプルは数日を目途に削除しますのでダウンロードはお早めに願います。

    なお、サンプルでは時限式タイマーを使用しています。

    時限式タイマーに関しては拙作webページを参考にしてください。

    こちら
     ↓
    桐の釣魚大全のトップ > フォームアプリケーション教書 第1部
    11 [タイマー]イベントの動的セット
    http://silicon7565.html.xdomain.jp/guide/guide_Part1.htm#section11


    ■ダイアログボックス.WFX

     フォーム
     ├ ファミリ
     ├ ワークスペース
     │ └ cmdフォーカス移動
     ├ フォーム操作バー
     ├ フォームヘッダ部
     │ └ tタイトル
     ├ フォーム明細部
     │ ├ テキスト_8
     │ │ └ ラベル_9
     │ ├ テキスト_9
     │ │ └ ラベル_10
     │ └ ラベル_11
     └ フォームフッタ部
       ├ cmdOK
       └ cmdキャンセル

     オブジェクト名: cmdフォーカス移動
     標題     : cmdフォーカス移動

      機能名     機能パラメータリスト
     1 フォーカス移動  "cmdキャンセル"
     2 なし
     3 なし
     4 なし


    ■ダイアログボックス.kex

    名札  メイン



    手続き定義開始 フォーム::タイマー1()
     変数宣言 自動,文字列{ &objectName }
     変数宣言 自動,整数 { &return }

     &objectName = "フォーム"
     オブジェクト操作 &objectName{タイマー1 = 0 } /* 時限式タイマーなので直ちに停止します */

     メソッド呼び出し 戻り値 = &return, @cmdキャンセル.フォーカス設定()
     **戻り値 意味
     ** 1 フォーカスを移した。
     ** 0 フォーカスを移せなかった。
     **-1 フォーカス設定できないハンドラ内で実行した
     トレース出力 _&return

    手続き定義終了

    手続き定義開始 テキスト_9::入力後(参照 文字列 &編集文字列,長整数 &モード,参照 長整数 &入力継続)
     変数宣言 自動,文字列{ &objectName }
     変数宣言 自動,整数 { &interval = 10 } /* 単位は1/100秒 ただし、0.1秒以下にはしないこと */
     変数宣言 自動,整数 { &return }

     トレース出力 &this
     if ( .not &モード )

      メソッド呼び出し 戻り値 = &return, @cmdキャンセル.フォーカス設定() /* NG!です */
      **戻り値 意味
      ** 1 フォーカスを移した。
      ** 0 フォーカスを移せなかった。
      **-1 フォーカス設定できないハンドラ内で実行した。
      トレース出力 _&return

      メソッド呼び出し 戻り値 = &return, @cmdフォーカス移動.実行() /* NG!です */
      トレース出力 _&return
      **戻り値 意味
      ** 1 正常終了。
      ** 1以外 実行できない。またはエラーで終了した。

      **以上のように[入力後]イベントハンドラ実行中にフォーカスを移動することは不可能

      **次のように、[入力後]イベントハンドラ実行後に時限式タイマーイベントを実行する
      &objectName = "フォーム"
      オブジェクト操作 &objectName{タイマー1 = 1, タイマー値1 = &interval } /* 時限式タイマーをセットします */
     end


    手続き定義終了


引用返信 [メール受信/OFF]
■14083 / ResNo.3)  Re[2]: フォーム入力途中でESC
□投稿者/ 篤姫 -(2023/12/22(Fri) 09:05:49)
    通りすがりさん
    ありがとうございます。
    やってみます。
引用返信 [メール受信/OFF]
■14084 / ResNo.4)  Re[2]: フォーム入力途中でESC
□投稿者/ 篤姫 -(2023/12/22(Fri) 09:09:00)
    ONnojiさん

    ご指導いただいたイベント勉強します。

    ありがとうございます。
引用返信 [メール受信/OFF]
■14085 / ResNo.5)  Re[3]: フォーム入力途中でESC
□投稿者/ ONnoji -(2023/12/22(Fri) 11:32:19)
    2023/12/22(Fri) 16:54:20 編集(投稿者)

    蛇足です。

    ┌when 手続き"テキスト_9::入力後("2023年12月22日",0,0)"を実行開始しました

    │ :テキスト_9
    │ :&return : -1
    │ :&return : 0

    └end

    ┌when 手続き"フォーム::タイマー1( )"を実行開始しました

    │ :&return : 1

    └end

    [入力後]イベントハンドラの引数:&モード/長整数

     入力したデータが確定されたか、キャンセルされたかを示す番号が格納されます。

    値 説明
    1 確定
    0 [Esc]キーによるキャンセル

    ↑これは論理値と同じなので

    if ( .not &モード )
     :
    end

    とすれば、[Esc] キーを検出することになります。

    このように便利なのですが、フォーム上にテキストボックスが多数ある時には、

    それぞれのオブジェクトごとに[入力後]イベントハンドラを作成しなければなりません。

    何故ならば、ファミリには[入力後]イベントハンドラが無いからです。
          ・・・・・・・・・・・・・・・・・・・・・・
    なので、テキストボックスが多数ある時には、コツコツと作るしかありません。(^^ゞ

    これは愚直で格好悪く思えますが、一目瞭然なのでヨシだと思います。

     ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇

    格好悪いのを嫌って、[キーダウン]イベントで対応する方法も考えられますが、

    常時[キーダウン]イベントをオンにしておくのは無駄に[キーダウン]イベントが発生するのでデバッグし難いです。
                           ・・・・・・・・・・・・・・・・・・・
    なので、エディタに進入した時に限り[キーダウン]イベントをオンにして、

    それ以外の時には[キーダウン]イベントをオフにするのがスマートです。
                               ・・・・・・
    しかし、スマートにしようとすると、今度はプログラムが複雑になります。

    なので、[キーダウン]イベントよりも、[入力後]イベントの方が優れていると思いますよ。

    なお、[実行コマンド:ESCキー]の方が簡便で面倒臭くないのでお勧めします。

    私だったら[Esc] キーを2度押してね!を採用すると思いますよ。


引用返信 [メール受信/OFF]
■14086 / ResNo.6)  Re[4]: フォーム入力途中でESC
□投稿者/ 篤姫 -(2023/12/22(Fri) 17:08:37)
    ONnojiさん
    実行コマンドで処理を検討しています。
    現在週末で業務処理を行っていますので
    時間がある時にやってみます。

    ありがとうございます。
引用返信 [メール受信/OFF]

■記事リスト / レス記事表示 → [親記事-6]



■記事リスト / ▲上のスレッド
■14074 / 親記事)  (削除)
□投稿者/ -(2023/12/18(Mon) 19:22:51)
    この記事は(投稿者)削除されました
引用返信 [メール受信/OFF]

▽[全レス1件(ResNo.1-1 表示)]
■14079 / ResNo.1)  Re[1]: サブフォームのリンクについて
□投稿者/ 通りすがり -(2023/12/21(Thu) 08:59:27)
    ちょっと通りすがったので、質問の意味が取り違えてたり何か勘違いしてるかもだけど
    2.tbx と 3.tbx は、一つのテーブルになりませんか?
引用返信 [メール受信/OFF]

■記事リスト / レス記事表示 → [親記事-1]






1466025

Mode/  Pass/

HOME HELP 新規作成 新着記事 ツリー表示 スレッド表示 トピック表示 ファイル一覧 検索 過去ログ

- Child Tree -
- Antispam Version -