G3026_キーワード実験②
2025年4月12日
3:35
G3026_pc_keyword_link_experi_report_1
Version:0.9 StartHTML:00000000 EndHTML:00000000 StartFragment:00000000
EndFragment:00000000 G3026_プロジェクト
目標設定
- 早見表の機能を実験してみます
- 本来は意味登録を作りたいのですが、構想が定まりません
- まず、Goma_noteの早見表を作りながら、形式を固めます
- 使いやすければ、C#早見表も移植してみます
個人に特化するということ
- ユーザの皆さんには、アプリを個人に特化するとどんなメリットがあるかを体現していただくことが有用です
- 表向きの様式や手続きは、公的に統一しなければなりません
- 会計、税務、公文書、法的文書などは公的に統一されているという建前になっています
- これらをいちいち覚えるのは人間のメモリの無駄になるので、AIが書式を整える代行をするようになります
- 本来、アプリの入力書式は、個人の学習、業務、成長、進化、老化、能力低下に合わせて、変化すべきものです
- 書式の統一と、個人の変化に適合することは、まったく相いれないニーズです
- インターフェースと呼びますが、個人に特化したインターフェースをどのように実現するかをユーザの皆様と模索する取り組みです
早見表のはじめにある注意事項
- C#早見表に、ユーザの皆様が独自の早見表をおつくりくださいと書いています
- 最初は専門用語が溢れて、理解がなかなか進みませんので、自分に理解できる文言にいちいち書き換えて、理解の助けとすることも有効です
- 無駄にある横文字は、日本語に置き換えた方が、理解が早いと思うのです
- ユーザ様が、英文の論文をお書きになる研究者であれば、これには当たりません
早見表に必要とされる機能
- 見出しのタイトル
- サンプルコード
- クリップされた画像
- マイクロソフトのリンク先
- HTML表示 ( コードと画像を一度に表示する方法の可能性)
- 別紙のリンク先
- 別の呼び名でも検索をヒットさせる工夫 (学習、汎用化必要)
メインタイトルについて
- これから頻繁に利用するので、下方に配置していたプロジェクト一覧を先頭に移動しました
- プロジェクトの並べ替え機能は作っていないので、メモ帳で編集しました
- 下位フォルダに「タイトル」を登録すると、メインタイトルの下位フォルダが生成されます
- まず配下のキーワードに対して、一つのテキストファイルが割り当てされます

ここで少し横道にそれます
- 初期設計のミスを修正します
- なぜか、デフォルトのデータフォルダが \000_sys\データになっていて、使いにくいと感じています
- プロジェクトごとのデータフォルダは、ルートフォルダに、プロジェクト名のフォルダを作成します
- これをデフォルトにすると、プロジェクト一覧の「ルートフォルダ」をいちいち登録する必要が省略できます




メインタイトルの「下位フォルダ」の準備が出来ました
- 前回は、「年」「年月」などの下位フォルダを作りました
- 今回は、メインタイトル名の下位フォルダを作ります
- ロスは多いのですが、メインタイトルをリストボックスに展開するたびに生成します


キーワード専用画面



HTML表示の実験



ここで2日にわたってバグによる足止め
- テキストボックスに、登録されたテキストファイルを表示することには成功したのですが
- テキストボックスを編集した結果をテキストファイルに保存する処理に失敗しました
- 原因は、Prm_dat_upd() 関数が原因でした
- パラメータ書き込みが失敗します、読み込みは成功します
- そこで、使いたくなかったのですが、サブフォーム、Form5でグローバル変数を使いました
- テキストボックスの更新有無を判断するカウンターです
- 思考体力かがないので、原因究明はせず、放置します またの機会に

さらに放置していたバグの調査をします
- 前回処理値のファイル保存をして、画面を再現する仕様のはずが、再現されません
- 今回キーワードのサブ画面(Form5)を作るにあたって、起動のたびに、「キーワード」「Goma_note」を選択していました
- 面倒くさいので、いよいよバグ対策をします
- 思い込み、勘違い、単純ミスの類いではあると思いますが、このような認知バイアスに関係するバグは時間がかかります
- 時間がもったいないので、根本原因は放置して先に進みます
- 第三者が見たらすぐわかるバグだとは思います


キーワードの検索
- ごたまぜにして検索するための、よい方法が思い浮かばないので、メインタイトル単位での処理になります
- メインタイトルを選択して、今回は早見表の登録や閲覧をサブフォーム(Form5)で実行します
- すべてのキーワードを見通すことは出来ないので、当面早見表に特化した操作で作成します
- 現在はOneNoteで早見表を検索しており、特別不便は感じていません
- 説明書の作成とGoma_noteの早見表の二つを実現できることを狙っています



リストボックスのタイトル表示コード

リストボックスのクリック処理コード
- タイトル説明文のテキストをテキストボックスに代入します
- テキストボックス上で編集がされたら、保存します
- 簡単な画像付きの説明書にするため、JPG画像を取得できる仕組みにしています
- テキストとJPG画像をHTML形式で表示します



クリップ画像の登録手順
- マウスのドラッグ操作で画像をクリップする方法は別紙で学習してください
- 画像データは複数配置できるものとし、3桁の連番で保存します
- 連番が不連続になった場合、後方の画像は表示されません



画像ファイルの保存箇所

画像取得のコード

テキストボックスが編集されたことを検出する


編集されたテキストボックスの保存処理
- 戻るタイミング
- リストボックスのキーが変更されるタイミング
- キーワード検索のタイミング


テキスト編集の操作


キーワードの絞り込み
- リストボックスは1000件が最大になります
- カテゴリに分けると、1000件を超えることはないという想定です
- テストデータなので検索するほどの件数はありませんが、このように絞り込みできます

キーワードの絞り込みコード


早見表の反省
- テキストボックスとHTML表示の重複が無駄に思えます
- 発想が20年前のものなので、大変古臭いです
- 20年前も文書管理というタイトルで同じ処理を作っていました
- C#の早見表では、普通1行から2行、多いものでも、画面に収まる程度のサンプルコードをコピペして使う用途です
- テキストが主役なのですが、時に画像があれば説明が詳しくなるので、おまけに付けています
- 複数の画像は、テキストの後方に並べて表示されます
- テキストと画像のサンドイッチは出来ないので、画像の説明はできるだけ、ペイントなどのツールで、画像に文字を埋め込みします
- ぱっと見できる、画面1枚に収まるボリュームを基本とします
- 長々とした説明書は、OneNoteに記録します