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

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

記事リスト ( )内の数字はレス数
Nomal「目からウロコの・・・パート2」を公開しました。(32) | NomalISBNでゲットだぜ!(25) | Nomal桐と外部DB(10) | NomalExcelのシート名の取得方法(9) | Nomal(仮題)目からウロコの「桐プログラミング」入門(9) | Nomalファイル管理を桐で作成しました。(9) | Nomalこのページって何!?(8) | Nomal新元号の桐対応は(8) | NomalSQL Server 2017 Express か Developer のインストールについて(7) | Nomal断捨離(6) | Nomal桐をタブレットにインストールしたい(6) | NomalExcelのシート名の変更(4) | Nomal蔵書物品管理 正式バージョン(4) | Nomal現在の状況で(4) | Nomal拙作:HPのリニューアルに関して(4) | Nomal桐sについて(3) | Nomal蔵書物品管理 ベータバージョン−2(3) | Nomal断捨離(続) CD・DVD編(3) | Nomalエクセルで計算結果エラー(3) | NomalFW_チェックボックスINF_Framework(2) | Nomal「新 フォームアプリケーション入門 §1」をアップロードしました。(2) | NomalWindows10 2004 と桐10(s)(2) | Nomal桐のプログラミング入門(2) | Nomal先発品後発品(1) | Nomal岡崎市立中央図書館事件(1) | NomalINF Framework 第3.3版(1) | Nomal最新の Office (Excel) で 桐9x のクロスエクセル機能を有効にする方法!?(1) | Nomal入門講座 改定版(0) | Nomal桐の正規表現(0) | Nomalコマンドボタンの機能名・機能パラメータの一覧表を掲載しました(0) | NomalINF_Framework の入門講座を公開しました(0) | NomalINF_Framework 第3.3版 改訂版(MkII) の解説(0) | Nomalイベント処理の整形ユーティリティについて(0) | Nomalアイテム登録が要らないランチャー(0) | Nomal電子カルテ、レセコン(0) | Nomalいつも、ありがとうございます。(0) | NomalINF_カードには INF Framework の最新版が含まれています(0) | Nomalデートピッカーの修正情報(0) | Nomaltoy_launcher の解説に加筆しました(0) | Nomal書籍管理って TRC で無いの?(0) | Nomalキーダウンイベントを簡単に(*ショートカットキーも登録できます)(0) | Nomal局所変数の受け渡し(0) | Nomalファイル管理(0) | Nomalダブルクリック(0) | Nomal表で設定した項目の表示条件をフォームに反映する(0) | NomalINF_Framework 第3.2版 Rev.238(0) | Nomalシームレス電卓機能(0) | Nomal入力支援ボタンで都道府県ピッカーから入力する(0) | Nomal入力支援ボタンでDatePickerから日付入力(0) | Nomal入力支援ボタンで電卓を呼び出して結果を反映(0) | Nomalコマンドボタンのオートリピート(0) | Nomalスピンボタンの仕様をアップしました(0) | Nomal入力支援ボタンのリストを登録、更新するサンプル(0) | Nomalランチャーでファイルを開く(0) | Nomal局所変数の保存(0) | Nomalプルダウンメニューの解説をアップしました(0) | NomalクラシックINF_Frameworkのマニュアル完成(0) | Nomaltoy_launcher3(0) | NomalオートINF_Framework(0) | Nomal桐の記事(0) |



■記事リスト / ▼下のスレッド
■1445 / 親記事)  「目からウロコの・・・パート2」を公開しました。
□投稿者/ ONnoji -(2024/06/11(Tue) 16:31:26)
    2024/06/11(Tue) 16:44:53 編集(投稿者)

    <お知らせ>

    拙作webページで

    「目からウロコのデータベース桐プログラミング入門 パート2」を公開しました。

    こちら
     ↓
    桐の釣魚大全のトップ
    http://silicon7565.html.xdomain.jp/

    桐の釣魚大全のトップ > 目からウロコのデータベース桐プログラミング入門 パート2
    http://silicon7565.html.xdomain.jp/primer/primer_side_reader_part2.html

    ブラウザで表示されない場合には、F5キーを押してリロードしてください。
                    ・・・・・・・・・・・・・・・・・

     ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇

    このテキストの内容は、[フォーム+イベント処理]の初級者向けです。

    パート2で初級者の前に最初に立ちはだかる難問は、「オブジェクトって何ですか〜?」です。

    なお、このテキストは拙作webページの「桐の釣魚大全」の

    「桐のイベント処理の入門講座」

     新 フォームアプリケーション入門 §1
     新 フォームアプリケーション入門 §2

    の副読本として執筆したものです。

    目次
    10     オブジェクトって何ですか〜?
    10.1   オブジェクトは、パソコンの画面上の操作対象のこと
    10.2   [オブジェクトのリスト]ウィンドウを使いましょう
    11     属性ってなんですか〜?
    11.1   [オブジェクトの属性]ウィンドウと[オブジェクトのリスト]ウィンドウの違い
    11.2   属性の取得と属性の設定
    11.2.1 属性の取得
    11.2.2 オブジェクトの属性と変数のデータ型
    11.2.3 属性の設定
    12     メソッドってなんですか〜?
    12.1   メソッド呼び出し
    12.2   [更新モード設定]メソッドを使うか? コマンドボタンの機能を使うか?、それが問題だ
    12.3   [フォーカス設定]メソッドを使うか? タブオーダーの設定を使うか?、それが問題だ
    13     エラー対策のあれこれ
    13.1   if ( 条件 ) ... else ... end
    13.2   エラー処理コマンドはあるけれど
    13.3   フォーム以外のオブジェクト名をチェックする


580×442 => 250×190

1718091910.jpg
/44KB
引用返信 [メール受信/OFF]

▽[全レス32件(ResNo.28-32 表示)]
■1485 / ResNo.28)  Re[9]: 多重化のメリット 時限式タイマーのメリット
□投稿者/ ONnoji -(2024/07/18(Thu) 17:29:11)
    2024/07/18(Thu) 17:46:12 編集(投稿者)

    ジェダイの桐さん

    > タイマーイベントの事が少し理解出来ました。
    > 任意のプロシージャの中で
    > オブジェクト操作 @フォーム.タイマー1 = 1
    > で タイマーイベントを オン にする。
    >  ↓
    > 任意の時間プログラムを中断する
    >  ↓
    > プロシージャ終了後 タイマーイベントが発生
    >
    > タイマーイベント内で やりたい事があれば行い
    >
    > オブジェクト操作 @フォーム.タイマー1 = 0
    > で タイマーイベントを オフ にする。
    >
    > この認識であっているでしょうか??

    タイマーイベント内で、処理をすればOKという単純なものではありませんよ。

    と書いて、よく見たら・・・

    以下のように


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

     &title = "タイマー1()"
     &trace = 0
     トレース出力 &title + "を実行開始しました"

     オブジェクト操作 @フォーム.タイマー1 = 0
     条件 ( &trace ) トレース出力 " オブジェクト操作 @フォーム.タイマー1 = 0 /* 時限タイマーの [タイマー1] イベントを停止 */"

     トレース出力 &title + "を実行終了しました"

    手続き定義終了


    ↑上のように、タイマーイベントでは、何も実行していないではありませんか!

    実際には、タイマーイベント内で、何も実行していませんから・・・

    全然違うようですね。

    > 何故タイマーイベントが理解かもしないかと言えば、
    > AAAA と 4桁の 文字列があり
    > 1桁で表現できるのは
    > A 〜 Z、0 〜 9 の 36文字
    > この条件でカウントアップしたい事がありました。
    > こちらは実現出来たのですが、サンプル表に 3000行 あり プログラムを実行していると 応答なし と表示され どうした物かと思案していました。
    >
    > ONnojiさんのHPで、プログレスバーの項目を見ていると タイマーを使えば
    > 応答なし を回避できるのでは?とヒントを貰い サブフォームの件で作成頂いたサンプルを参考に プログラムを書いてみたら 応答なし が回避出来ました。
    >
    > パソコンに不可がかかる処理を分散させたい時等に タイマーイベント を使用するのだろうなと思いました。
    >
    > プログレスバー をフォームヘッダに作りたいなと思いましたが断念しました。
    > その代わり 近しい事で代用しました。
    >
    > 桐って色んな事が出来るので、教えて頂いた知識を使って実現出来た時は本当に嬉しいです!

    うーん、

    > サブフォームの件で作成頂いたサンプルを参考に プログラムを書いてみたら 応答なし が回避出来ました。

    ↑これって、タイマーとは全然関係ないと思いますよ。

    多重化して、多重化した方の表(.tbx)で作業しているでしょう。

    これが、ビジー(応答なし)を回避した原因だと思いますよ。

    試しに、

    タイマーを操作しているメソッドをコメントアウトしてみてください。

      オブジェクト操作 @フォーム.タイマー1 = 1
      オブジェクト操作 @フォーム.タイマー値1 = 25

      オブジェクト操作 @フォーム.タイマー1 = 0

    タイマーは動かなくなりますが、多重化によるパフォーマンスでビジー(応答なし)を回避しているので何も変わらない思いますよ。

    ということで、拝見したイベント処理では、無駄にタイマーをセットしリセットしているだけで、何の役にも立っていないと思いますよ。(^^ゞ

    p.s.

    多くの場合、多重化によるパフォーマンスでビジー(応答なし)を回避できると思いますよ。

    多重化してもパフォーマンスが悪い場合に、更にパフォーマンスを上げたい時に、時限タイマーによるプログレスバー方式を使います。

    しかし、プログレスバーを使う主な目的は、作業の中断を出来るようにすることですよ。
        ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・





引用返信 [メール受信/OFF]
■1486 / ResNo.29)  Re[10]: 「目からウロコの・・・パート2」を公開しました。
□投稿者/ ジェダイの桐 -(2024/07/18(Thu) 18:24:47)
    ONnojiさん


    こんにちは!

    やっぱりタイマーイベントの事を聞いて良かったです!
    誤って理解する所でした。

    > 多重化して、多重化した方の表(.tbx)で作業しているでしょう。
    > これが、ビジー(応答なし)を回避した原因だと思いますよ。


    回避要因は多重化だったんですね!


    > タイマーを操作しているメソッドをコメントアウトしてみてください。


    明日早速試してみます。


    今回の件で タイマーイベント は登場しなくて
    良さそうと言う事が分かりました^_^


    > ということで、拝見したイベント処理では、無駄にタイマーをセットしリセットしているだけで、何の役にも立っていないと思いますよ。(^^ゞ


    半信半疑で タイマーイベント と書いてみて 見かけ上上手く行った様に
    みえたので失敗した事が分かった嬉しいです(^^)

    意外にも内容はないけど タイマーセット と リセット までは出来ていたのですね!
    セットする位置とタイマーイベント内の内容が重要なのでしょうね。

    >>サブフォームの件で作成頂いたサンプルを参考に プログラムを書いてみたら 応答なし が回避出来ました。


    こちらのサンプルでは、タイマーイベント内で 手続き実行をしていました。
    私も最初 タイマーイベント内で 手続き実行を行ったのですが、引数を入れていたのでエラーが起こりました。
    これは考えて見ればタイマーイベント内に関係のない引数でしたので当たり前の話です。


    タイマーイベント に限らず 手続き内で 別の手続きを呼び出す時は よく考えて使えば
    汎用性のある プログラムになるし、他の影響を受けては行けない時に 手続きを呼び出すとエラーになる。


    プログラムの考え方って本当に良く出来ていると思います^_^


    勉強になりましたm(_ _)m
引用返信 [メール受信/OFF]
■1487 / ResNo.30)  Re[10]: 多重化のメリット 時限式タイマーのメリット
□投稿者/ ONnoji -(2024/07/18(Thu) 18:26:21)
    2024/07/19(Fri) 00:40:54 編集(投稿者)

    ジェダイの桐さん

    蛇足を少々・・・(^^ゞ

    > タイマーイベント内で、処理をすればOKという単純なものではありませんよ。
    > 多くの場合、多重化によるパフォーマンスでビジー(応答なし)を回避できると思いますよ。
    >
    > 多重化してもパフォーマンスが悪い場合に、更にパフォーマンスを上げたい時に、時限タイマーによるプログレスバー方式を使います。
    >
    > しかし、プログレスバーを使う主な目的は、作業の中断を出来るようにすることですよ。
    >     ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    フォームの編集対象表を[イベント処理で多重化した表]は、双子の表ですが、一方がビジブルで、多重化した方はステルスな表ですね。

    このように、多重化した表と、[イベント処理で開いたステルスな表]を処理する場合には、

    フォームの編集対象を対象にした時と比べると、けた違いにパフォーマンスが良いです。

    つまり、フォームに見えている表は、レコードの移動によって再描画(リドロー)が発生しますので、

    その再描画(リドロー)がパフォーマンスを悪くさせているということです。

     ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇

    ステルスな表を扱っていても、ファイルのサイズが大きい場合や、レコード数が極端に多い場合、

    処理する内容が極端に複雑な場合、などにはパフォーマンスが悪くなります。

    例えば、

    A.レコード数が多いけれど、1パスで処理を行う場合 ⇒ 時限タイマー1回につき処理するレコード数を決めます

    B.レコード数は多くないが、複数パスで処理を行う場合(結果的に処理レコード数が多くなったのと同じです)⇒時限タイマーから処理する内容ごとに手続きを呼び出します

    このような場合に、時限タイマーによるプログレスバーを検討するということですよ。

    p.s.

    A.の場合には、以下のような感じ。※あくまでもアバウトなフィーリングです。細かいことは気にしないこと
                      ・・・・・・・・・・・・・・・・・・

    手続き定義開始 prcプログレスバーを実行( )

     &m処理単位レコード数 = 対象レコード数/回数

     &mRecordCount   = 1
     &mProgressBarRun = 1
     ブジェクト操作 @フォーム{ タイマー1 = 1, タイマー値1 = 10 }

    手続き定義終了

    手続き定義開始 フォーム::タイマー1()

     if ( &mProgressBarRun )

      手続き実行 prcProgressbarCall( )
     end

    手続き定義終了

    手続き定義開始 prcProgressbarCall( )

     &count = 0 /* カウンタ */

     繰り返し

      ** プログレスバーで行う処理内容 例えば、一般手続きを実行 prcProcedureName()とか

      &count = &count + 1
      if ( &count > &m処理単位レコード数 .or #eof .or [Esc] キーを押した )

       ** プログレスバーの1回あたりの規定回数を実行した、または終端行に到達したので脱出する

       繰り返し中止
      end
     繰り返し終了

     if ( [Esc] キーを押した または #eof )

      ** [Esc] キーを押した、または終端行に到達したのでプログレスバーを終了する

      &mProgressBarRun = 0
      オブジェクト操作 @フォーム.タイマー1 = 0 /* タイマーをリセットする */
     end

    手続き定義終了

    ※なお、[Esc] キーで中断するためには、[キーダウン]イベントをアクティブにして、[Esc] キーを検出する必要があります。


    B.の場合には、以下のような感じ。※あくまでもアバウトなフィーリングです。細かいことは気にしないこと
                      ・・・・・・・・・・・・・・・・・・

    手続き定義開始 prcタイマーによる分割実行( )

     &mPhase = 1
     ブジェクト操作 @フォーム{ タイマー1 = 1, タイマー値1 = 10 }

    手続き定義終了

    手続き定義開始 フォーム::タイマー1()

     if ( &mPhase = 1 )

      手続き実行 prcPhasePrimaryRun( )
     end

     if ( &mPhase = 2 )

      手続き実行 prcPhaseSecondaryRun( )
     end

    手続き定義終了


    手続き定義開始 prcPhasePrimaryRun( )
     &mPhase = &mPhase + 1

     ** 処理内容

    手続き定義終了


    手続き定義開始 prcPhaseSecondarRun( )
     &mPhase = &mPhase + 1

     ** 処理内容

     &mPhase = 0
     オブジェクト操作 @フォーム.タイマー1 = 0 /* タイマーをリセットする */

    手続き定義終了


    A.

     prcプログレスバーを実行 … インターバル … フォーム::タイマー1
                           └ prcProgressbarCall

    B.

     prcタイマーによる分割実行 … インターバル … フォーム::タイマー1
                            ├ prcPhasePrimaryRun
                            └ prcPhaseSecondaryRun

引用返信 [メール受信/OFF]
■1488 / ResNo.31)  Re[11]: 多重化のメリット 時限式タイマーのメリット
□投稿者/ ジェダイの桐 -(2024/07/19(Fri) 10:10:10)
    ONnojiさん


    おはようございます。


    タイマーに関わるプログラムのコメントアウト
    フォームのオブジェクトの属性からタイマーイベント を オフ

    上記を行いcmd資材品番カウントアップClick() を実行しました。


    結果、ビジー(応答なし)は出てきませんでした。
    結論、あのプログラムにタイマーイベントは必要なく、ビジー(応答なし)回避は
    多重化によるものと言う事が理解出来ました!


    >>しかし、プログレスバーを使う主な目的は、作業の中断を出来るようにすることですよ。
    >>    ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・


    進捗状況が見た目に分かる事は目的の一つで、主目的は作業の中断が出来ると言う事なのでしょうね(^^)
    確かにONnojiさんのHPにも、作業の中断が出来ると便利と書いていました。


    > A.の場合には、以下のような感じ。※あくまでもアバウトなフィーリングです。細かいことは気にしないこと
    >                   ・・・・・・・・・・・・・・・・・・


    プログレスバーの道しるべありがとうございます!
    いつの日か プログレスバーが必要な時 こちらの道しるべを参考にプルグラムを考えます(^^ゞ


    解説ありがとうございましたm(__)m

引用返信 [メール受信/OFF]
■1489 / ResNo.32)  Re[11]: 「多重化のメリット 時限式タイマーのメリット
□投稿者/ ONnoji -(2024/07/19(Fri) 12:59:10)
    2024/07/19(Fri) 18:41:07 編集(投稿者)

    ジェダイの桐さん

    > タイマーに関わるプログラムのコメントアウト
    > フォームのオブジェクトの属性からタイマーイベント を オフ
    > 上記を行いcmd資材品番カウントアップClick() を実行しました。
    > 結果、ビジー(応答なし)は出てきませんでした。
    > 結論、あのプログラムにタイマーイベントは必要なく、ビジー(応答なし)回避は
    > 多重化によるものと言う事が理解出来ました!

    でしょう。やっぱり。

    「イベント処理による編集対象表の多重化」は慣れれば簡単に出来るでしょ。

    パフォーマンスの向上は凄まじいです。

    そして、フォームに見えている編集対象表のレコードが移動しないのでサイレントです。

    > >>しかし、プログレスバーを使う主な目的は、作業の中断を出来るようにすることですよ。
    > >>    ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
    > 進捗状況が見た目に分かる事は目的の一つで、主目的は作業の中断が出来ると言う事なのでしょうね(^^)
    > 確かにONnojiさんのHPにも、作業の中断が出来ると便利と書いていました。

    確かに「進捗状況を見える化する」という目的もありますよ。

    整形ユーティリティでイベント処理ファイルを整形する時に、

    [整形エンジン]と表示されたプログレスバーを表示する小さなフォームが現れますが、

    これが「作業の中断が出来るプログレスバー」です。

    ただし、これは難易度が非常に高いです。

    なぜかというと、主ウィンドウ(整形1〜4)側には、整形エンジンが搭載されていなくて、

    「プログレスバーのフォーム」が進捗表示と実際の整形処理を行っているのです。

    この点は重要で、「外部プログレスバー(フォーム)」の場合には、

    単なる見かけ上のプログレスバーではなく、実体としての「モーダルフォームのプログレスバー」なのです。

    なので、難易度が高くなるのです。

    最初から「外部プログレスバー(フォーム)」を作るのは困難ですので、最初は内部プログレスバーにします。

    つまり、フォームヘッダ部にプログレスバー(ラベルオブジェクト)を配置します。

    この形式の例は、整形ユーティリティ(整形1〜4)のフォームヘッダ部にある

    [変数チェック]ボタンを実行して現れる「変数チェック」ウィンドウのプログレスバーです。

    >>A.の場合には、以下のような感じ。※あくまでもアバウトなフィーリングです。細かいことは気にしないこと
    > プログレスバーの道しるべありがとうございます!
    > いつの日か プログレスバーが必要な時 こちらの道しるべを参考にプルグラムを考えます(^^ゞ

    あたかも疑似コードのような、まるでポンチ絵のような、とてもアバウトなものを示しましたが、

    拙作webページの詳細な解説よりは取っ付き易いだろうと思います。

    頭の中で想像して、イメージが沸いたら拙作webページの詳細な解説を読んでみてください。

      35.1 内部プログレスバーと外部プログレスバー|桐の釣魚大全のトップ > フォームアプリケーション教書 第2部
      http://silicon7565.html.xdomain.jp/guide/guide_Part2.htm#section35

    ヒントとか閃きが得られるかもしれませんよ。


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

■記事リスト / レス記事表示 → [親記事-9] [10-19] [20-29] [30-32]



■記事リスト / ▼下のスレッド / ▲上のスレッド
■1364 / 親記事)  ISBNでゲットだぜ!
□投稿者/ ONnoji -(2020/11/03(Tue) 17:53:11)
    2020/11/06(Fri) 22:08:39 編集(投稿者)

    小林様、ならびに拙作に興味をお持ちの皆様へ

    > もしも、プロトタイプを公開することになりましたら、小林様もダウンロードしてお試しください。
    >
    > 現在管理人さんと相談中ですので、近々公開できるかと思います。
    >
    > いずれにしろ、数日中に結論が出ますので、この掲示板をウォッチしていてください。m(__)m

    添付ファイルのサイズが制限以内に収まりましたので、さっそくアップさせていただきました。

    <内容>ISBNコードを入力すると、〇〇図書館の書誌データをゲットします。

    <動作環境>

     ・桐10s または 桐10 ※当方は桐10s で開発・テストしています。

     ・Windows10

    <解凍>

    eval00_ISBNでゲットだぜ.zip を解凍すると以下のファイルがあります。

    eval00_ISBNでゲットだぜ.kex
    eval00_ISBNでゲットだぜ.wfx   ← Windows10 のマシンで実行してください。
    NDL_ISBN_search_ProgressBar.kex
    NDL_ISBN_search_ProgressBar.wfx
    xml_load.tbx

    以上のファイルを、拙作:INF_Framework が収録されているフォルダーにコピーしてください。

    拙作:INF_Framework は旧版 3.2 でも 新版 3.3 でもOKです。

    実行するには、eval00_ISBNでゲットだぜ.wfx を開いてください。

    なお、Windows10の curl.exe をバッチ(.bat)で実行します。

    curl.exe はWindows10 にしかありませんので、Windows7/8/8.1 では拙作は実行できません。

    <拙作:INF_Framework の入手方法>

    【多遊】さんのHPのトップページの[観験桐]を選び、ダウンロードコーナーの桐の作品一覧表の

     #187 INF Framework 第3.2版 for 桐10 / 桐10s 近日公開終了予定

     または、

     #196 INF Framework 第3.3版 for 桐10 / 桐10s 近日公開予定

    をダウンロードします。


     ◇ ◇ ◇ ◇ ◇ ◇ ◇


    <お願いです>

    ダウンロードしてお試しいただいた場合には、皆様のご意見・ご感想を返信していただけると嬉しいです。

    些細なことでも構いません。

    お気付きの点があればお知らせください。

    以上、よろしくお願いいたします。m(__)m


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

▽[全レス25件(ResNo.21-25 表示)]
■1405 / ResNo.21)  Re[17]: ISBNでゲットだぜ!
□投稿者/ ONnoji -(2020/12/14(Mon) 22:08:25)
    2020/12/14(Mon) 22:11:32 編集(投稿者)

    > それは、それとして
    > そのサイトは、このエラーからして SSL を使用していた
    > すなわち、証明書を使用していたと思われるが、その
    > 証明書自体は正しいものであったのか。期限とか証明書
    > 自体に問題があったのか。
    > それとも、その証明書が失効しているのか、どうか、それ
    > を確認するための失効証明書が取得できなかったのか。

    貴殿のご懸念はよく理解できます。当方もまったく同感です。

    世の中にはいろいろなwebサイトがありますが、

    > 今回の記事では、curlコマンドで、TLS証明書(SSL証明書)のエラーが出ても無視して、アクセスする必要があったので、メモを残しておきます。
    > 本来は、証明書のエラーを無視すべきではありません。証明書のエラーを無視しないでよい方法を調べて、修正するのが正しい対処方法でしょう。
    > これは、お勧めできる話ではありません。証明書/TLSは、セキュリティの目的で利用されています。
    > そのセキュリティのために利用される証明書でエラーがおきるということは、問題があるということです。
    curlコマンドでTLS/SSLのエラーを無視する方法
    https://kaworu.jpn.org/kaworu/2011-02-11-1.php

    ↑のように正当な意見を述べているものもありますよ。


引用返信 [メール受信/OFF]
■1406 / ResNo.22)  Re[18]: ISBNでゲットだぜ!
□投稿者/ hidetake -(2020/12/14(Mon) 22:25:07)
http://https
    私が気づいた桐のセキュリティ問題は、
    「ディレクトリトラバーサル」に関する
    脆弱性、
    「SQLコマンドインジェクション」に
    関する脆弱性です。

    「SQLコマンドインジェクション」に
    関しては、うまく利用すれば、桐の
    多様な可能性もあり、利用もしている
    ので、使えなくなっては困るのですが、

    ネットのデータを扱うとなれば、いろ
    な攻撃方法が考えられると思います。

    もちろん、Khree は、そんなデータを
    扱うことは想定していません。
    自分の身は自分で守らなければなりま
    せん。
    面白い世界ではあるけど、やっかいな
    世界でもあります。
引用返信 [メール受信/OFF]
■1407 / ResNo.23)  Re[15]: ISBNでゲットだぜ!
□投稿者/ ONnoji -(2020/12/15(Tue) 12:57:05)
    2020/12/15(Tue) 15:15:08 編集(投稿者)

    くおんたむさんへの投稿です。

    > curlコマンドでの取得が出来ない原因が以下の理由でした。
    >
    > 「curlコマンド windouws10 失効の関数は証明書の失効を確認できませんでした」

    私はネット関係の知識は多くないですが、エラーの原因のひとつは以下の内容かもしれませんよ。

    もちろん、タラレバですけどね。アハハha。(^^ゞ

    こちら
     ↓
    プロキシサーバとHTTPS通信の関係
    https://kaworu.jpn.org/security/%E3%83%97%E3%83%AD%E3%82%AD%E3%82%B7%E3%82%B5%E3%83%BC%E3%83%90%E3%81%A8HTTPS%E9%80%9A%E4%BF%A1%E3%81%AE%E9%96%A2%E4%BF%82

    > HTTPのプロキシサーバは、HTTPSの暗号化通信(SSL)をきちんと扱えるのでしょうか?
    > HTTPSの通信を行う場合は、ユーザエージェントはCONNECTメソッドで接続したい相手をプロキシに伝え、
    > 暗号通信に必要なSSLサーバ証明書と公開鍵を取得してもらい、その後、暗号化通信を行います。



引用返信 [メール受信/OFF]
■1408 / ResNo.24)  Re[16]: ISBNでゲットだぜ!
□投稿者/ hidetake -(2020/12/15(Tue) 22:03:59)
http://https
    > プロキシサーバとHTTPS通信の関係
    > https://kaworu.jpn.org/security/%E3%83%97%E3%83%AD%E3%82%AD%E3%82%B7%E3%82%B5%E3%83%BC%E3%83%90%E3%81%A8HTTPS%E9%80%9A%E4%BF%A1%E3%81%AE%E9%96%A2%E4%BF%82

    Squid は、遠い昔は ISDN のころ、無駄なトラフィックを
    さけ、狭い帯域でも快適なインターネット環境が使えるよう
    キャッシュサーバとして使っていました。
    つい1年ほど前までは、VPNの環境のせいで、直接はインター
    ネットに出られない環境だったのでプロキシサーバを使って
    いました。と、言うか、本来は Blue Coat がプロキシサーバ
    として使われていたのですが、それが壊れてしまったので
    急遽 Squid で代替えプロキシを立て直したのですが、特に
    問題はなく、HTTPS 通信もできていたけど。

    もう、プロキシなしでも通信できるようにしたので使って
    いないけど、次のような設定で、問題無く通っていました。


squid.conf.txt
/1KB
引用返信 [メール受信/OFF]
■1409 / ResNo.25)  Re[17]: ISBNでゲットだぜ!
□投稿者/ hidetake -(2020/12/16(Wed) 07:45:52)
    折角だから書いておくと

    SSL通信での問題はプロキシよりも

    SSL通信で問題が出やすいのは、もちろん
    ターゲット(サーバ)側の証明書の問題も
    ありますが、

    また、クライアント側(Windowsだったり、
    ブラウザソフト)の持っている、どの
    証明書を信頼して良いかという
    ルート証明書との整合性もありますが、

    最近は、多くの通信が SSL化して通信が
    行われるので、UTM、ファイヤウォール、
    そして、アンチウィルスソフトなどが
    暗号化された通信のため、データを傍受
    できず、流れるデータの安全性を確保
    できないと言う状態になり、逆に
    セキュリティを担保できないという状態
    になります。

    そのため SSLインスペクションという方法
    で、いっったん、UTM、ファイヤウォール、
    そして、アンチウィルスソフトなどが
    ターゲットとの間で SSL通信を行い流れる
    データをチェックしたうえで、
    クライアントとの間の通信は、自分が持ち
    合わせている証明書で、再暗号化して
    データ通信を行うと言う仕組みがあります。

    この場合、クライアント側にとっては、
    相手先のドメインと実際に暗号化で使われ
    ている証明書との不整合で、警告を出し
    たり、通信ができなくなると言うトラブル
    が発生する場合があります。

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

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



■記事リスト / ▼下のスレッド / ▲上のスレッド
■1266 / 親記事)  桐と外部DB
□投稿者/ hidetake -(2018/12/07(Fri) 10:13:42)
    2018/12/14(Fri) 09:07:56 編集(投稿者)

    桐で使用する「DB」ですが、桐のテーブルを
    共有し、その善し悪しも一定量理解した上で、
    それなりのシステムを作るならば、桐のテーブル
    にこだわり続けるよりも、「外部DB」+SQLサーバ
    構築するのもありだと思う。

    マイクロソフトのSQL Server は、
    無償バージョンでも今となっては
    -----------------------------------------
    SQL Server 2017 Express エディション
    コア数:4コア
    メモリ:1,410MB (インスタンスあたり)
    最大データベースサイズ:10GB
    -----------------------------------------
    と、相当な規模のシステムを組まない限り、
    無償バージョンでもいける仕様となっていま
    す。
    マイクロソフト自身も、それぐらいの規模
    だったら「Express エディション」で十分
    じゃないですかって、指南してくれる。

    PostgreSQL に始まり、MySQL に少し手を
    染めて、SQL Server も使っている身として
    は、「SQL Server Express エディション」
    +桐というのは、とても良い環境だと思う。

    https://www.microsoft.com/ja-jp/sql-server/sql-server-2017-editions

    # hidetake の記載物を【多遊】さんのサイト・掲示板以外に
    # (引用の範囲を超えて)転載する場合は、無償サイトであれ、
    # 有償サイトであれ、非公開サイトであれ、元記事にリンクを
    # 貼って下さい。
    # 内容については、若い頃ネット上に書いたものは copyleft
    # 宣言したような気がします。
    # なお、【多遊】さんやほかの方の権利はその方々にあります。
    #
    # と、書いてみるテスト。

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

▽[全レス10件(ResNo.6-10 表示)]
■1280 / ResNo.6)  Re[5]: 桐と外部DB
□投稿者/ hidetake -(2018/12/14(Fri) 08:19:54)
    2018/12/14(Fri) 09:08:18 編集(投稿者)

    > SQL Server 側でビューをつくって、それを桐で参照
    > しています。もちろん、そのビューに対しての抽出
    > 条件は、桐側のパラメータで指定し抽出しています。

    これは、ODBCドライバと桐の連携の関係もあります。
    桐は ODBCに対し、テーブルのエイリアスに対応して
    いるか確認し、対応してればテーブル名をエイリアス
    で問い合わせます。A1、A2、A3 …

    なので、#DSQL で SQL を投げかけると、桐は
    パススルーで処理するので、テーブル名を実名で無く
    エイリアスで使っているエイリアス名で指定する必要が
    出てきます。

    Mcrosoft SQL Server に対し桐はエイリアス名で処理
    するので、その辺もいろいろ面倒が出てくる。

    それならば、最初から SQL Server 側でビューで処理
    した方が簡単だと言うことで結果です。

    SQL Server Management Studio (SSMS) も常時使う
    ことに、使いこなすことになります。

    # hidetake の記載物を【多遊】さんのサイト・掲示板以外に
    # (引用の範囲を超えて)転載する場合は、無償サイトであれ、
    # 有償サイトであれ、非公開サイトであれ、元記事にリンクを
    # 貼って下さい。
    # 内容については、若い頃ネット上に書いたものは copyleft
    # 宣言したような気がします。
    # なお、【多遊】さんやほかの方の権利はその方々にあります。
    #
    # と、書いてみるテスト。

引用返信 [メール受信/OFF]
■1283 / ResNo.7)  Re[6]: 桐と外部DB
□投稿者/ hidetake -(2018/12/16(Sun) 12:47:31)
    桐で「外部DB」を本格的に使うには、SQL文をそのまま
    SQL に流したいことも多くなります。必要になります。

    その場合は、VBScript で投げかけることも可能では
    ありけど、やはり桐内で完結できた方がスマートです。

    ただ、このやり方は桐の脆弱性を突いたトリッキーな
    方式です。桐9 でも 桐10 でも一応使えます。

    そのような場合は、SQL Server 側に作業用のテーブル
    を1つくります。

    適当で構わないのですがサンプル的には
    ----------------------------------------------------------------------------------
    USE [TEST_DB]
    GO

    /****** Object: Table [dbo].[tblWork] Script Date: 2018/12/16 12:21:30 ******/
    SET ANSI_NULLS ON
    GO

    SET QUOTED_IDENTIFIER ON
    GO

    CREATE TABLE [dbo].[tblWork](
    [id] [bigint] NOT NULL,
    [name] [nchar](10) NULL,
    [count] [bigint] NULL,
    CONSTRAINT [PK_tblWork] PRIMARY KEY CLUSTERED
    (
    [id] ASC
    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
    ) ON [PRIMARY]

    GO
    ----------------------------------------------------------------------------------

    桐側の .XVX は添付する画像のように

    tblWork に対し、

    ----------------------------------------------------------------------------------
    表示項目名 所属対象表 項目/計算式 データ型 抽出
    項目000 (計算項目) &SQL 文字列 レ
    項目001 (計算項目) " " 文字列 レ
    項目002 (計算項目) " " 文字列 レ
    項目003 (計算項目) " " 文字列 レ
    項目004 (計算項目) " " 文字列 レ
    項目005 (計算項目) " " 文字列 レ





    (必要な項目数で)
    ----------------------------------------------------------------------------------
    パラメータ変数として「SQL:文字列」を設定します。


    そしたら、あとは &SQL 次のような値を代入し外部DBを
    開くことで、実行可能です。

    例えは、トリガーを無効にしたい場合は
     &SQL="件数',count(*) FROM tblWork; ALTER TABLE [tblName] DISABLE TRIGGER ALL; -- "

    例えは、トリガーを有効にしたい場合は
     &SQL="件数',count(*) FROM tblWork; ALTER TABLE [tblName] ENABLE TRIGGER ALL; -- "

    例えば、任意のテーブルを開きたい場合は
     &SQL="', * FROM tblName ; -- "


    元記事は下記にありますが、わかりやすいようにまとめ
    ました。

    http://tayu.o0o0.jp/bbs/kiri/cbbs.cgi?mode=al2&namber=5556&page=0&rev=0&no=0&KLOG=36



    # hidetake の記載物を【多遊】さんのサイト・掲示板以外に
    # (引用の範囲を超えて)転載する場合は、無償サイトであれ、
    # 有償サイトであれ、非公開サイトであれ、元記事にリンクを
    # 貼って下さい。
    # 内容については、若い頃ネット上に書いたものは copyleft
    # 宣言したような気がします。
    # なお、【多遊】さんやほかの方の権利はその方々にあります。
    #
    # と、書いてみるテスト。
861×773 => 250×224

1544932051.png
/82KB
引用返信 [メール受信/OFF]
■1287 / ResNo.8)  Re[7]: 桐と外部DB
□投稿者/ hidetake -(2018/12/16(Sun) 19:02:11)
    > SQL Server Express は有償バージョンと
    > 違って、タスクをスケジュールで使うことが
    > できない。すなわち、スケジュールでバック
    > アップを取ったり、スケジュールで、DB を
    > 最適化したり、圧縮することは出来ないの
    > ですが、バックアップについては、タスク
    > スケジューラで、SQLPS.exe を使ったり、
    > Power Shell で取る事も可能です。

    本文に書くと、迷惑投稿で書き込めないので
    添付ファイルにしてみます。



    # hidetake の記載物を【多遊】さんのサイト・掲示板以外に
    # (引用の範囲を超えて)転載する場合は、無償サイトであれ、
    # 有償サイトであれ、非公開サイトであれ、元記事にリンクを
    # 貼って下さい。
    # 内容については、若い頃ネット上に書いたものは copyleft
    # 宣言したような気がします。
    # なお、【多遊】さんやほかの方の権利はその方々にあります。
    #
    # と、書いてみるテスト。

1544954531.txt
/3KB
引用返信 [メール受信/OFF]
■1298 / ResNo.9)  Re[1]: 桐と外部DB
□投稿者/ hidetake -(2019/02/23(Sat) 19:20:55)
    > マイクロソフトのSQL Server は、
    > 無償バージョンでも今となっては
    > -----------------------------------------
    > SQL Server 2017 Express エディション
    > コア数:4コア
    > メモリ:1,410MB (インスタンスあたり)
    > 最大データベースサイズ:10GB
    > -----------------------------------------

    WSUS を構築するにあたり、WSUS 用のサーバに標準の
    Windows Internal Database (WID) ではなく、
    SQL Server 2017 Express エディション を入れて試して
    いるけど、最初の段階で 2.5GB 以上のメモリを使用して
    いて不思議に思ったが,落ち着いたら 500MB 程しか
    使わないが、更新ファイルの対象を再設定して、同期を
    かけたら SQL サーバは全体で 3.8GB 程のメモリを使って
    くれている。ちゃんと使ってくれるんだ!?



684×947 => 180×250

SQLServer2017ExpressEditionMemory.png
/71KB
引用返信 [メール受信/OFF]
■1299 / ResNo.10)  Re[2]: 桐と外部DB
□投稿者/ hidetake -(2019/02/23(Sat) 19:34:15)
    > WSUS を構築するにあたり、WSUS 用のサーバに標準の
    > Windows Internal Database (WID) ではなく、
    > SQL Server 2017 Express エディション を入れて試して
    > いるけど、最初の段階で 2.5GB 以上のメモリを使用して
    > いて不思議に思ったが,落ち着いたら 500MB 程しか
    > 使わないが、更新ファイルの対象を再設定して、同期を
    > かけたら SQL サーバは全体で 3.8GB 程のメモリを使って
    > くれている。ちゃんと使ってくれるんだ!?

    リソースモニターの値
1361×608 => 250×111

SQLServer2017ExpressEditionMemory2.png
/48KB
引用返信 [メール受信/OFF]

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



■記事リスト / ▼下のスレッド / ▲上のスレッド
■1495 / 親記事)  Excelのシート名の取得方法
□投稿者/ 田代正美 -(2024/08/29(Thu) 10:47:34)
    またまたExcelについての質問です。

    Excelのワークシート名を取得する方法はないでしょうか?
    ワークシート名を取得して
    桐に渡したいのですが
    こんなことは可能なのでしょうか?

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

▽[全レス9件(ResNo.5-9 表示)]
■1500 / ResNo.5)  Re[5]: Excelのシート名の取得方法
□投稿者/ ONnoji -(2024/09/02(Mon) 06:55:52)
    2024/09/02(Mon) 08:52:24 編集(投稿者)
    2024/09/02(Mon) 08:02:04 編集(投稿者)

    > 一括処理で記述しています。
    > &シート名="1234"
    >
    > エクセル &Excel,&シート名,項目名行=する,表名=表名.tbx,上書き="する",終了状態=&実行リターン
    >
    > 通常はワークシート名は1234なのですが
    > たまに違うときがあるのです。
    > その時にエラーになってしまうので、、、

    私は[エクセル]コマンドを使ったことがありませんが・・・(^^ゞ

     エクセル <ワークブック名>,\
           <ワークシート名>,\
            変換範囲 = (<開始セル>,<終了セル>),\
             項目名行 = する|しない,\
              表名 = <文字列型の変数名>,\
               上書き = しない|する,\
                強制改行文字 = <文字>,\
                 終了状態 = <変数名>

    ↑こういうコマンドなんですね。

    > エクセル &Excel,&シート名,項目名行=する,表名=表名.tbx,上書き="する",終了状態=&実行リターン

    ↑このコマンドを実行すると、&実行リターン に

    正常終了 → 0(ゼロ)
    それ以外 → 0(ゼロ)以外の値

    が代入されますね。

    もしも、&実行リターンの値が0(ゼロ)以外の値の場合の処理はどうされていますか?
        ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    <ワークブック名>:&Excel の値は常に固定で同じ内容ですか??それとも毎回違いますか??
             ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    p.s.

    なぜこのような事をお尋ねするかというと、

    桐の[シェル実行]コマンドで VBS または Windows PowerShell のスクリプトを実行すれば、

    ワークシートの名前を変更することも、ワークシートの名前一覧を調べることも可能です。

    しかし、そこまでする必要があるのか否かがクエスチョン?なんです。

    だって、&実行リターン の値が0(ゼロ)以外の値の場合の処理をすれば良いだけの事ですから。
        ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    つまり、適切な対処法を書いた文言をオペレータに[メッセージボックス]で見せればよいのですから・・・

     if ( &実行リターン = 0 )

      通常の処理を実行

     else

      メッセージボックスを表示

     end

    しかし、もしも、VBS または Windows PowerShell のスクリプトを絡ませると、

    現在使用されている一括処理の内容がややこしくなるので、プログラムのメンテナンス(保守)が大変になるわけです。

    そこまで、リスクを負ってまでして、VBS または Windows PowerShell のスクリプトを利用する価値はあるのでしょうか?

    私( ONnoji )的には、VBS または Windows PowerShell のスクリプトを利用しない方がベターだろうと思えます。


引用返信 [メール受信/OFF]
■1501 / ResNo.6)  Re[6]: Excelのシート名の取得方法
□投稿者/ ONnoji -(2024/09/02(Mon) 13:13:05)
    2024/09/02(Mon) 21:00:35 編集(投稿者)

    > つまり、適切な対処法を書いた文言をオペレータに[メッセージボックス]で見せればよいのですから・・・
    >
    >  if ( &実行リターン = 0 )
    >
    >   通常の処理を実行
    >
    >  else
    >
    >   メッセージボックスを表示
    >
    >  end
    >
    > しかし、もしも、VBS または Windows PowerShell のスクリプトを絡ませると、
    >
    > 現在使用されている一括処理の内容がややこしくなるので、プログラムのメンテナンス(保守)が大変になるわけです。
    >
    > そこまで、リスクを負ってまでして、VBS または Windows PowerShell のスクリプトを利用する価値はあるのでしょうか?
    >
    > 私( ONnoji )的には、VBS または Windows PowerShell のスクリプトを利用しない方がベターだろうと思えます。

    一括処理を例に、エラーメッセージを簡単に表示する例を以下に示しますので参考にしてください。
            ・・・・・・・・・・・・・・・・・

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

     ** begin of program

     変数宣言 固有,文字列{ &Excel  = "hogehoge.xlsx" }
     変数宣言 固有,文字列{ &シート名 = "1234" }

     変数宣言 固有,文字列{ &gMsg }
     変数宣言 固有,整数 { &gErrorRefErrno }
     変数宣言 固有,長整数{ &gErrorRefLineno }
     変数宣言 固有,文字列{ &gErrorRefCmdname }
     変数宣言 固有,文字列{ &gErrorRefErrmsg }
     変数宣言 固有,文字列{ &gErrorRefDetail }


     ** 変数の値を未定義値に初期化する
     &gErrorRefErrno  = #u
     &gErrorRefLineno = #u
     &gErrorRefCmdname = #u
     &gErrorRefErrmsg = #u
     &gErrorRefDetail = #u

     エラー処理 手続き名 = "prcOnErrorExcellCommand"
     *エクセル &Excel,&シート名,項目名行=する,表名="表名.tbl",上書き="する",終了状態=&実行リターン
     エクセル &Excel,&シート名,項目名行=する,表名="表名.tbx",上書き="する"
     エラー処理 /* 解除を忘れずに */

     if ( &gErrorRefErrmsg = #u ) /* エラーメッセージが代入されていなければ */

      ** 通常処理

     else

      ** エラーの場合に else を実行

      ** エラー番号・エラーメッセージ・エラーの詳細・一括処理・行番号をメッセージボックスで表示する

      &gMsg =       "[エクセル]コマンドの実行に失敗しました。"
      &gMsg = &gMsg + "\n\nエラー番号:"    + #cond( &gErrorRefErrno > 0, "KU", 1, "KD" ) + #str( &gErrorRefErrno )
      &gMsg = &gMsg + "\n\nエラーメッセージ:" + &gErrorRefErrmsg
      &gMsg = &gMsg + "\n\nエラーの詳細:"   + &gErrorRefDetail
      &gMsg = &gMsg + "\n\n一括処理名:"    + &gErrorRefCmdname
      &gMsg = &gMsg + "\n\n行番号:"      + #str( &gErrorRefLineno )

      メッセージボックス "タイトル", &gMsg, アイコン = E, ボタン指定 = 1, 制御文字展開 = する

     end


     終了

     ** end of program

    手続き定義開始 prcOnErrorExcellCommand( )
     変数宣言 自動,文字列{ &icon, &title = "prcOnErrorExcellCommand( )", &gsg }

     エラー処理 /* ここでも解除を忘れずに */

     ** エラー番号・エラーメッセージ・エラーの詳細・一括処理・行番号を固有変数に代入する

     &gErrorRefErrno  = &errno
     &gErrorRefLineno = &lineno
     &gErrorRefCmdname = &cmdname
     &gErrorRefErrmsg = &errmsg
     &gErrorRefDetail = &detail

    手続き定義終了


    p.s.

    [エラー処理]コマンドは、非常に使い道が限られています。

    なので、むやみやたらと[エラー処理]コマンドを使うのは慎んでください。

    <参考>

    桐の釣魚大全のトップ > 目からウロコのデータベース桐プログラミング入門 パート2 より転載
    http://silicon7565.html.xdomain.jp/primer/primer_side_reader_part2.html#section13-2

    13.2 エラー処理コマンドはあるけれど
     エクセルのVBAを知っている人の場合、VBAの[ On Error ステートメント]に相当する桐のコマンドを使いたいという思う人が現れても不思議ではありません。
    実は、桐には[エラー処理]というコマンドがあります。※桐9-2012 までは非公開のコマンドでした。
    しかし、結論から申し上げると、桐でこの[エラー処理]コマンドを実行する必要はまずありません。
    その理由は、多くのコマンドにおいて、そのコマンドが実行出来たか否かの結果を変数に格納する[終了状態 = <変数名>]パラメータが用意されているからです。
    また、使用するファイルがディスクに存在しなかった場合の対処に使用するのもNGです。
    その場合には、#ファイルサイズ( )という関数を使用して判定できますゾ。(^^ok
    なによりも厄介なのは[エラー処理]コマンドを使うと、単純なスペルミスによる文法エラーも拾ってしまうのです。
    そうなると、何が何だかサッパリ分からなくなってプログラムのテスト(デバッグ)どころではなくなってしまいます。
    ということで、初級者は[エラー処理]コマンドを使わないと覚えてください。

    p.p.s.

    > 桐の中で処理できるようなことを考えます。

    「エラーする前に先回りして処置したい」という気持ちは確かによく分かります。

    しかし、今回の場合には「エラーする前に先回りして処置する」という行為が、桐の単独で出来ません。

    なので、先回りせずに、素直に「エラーまんねん。エラーでっせ。エラーちゅ−てんねん。エラーまんにゃわ。!」と表示することで、

    現行で使用している一括処理のメンテナンス(保守)が容易になると思いますよ。

874×515 => 250×147

1725278382.jpg
/84KB
引用返信 [メール受信/OFF]
■1502 / ResNo.7)  Re[7]: Excelのシート名の取得方法
□投稿者/ 田代正美 -(2024/09/05(Thu) 08:34:12)
    ONnojiさん

    ありがとうございます。

    勉強します。

    またわからな事がでましたら
    よろしくお願いします。
引用返信 [メール受信/OFF]
■1503 / ResNo.8)  Re[8]: Excelのシート名の取得方法
□投稿者/ ONnoji -(2024/09/05(Thu) 11:29:53)
    > 勉強します。

    サンプルを再掲載します。

    新しく一括処理を作って、以下の内容をコピー&ペーストしてください。

    こうして作った一括処理を実行すると、より具体的に分かると思いますよ

    このサンプルはコピペだけで動くように作ってありますよ。

     ** begin of program

     変数宣言 固有,文字列{ &Excel  = "hogehoge.xlsx" }
     変数宣言 固有,文字列{ &シート名 = "1234" }

     変数宣言 固有,文字列{ &gMsg }
     変数宣言 固有,整数 { &gErrorRefErrno }
     変数宣言 固有,長整数{ &gErrorRefLineno }
     変数宣言 固有,文字列{ &gErrorRefCmdname }
     変数宣言 固有,文字列{ &gErrorRefErrmsg }
     変数宣言 固有,文字列{ &gErrorRefDetail }


     ** 変数の値を未定義値に初期化する
     &gErrorRefErrno  = #u
     &gErrorRefLineno = #u
     &gErrorRefCmdname = #u
     &gErrorRefErrmsg = #u
     &gErrorRefDetail = #u

     エラー処理 手続き名 = "prcOnErrorExcellCommand"
     *エクセル &Excel,&シート名,項目名行=する,表名="表名.tbl",上書き="する",終了状態=&実行リターン
     エクセル &Excel,&シート名,項目名行=する,表名="表名.tbx",上書き="する"
     エラー処理 /* 解除を忘れずに */

     if ( &gErrorRefErrmsg = #u ) /* エラーメッセージが代入されていなければ */

      ** 通常処理

     else

      ** エラーの場合に else を実行

      ** エラー番号・エラーメッセージ・エラーの詳細・一括処理・行番号をメッセージボックスで表示する

      &gMsg =       "[エクセル]コマンドの実行に失敗しました。"
      &gMsg = &gMsg + "\n\nエラー番号:"    + #cond( &gErrorRefErrno > 0, "KU", 1, "KD" ) + #str( &gErrorRefErrno )
      &gMsg = &gMsg + "\n\nエラーメッセージ:" + &gErrorRefErrmsg
      &gMsg = &gMsg + "\n\nエラーの詳細:"   + &gErrorRefDetail
      &gMsg = &gMsg + "\n\n一括処理名:"    + &gErrorRefCmdname
      &gMsg = &gMsg + "\n\n行番号:"      + #str( &gErrorRefLineno )

      メッセージボックス "タイトル", &gMsg, アイコン = E, ボタン指定 = 1, 制御文字展開 = する

     end


     終了

     ** end of program

    手続き定義開始 prcOnErrorExcellCommand( )
     変数宣言 自動,文字列{ &icon, &title = "prcOnErrorExcellCommand( )", &gsg }

     エラー処理 /* ここでも解除を忘れずに */

     ** エラー番号・エラーメッセージ・エラーの詳細・一括処理・行番号を固有変数に代入する

     &gErrorRefErrno  = &errno
     &gErrorRefLineno = &lineno
     &gErrorRefCmdname = &cmdname
     &gErrorRefErrmsg = &errmsg
     &gErrorRefDetail = &detail

    手続き定義終了

引用返信 [メール受信/OFF]
■1504 / ResNo.9)  Re[9]: Excelのシート名の取得方法
□投稿者/ 田代正美 -(2024/09/06(Fri) 09:11:44)
    ONnojiさん

    ありがとうございます。

    作成いただいた一括処理でわからない点がでてくるかとおもいますので
    その折はよろしくお願いいたします。
引用返信 [メール受信/OFF]

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



■記事リスト / ▲上のスレッド
■1442 / 親記事)  (仮題)目からウロコの「桐プログラミング」入門
□投稿者/ ONnoji -(2024/04/19(Fri) 18:33:10)
    ONnoji です。

    現在、(仮題)目からウロコの「桐プログラミング」入門という小論を執筆中です。

    これは[フォーム+イベント処理]の初級者向けの内容です。

    まだまだ執筆途中ですが、ご高覧いただければ嬉しいです。

    ご意見・ご感想などフィードバックいただければ幸いです。

    よろしくお願いいたします。m(__)m



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

▽[全レス9件(ResNo.5-9 表示)]
■1476 / ResNo.5)  Re[5]: (仮題)目からウロコの「桐プログラミング」入門
□投稿者/ ななーし -(2024/06/28(Fri) 17:07:20)
    Onnojiさんこんにちは。

    ChatGPTが得意な領域はどちらかというと文書要約になるので
    ダラダラ〜と自分の気持ち・伝えたい内容を書いたあと要約して!
    って頼むとあらスッキリした文章になります。

    ただ、ネックなのが削りすぎることなのでそのあと付け足します。
    理由としては記者は伝えたい思いが強すぎて情報過多になるとわかりにくくなり
    要約してもらったほうがすんなり「分かった気になる」のですが、
    残念ながらそのままにすると情報不足なので
    私はダラダラ書いてそれを削減することを自分でやるからAIにやらせて
    そのあと再度精査することで気持ちをのせる。これでわかりやすく気持ちの
    のった文になるよう工夫してます。 参考までになればうれしいです。
引用返信 [メール受信/OFF]
■1477 / ResNo.6)  Re[6]: (仮題)目からウロコの「桐プログラミング」入門
□投稿者/ ONnoji -(2024/06/29(Sat) 14:09:24)
    ななーしさん

    > ただ、ネックなのが削りすぎることなのでそのあと付け足します。
    > そのあと再度精査することで気持ちをのせる。これでわかりやすく気持ちの
    > のった文になるよう工夫してます。 参考までになればうれしいです。

    ChatGPT を含めてAIは使ったことがありませんが、とても参考になりました。感謝。(^^v

引用返信 [メール受信/OFF]
■1478 / ResNo.7)  Re[7]: (仮題)目からウロコの「桐プログラミング」入門
□投稿者/ ONnoji -(2024/06/29(Sat) 16:59:06)
    2024/06/29(Sat) 18:20:40 編集(投稿者)

    ななーしさん

    >>ただ、ネックなのが削りすぎることなのでそのあと付け足します。

    人間が執筆したオリジナルからAIで要約を生成して出来上がった成果物に対して、

    更にAIで要約を生成してと、何度もAIで生成を繰り返すと、どうなるのでしょうかね??

    ある程度まで文章を縮めると、それ以上短縮しないのか?

    たった1行の文章になってしまうのか?

    まさか、「ホーキング放射」みたいに文章が消えたりしないですよね。アハハハha


引用返信 [メール受信/OFF]
■1479 / ResNo.8)  Re[8]: (仮題)目からウロコの「桐プログラミング」入門
□投稿者/ ななーし -(2024/07/01(Mon) 09:15:48)
    ONnojiさんこんにちは。
    ChatGPTは文章に忠実に対応する癖が強いAIです。
    そのため、再度依頼する際に再度要約してくださいと依頼すると短縮してしまいます。
    再依頼の場合は添削してください。というと文章の誤記のみ修正してくれます。
    また、機械的な感想を聞くこともできるので客観視したいときに感想は聞いてますね。
引用返信 [メール受信/OFF]
■1480 / ResNo.9)  Re[9]: (仮題)目からウロコの「桐プログラミング」入門
□投稿者/ ONnoji -(2024/07/01(Mon) 15:31:06)
    ななーしさん

    > ChatGPTは文章に忠実に対応する癖が強いAIです。
    > そのため、再度依頼する際に再度要約してくださいと依頼すると短縮してしまいます。
    > 再依頼の場合は添削してください。というと文章の誤記のみ修正してくれます。
    > また、機械的な感想を聞くこともできるので客観視したいときに感想は聞いてますね。

    なるほどです。

    黎明期のAIは散々でしたね。

    手元にある「ゲーデル,エッシャー,バッハ : あるいは不思議の環」の第一版第一刷の奥付を見たら、1985年5月1日の発行でした。

    今回の第三次AIブームでようやくAIの実用化が見えてきましたね。

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

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






210299

Mode/  Pass/

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

- Child Tree -
- Antispam Version -