G3022_タッチパネルの実験①
2025年3月20日
17:34
G3022_pc_tach_panel_experi_report_1
Version:0.9 StartHTML:00000000 EndHTML:00000000 StartFragment:00000000
EndFragment:00000000 G3022_プロジェクト
解説
- 実験プロジェクトをユーザ様別に切り分けできる仕様を追加しました
- これまでは、Goma_note.exe を直接起動していましたが、ショートカットを作成して、データルートを指定するテキストファイルを変更することで対応します
プロジェクト切り替え機能

プロパティ

データパスを指示するテキストファイル

関連コード



今回のテーマに戻ります
- 40年ほど昔、ある業界の積算システムにかかわったとき、資材入力にタッチパネルを活用しました
- いまやスマホ、タブレットで普通に活用されているタッチパネルです
- モニタにタッチ機能のない当時、碁盤に配置されたスイッチの表面を透明シートが、モーター駆動により数十ページ差し変わる装置を使っていました
- これを接続していたのは、ミニコンでした
- パソコンが普及し、マウスが普及した時点で、画面上に碁盤の画像を作り、マウスで抑えることで、資材を入力する仕組みをその後長年使いました
熟練すると最速で処理が可能になります
- 音声入力やキーボードでの文字入力より、このタッチパネルは熟練することで高速に入力できる可能性があります
- 熟練ということは、配置を頭の中に記憶することです
- 最も少ない操作数で、資材入力ができます
- 音声は誤変換が多いです
- キーボード入力は、キー操作数が多くなるので、タッチパネルには及びません
- また、工夫によっては、初心者ガイドを作ることが可能です
時代遅れで使わないかもしれませんが、用途開発の目的で実装してみます
- まだアイデアの段階に過ぎないのですが、身の回り品の入力に活用したいと思っています
- 探し物をなくして、余命の時間効率向上を狙います
- また意味を理解するデータベース構築のための、データ入力に活用する予定です
- また、Andoroidタブレットに応用して、ユーザ様の業務に活用できないか、可能性を探ります
実験画面の配置
- コントロール部品は利用せず、グラフィックで作成します
- マスに文字を配置します
- 背景の色を変更することで、グループを提示します

20ページすべてをメモリ展開します
- こちらは、グローバル変数が必要でした
- 配列はすべて固定件数なので、3次元配列は可能ですが、コードミスを防止するため、マルチグリッドと同じ方式を採用します




枠の色変更をテストします



タッチの文字列配置のファイル処理、反省の記録
- 忙しい方は、読み飛ばしてください
- 20ページ、縦12、横15の文字配置をファイル記録する処理を作成している途中で
- 不可解なバグに遭遇しました
- 思い込みで、2日もロスしたので、簡単な記事にします
- 3次元配列に保存された文字列をテキスト保存するだけなので、定義体は使っていません
- ファイル名 タッチパネル.tachtxt
- 書き込みまでは正常なのですが、読み込みをすると、パラメータが読み込みされてしまいます
- 自動変数、グローバル変数ともに、大きなサイズのメモリを扱っているので
- 真っ先に、メモリ破壊が頭に浮かんでしまいました
- 過去にヒープ領域のオーバーフローで苦労した記憶からです
- マルチグリッドとは競合していません
- タッチ配列を3次元に変更しても効果なしです
- 3次元で処理すると、コードがシンプルになりました よい発見です
- テキストファイルのリンク破壊かと疑い、ファイルを削除したり名称変更したり
- チェックデスク、システム修復も試しました
- コードを目視でじっくり眺めたら、速攻でわかったことでした
- タッチ用テキストファイルの fil_path を組み上げているのに、肝心の読み込み処理に
グローバル変数の Para_txt_fil_path が コピペのまま残っていたのです
- グローバル変数の弊害が出ました
- 設計当初は、グローバル変数にはしていなかったのですが、いつの間にか
考えられる対策
- 早見表にテキストファイル読み込みのコピペコードを記録しているので
- 出来るだけそちらからコピペするよう注意します
- 本体コードを修正し、コピペされてもミスが起こらないように、標準化します


漢字4文字、4段まで表示できました





タッチデータの内容
- この内容は、業態によって激しくカスタマイズされます
- カンマ区切りにせず、アンダーバーを使っています
- 1段 2段 3段 4段 色番号 属性1 属性2 属性3
- 4段は登録固定できると判断しました
- 後方の属性は、業種でいろいろ増設されると思いますが
- 追加する分には、データ変換がいらないので、後方に配置しています
- page x y は含まない方が、保守が簡単だと判断しました
保存のタイミングと関数コード


Form1_Paint() 内部処理



タッチセルの登録機能に新しいフォームを作ります






タッチセルの登録コードです




追記、エラーの解消をしました
