プロデル入門の第22話です。今回は、自分で作った、よく使うプログラムをライブラリとしてまとめる方法を解説します。また後半では、プロデルだけを使ってプロデル用のプラグインを作る方法を紹介します。
ライブラリとは
ライブラリとは、特定の機能を提供する種類をまとめたものです。自分で作成したプログラムの中で頻発に使う種類を、ライブラリとしてまとめることで、他のプログラムから簡単に使いまわせるようになります。
よく使うプログラムをライブラリにまとめると、同じプログラムをコピー&ペーストする必要が無く、プログラムにバグが見つかった時や、新しい機能を加えた時に、同じプログラムを使う箇所を修正したり差し替えたりする必要がなく、プログラムの管理がとても楽になります。
ライブラリを作るには、ライブラリ用にプロデルファイルを作り、種類を1つ以上定義すればライブラリとなります。ライブラリを利用したいプログラムでは、「参照する」文を使ってライブラリを参照すると、指定したライブラリの種類が使えます。
自分用のライブラリを作って活用するには
例えば「マイライブラリ」という種類を定義して、ライブラリとして使えるようにします。
プロデルファイル(マイライブラリ.rdr)に次のプログラムを書いておきます。これを他のプログラムから参照することで、マイライブラリの種類を使えます。
マイライブラリとは
挨拶する手順
「こんにちは、世界の国から」と情報アイコンで表示する
終わり
終わり
これで一番シンプルなライブラリができました。
次に、プロデルファイルを新規作成して、次のような「マイライブラリ」種類を使うプログラムを書きます。プログラムの冒頭に「参照する」文を使って、ライブラリを指定します。
「マイライブラリ.rdr」を参照する
マイライブラリを作って、マイリブとする
マイリブ:挨拶する
うまく動くかどうか、試してみましょう。
ライブラリをプラグインとして作るには
作成したライブラリをプロデルデザイナの「実行可能ファイルの作成」機能でプラグイン(DLLファイル)として作成することもできます。DLLファイルを作成すると、複数の公開ソフトで同じライブラリを利用するときなどに、ファイルサイズを減らせるため、便利です。
プロデルプラグインは、C#などの.NETのプログラミング言語で開発するひな形を公開していますが、プロデルの実行可能ファイルの作成を使うと、プロデルだけでプラグインを作成することもできます。
プロデルデザイナのファイルメニューの「実行可能ファイルの作成」で「ファイルの種類」に「プラグインDLL」を選択してdllファイルを作成します。
なお、プログラム冒頭にプリプロセッサ「※ライブラリ」と書くことで、自動的にファイルの種類にライブラリが選択されます。
作成された.dllファイルは「利用する」文で他のプログラムから利用できます。
〈プラグイン名〉を利用する
利用する文でライブラリを参照すると、参照されたライブラリの種類がプログラムで宣言した時と同じように使えます。例えば、次のプログラムは、ライブラリに定義した「マイライブラリ」種類のオブジェクトを作って「挨拶する」手順を呼び出すプログラムです。『「○○.rdr」を参照する』の部分が『「○○.dll」を利用する』へ変わった点以外、種類の使い方は同じです。
「マイライブラリ.dll」を利用する
マイライブラリを作って、マイリブとする
マイリブ:挨拶する
オリジナルGUI部品のプラグインを作る
では、オリジナルのGUI部品を作って、他のプログラムから利用できるようにプラグインを作成して利用するプログラム例を紹介します。
トグルスイッチを作る
ここでは、自由に部品を配置できるGUI部品である「カスタムウィンドウ部品」種類を継承して、オリジナルのトグルスイッチを作ってみます。トグルスイッチとはスマートフォンの設定画面などでよく見かけるチェックボックスと同じ役割をする部品です。
まず「マイトグルスイッチ.rdr」という名前でプロデルファイルを作成して「マイトグルスイッチ」という名前の種類を定義します。
アウトラインで「項目の追加」→「カスタムウィンドウ部品」を選択して、名前を「マイトグルスイッチ」とします。
カスタムウィンドウ部品のデザイン画面には、キャンバス部品を貼り付けます。
プログラムの編集に戻って、キャンバスにトグルスイッチを描く図形を描きます。トグルスイッチには、オン(On)とオフ(Off)の状態があり、クリックすると状態が切り替わるように作ります。
//マイトグルスイッチ.rdr
※ライブラリ
マイトグルスイッチとは
カスタムウィンドウ部品を継承する
+フラグ
はじめの手順
初期化する
ーー貼り付けた部品に対する操作をここに書きます
キャンバス1へ角丸矩形を描いて台とする
その位置と大きさは{0,0,100,100}
その線色は、紺
その丸みは、60
その背景色は、青
キャンバス1へ円を描いて、つまみとする
その位置と大きさは{0,0,100,100}
その背景色は、白
終わり
初期化する手順
ーー自動生成された手順です。ここに書き加えたプログラムは消える可能性があります
この位置と大きさは{15,15,466,247}
この内容は「マイ部品」
この文字色は「標準の文字」
キャンバス1というキャンバスを作る
その位置と大きさは{0,0,466,247}
その移動順は3
その文字色は「標準の文字」
そのドッキング方向は「全体」
終わり
大きさが変わった時の手順
台が無なら返す
反映する
終わり
反映する手順
フラグなら
台の背景色は、白
つまみの背景色は、青
台の大きさは、キャンバス1の紙大きさ
台の丸みは、台の高さ/2
つまみの大きさは{台の幅/2.2,台の高さ*0.8}
つまみの位置は{台の幅/2.2,台の高さ*0.1}
そうでなければ
台の背景色は、青
つまみの背景色は、白
台の大きさは、キャンバス1の紙大きさ
台の丸みは、台の高さ/2
つまみの大きさは{台の幅/2.2,台の高さ*0.8}
つまみの位置は{台の幅*0.1,台の高さ*0.1}
そして
終わり
キャンバス1がクリックされた時の手順
フラグは、フラグが〇でない
反映する
終わり
終わり
プログラムを「マイトグルスイッチ.rdr」として保存して、実行可能ファイルの作成でプラグインとしてDLLファイルを作成します。
マイトグルスイッチのテストプロクラム
次に、作成したプラグインを利用するプログラムを作って実行してみます。新しいプログラムを作成して「マイトグルスイッチ.rdr」を参照します。ライブラリとして作成したプラグインを使うために「利用する」文を使います。
プログラム中で「マイトグルスイッチ.dll」を利用すると、DLLファイルがロックされるため、.dllファイルを作成し直す場合には、一度プロデルデザイナを終了してください。
「マイトグルスイッチ.rdr」を参照する
//「マイトグルスイッチ.dll」を利用する
メイン画面を表示する
待機する
メイン画面とは
ウィンドウを継承する
はじめの手順
初期化する
ーー貼り付けた部品に対する操作をここに書きます
部品1というマイ部品を作る
その位置と大きさは{50,50,120,60}
終わり
初期化する手順
ーー自動生成された手順です。ここに書き加えたプログラムは消える可能性があります
初期化開始する
この実質大きさは{428,394}
この内容は「メイン画面」
この文字色は「標準の文字」
初期化終了する
この設計スケール比率は{144,144}
終わり
終わり
実行すると、トグルスイッチが表示されます。
ファイル選択部品を作る
今度は、ファイルを選択するテキストボックスとボタンを組み合わせた部品を作ってみます。
ファイル選択部品.rdr
プロデルデザイナでカスタムウィンドウ部品を追加して、フォームデザイナで必要な部品を貼り付けていきます。また、選択したファイル名を種類の外部から調べられるように「ファイル名」設定項目を定義します。
※ライブラリ
ファイル選択部品とは
カスタムウィンドウ部品を継承する
はじめの手順
初期化する
ーー貼り付けた部品に対する操作をここに書きます
終わり
初期化する手順
ーー自動生成された手順です。ここに書き加えたプログラムは消える可能性があります
この位置と大きさは{15,15,466,45}
この内容は「マイ部品」
この文字色は「標準の文字」
ファイル名テキストというテキストを作る
その位置と大きさは{3,8,414,25}
その位置固定方向は「上+左+右」
選択ボタンというボタンを作る
その位置と大きさは{423,0,40,41}
その内容は「...」
その移動順は1
その文字色は「標準の文字」
その位置固定方向は「上+右」
終わり
選択ボタンがクリックされた時の手順
開く画面のフィルタは「テキストファイル|*.txt;*.rdr|すべてのファイル|*.*」
開くファイルを選択して、ファイル名とする
ファイル名が無でなければファイル名テキストの内容は、ファイル名
終わり
ファイル名という属性
取得する手順
ファイル名テキストの内容を返す
終わり
設定する手順
ファイル名テキストの内容は、設定値
終わり
終わり
終わり
作成したライブラリを実行可能ファイルの作成で「ファイル選択部品.dll」というプラグインとして作成しておきます。
ファイル選択部品-テスト.rdr
次に、ファイル選択部品を使ったテスト用のウィンドウを作ります。ウィンドウにはファイル名を確認するためのボタンを貼り付けます。カスタムウィンドウ部品は、フォームデザイナでは貼り付けられないため、ファイル選択部品を作るプログラムは「はじめ」の手順に書きます。
「ファイル選択部品.dll」を利用する
メイン画面を表示する
待機する
メイン画面とは
ウィンドウを継承する
はじめの手順
初期化する
ーー貼り付けた部品に対する操作をここに書きます
ファイル選択部品1というファイル選択部品を作る
その位置と大きさは{27,37,400,159}
その内容は「マイ部品」
その位置固定方向は「上+左+右」
終わり
初期化する手順
ーー自動生成された手順です。ここに書き加えたプログラムは消える可能性があります
初期化開始する
この実質大きさは{638,394}
この内容は「ファイル選択部品のテスト」
この文字色は「標準の文字」
確認ボタンというボタンを作る
その位置と大きさは{127,142,112,34}
その内容は「確認」
その移動順は1
その文字色は「標準の文字」
初期化終了する
この設計スケール比率は{144,144}
終わり
確認ボタンがクリックされた時の手順
ファイル選択部品1のファイル名を表示する
終わり
終わり
テストプログラムを実行して、ファイル選択部品が正しく動作するか確認しましょう。
まとめ
今回はプロデルでライブラリを作る方法を紹介しました。プロデルでプログラムを作り込んでいくと、どんどん長くなります。そこでライブラリやプラグインを作って、プログラムをきれいにまとめて整理すると、よりプログラムが作りやすくなります。ぜひご活用ください。
- 連載「プロデルではじめる日本語プログラミング入門」
- 次の章 (#23) 定型処理を自動化(RPA)しよう
- 前の章 (#21).NETを駆使してパワーアップしよう
- (#9) 「オブジェクト指向とは」
- YouTube動画 プロデル入門「オブジェクト指向」
※当ブログの記事の著作権はゆうとにあります。プロデルに関係が無い目的で、文章や図表,プログラムを複製, 改変, 移植して掲載することを堅く禁止します