プログラミング入門 (桐s-2024LT:リボン編)

桐でプログラムを作ろうという方への道しるべになれば幸いです


Introduction

この入門講座は 桐s-2024LT で作成しています

イベント(フォーム+イベント) と 一括処理について

Win桐ではイベント処理の他に、Dos桐で使われていた一括処理が利用できます。
これは Dos桐 の資産を継承するために必要だからでしょう(お仕事で使われているシステムを刷新するのはとても大変です)

この入門講座はイベント処理の講座になります

※筆者も昔々イベントに移行する前、Dos桐の一括処理をWin桐の一括処理にアップグレードしたことがあります。
結構大きなシステムだったのですが必要に迫られて(今更 Dosマシンの時代でもないし、NEC98シリーズの入手も難しくなってきたし)
一括処理のままWin桐に移行した次第です(実際 Win桐 で一括処理が継承されていたので助かりました)
その後イベントに移行し今に至っています(イベントを学び始めてから一括処理は全く使用していません)


いきなりですが、備忘録です(フォームを作成する際の留意点を書きました (^_^;) ~~~

フォームの [オブジェクトの属性] でウインドウの形式が 【ポップアップ】 になっているか確認してください(リボン使用時の相性?です)



 


Chapter1:プログラムの第1歩は 「開いて閉じる」 から
  改定版 /更新日:2024年7月29日

1 事前準備
ここで使用する 表とフォームを作成します。表、フォーム、そして Chapter2 以降で作成するファイルは全て同じフォルダに入れておきます。
 
1-1 住所録(テーブルとフォーム)の作成
1-1-1
表(テーブル)の作成
リボン [ファイル] → [新規作成] → [表]



または 桐ファイルパレット [ファイルの種類:表] → [新規作成]






ファイル名:" 住所録.tbx " → [簡易表]


[表題]:住所録(設定しなくてもOK)、[項目数]:20(既存値でOKということです) → 完了(作成後 定義 で開くとよいでしょう)





[定義] では 項目名 A~D を次のように変更してください。


1-1-2 フォームの作成
リボン [ファイル] → [新規作成] → [フォーム]
 


または 桐ファイルパレット [ファイルの種類:フォーム] → [新規作成]





ファイル名:" 住所録.wfx " → [一覧表] を選択




使用する表ファイルは "住所録.tbx" です。ファイル参照から設定しましょう



項目名を設定した4項目だけを使用します。またグループ化する項目はありません。



作成したファイルは、[定義] で開くとよいでしょう



[オブジェクトの属性] で ウインドウの形式を 【チャイルド】 から 【ポップアップ】 に変更します


項目幅を調整します
(ここでは適当に設定しています。微調整は実際にデータを入力してからでないと難しいですね)。
 

※ ファイルの拡張子に大文字、小文字の区別はありません。桐は自動で ”TBX , WFX” を付加しますが、” tbx , wfx ” でOKです。

 
1-2 郵便番号簿(テーブルとフォーム)の作成
1-2-1 表(テーブル)の作成
[新規作成] → [ファイル名]:" 郵便番号簿.tbx " → [簡易表] → [表題]:郵便番号簿(設定しなくてもOK)、[項目数]:20(既存値でOK) → 完了
  作成後、[定義] で項目名を次のように変更します。


1-2-2 フォームの作成
[新規作成] → [ファイル名]:" 郵便番号簿.wfx " → [一覧表] → [表ファイル名]:" 郵便番号簿.tbx " → [使用する項目]:以下の通りです


  郵便番号簿のフォームは [オブジェクトの属性] で ウインドウの形式を 【ポップアップ】 にするだけで、他は特に調整する必要はありません
 
 
1-3 データ作成:郵便番号データを読み込みます
1-3-1 郵便局のサイトから郵便番号データをダウンロードして展開(解凍)し、準備しておきます
※ここでは「住所の郵便番号(1レコード1行、UTF-8形式)(CSV形式)」を利用しています(ファイル "utf_ken_all.csv" を入手しました)
   
1-3-2 " 郵便番号簿.wfx " を開いて フォームのメニューバーから [ファイル] → [読み込み] → [CSV] をクリックします
※" 郵便番号簿.tbx " からも読込めます


  読み込むCSVファイルに "utf_ken_all.csv" を指定します。[読み込み項目] は  (全て) でOKです。
 




  事前準備は以上で完了です (^_^)v

 


2 メニューの作成
   
2-1 Null フォーム(表を持たないフォーム)を使って作成します。フォームの種類で [ 白紙 -> フォーム定義へ ] を選択します。

※ ファイル名は " MainMenu.wfx " としました

   
2-2 コマンドボタンを2つ準備して [オブジェクトの属性] → コマンドボタン の機能名を以下のように設定します
※フォームのサイズは適当に変更してください
   
2-2-1
 
2-2-2


2-2-3 できあがったフォームは次のようになります( [オブジェクトの属性] で ウインドウの形式を 【ポップアップ】 にするのを忘れないでください)


2-3 このまま [住所録] と [郵便番号簿] のボタンを押すと以下のように所定のフォームが開きます。
"MainMenu.wfx" は閉じられます。







ヒント

定義画面を表示するショートカットキー
[ファイル] → [最近開いたファイル] → ファイルを選択して [  Ctrl +左クリック ] 、[ Ctrl + Enter ] で、定義画面を開くことができます


3 住所録 と 郵便番号簿 に MainMenu に戻るためのボタンを設定します。
※ これまでの設定ではフォームを閉じるには右上の を押すしかなく MainMenu には戻れません。

3-1 "住所録.wfx" と "郵便番号簿.wfx" を定義で開いてヘッダ部分を広げて コマンドボタン を設定します。

3-1-1 "住所録.wfx" に コマンドボタンを設定します


3-1-2 同様に "郵便番号簿.wfx" に コマンドボタンを設定します
ここでは "住所録.wfx" を閉じずに、新たな タブとして開いています
 
 
3-2 "MainMenu" の [住所録]ボタン、または [郵便番号簿]ボタンでフォームを開いて、
開いたフォームに設定した [MainMenu]ボタンを押すとフォームが閉じて "MainMenu" に戻ることができるようになりました。

4 住所録 から 郵便番号簿 へ また 郵便番号簿 から 住所録 へ
MainMenu に戻らずに移動できるようにコマンドボタンを追加します
 
4-1 "住所録.wfx" 、 "郵便番号簿.wfx" の両フォームを定義で開いて、[住所録]・[郵便番号簿]のコマンドボタンを次のように追加します。
※ここでは両ファイルを定義で開いておいて、タブで切替えながら作業をしています。
4-1-1 "住所録.wfx"の[郵便番号簿]ボタン の属性は次のようになります


4-1-2 "郵便番号簿.wfx" の[住所録]ボタン です

 
4-2 不要なボタンを使えないようにします
4-2-1
コマンドボタン の機能をすべて 【なし】 にします
"住所録"では [住所録]ボタン の機能をすべて 【なし】 にします。
同様に "郵便番号簿"では [郵便番号簿]ボタン の機能をすべて 【なし】 にします



4-2-2 もしくは コマンドボタンを 【使用不可表示】 にします
  コマンドボタンの [オブジェクトの属性] → [表示] → [フォーカス設定可能] で設定します





5 ここまでの設定だけではフォームの右上の (閉じる)を押すと MainMenu を開かずに、ただ単にフォームが閉じるだけになります。
そこでフォームを で閉じる際に、自動実行するコマンドを設定します。
  フォームを定義で開いて、 [フォームの属性] で、終了時の実行コマンドに コマンドボタン [cmdMainMenu]  を登録します。
"MainMenu.wfx"には設定不要ですね
   
5-1
ワークスペースでWクリックしたり リボン等から → [オブジェクトの属性] → オプションタブで終了時の実行コマンドに [cmdMainMenu] を登録(コマンドボタンのリストが表示されます)
※リボンの [オブジェクトの属性ボタン] を利用する場合には、フォーカスがどこにあるか注意ですね



   
5-2 ワークスペースで右クリックしてみました

 


6 MainMenu 、住所録、郵便番号簿 の各フォームでコマンドボタンを押してみてください
それぞれのフォームを自由に移動できるようになっている、はずです (^_^)v

6-1





  最初に開くフォームは MainMenu でなくてよいことにもなります
 
6-2 補足:上記のサンプルでは、表示を微調整しています(表示はお好みなので、以下の設定は参考まで)
  ○コマンドボタンは [オブジェクトの属性] → [背景] → [立体色モード]→ (継承) に設定
○"MainMenu.wfx" では リボンやワークスペースで右クリック などから フォーム操作バー を [なし] に設定します
  またメニューバーを非表示にするには  [フォームの属性] → フォームタブで [メニューバー] のチェックを外します
○"住所録.wfx" と "郵便番号簿.wfx" では項目名のフォントの表示位置を中央にして、明細部と共に高さを調整しています
  MainMenu とは異なり、フォームのメニューバーは表示しておくことをお勧めします

 


Chapter 1 終わり、お疲れ様でした (^_^)ノ
  Special Thanks ONnojiさん、AKさん