2014年02月11日

基本的なウィンドウ部品の配置例 その9 簡易テキストビューワー = 説明

今回は、前回の記事で紹介した、

基本的なウィンドウ部品の配置例 その8 簡易テキストビューワー 
http://talk-pc.sblo.jp/article/87026984.html?1392080825

のプログラムの説明です。

なお、設定ファイルについては、以下の記事を参照して下さい。

設定の保存と呼び出し(設定ファイル) その4
http://talk-pc.sblo.jp/article/56420860.html?1391901061

また、ツリーの手順については、下記の記事を参照して下さい。
※ただし、今回のツリーではフォルダのアイコンは使用していません。

ツリー(ツリービュー) その3
http://talk-pc.sblo.jp/article/57087460.html

──────────────────────────────
■プログラムの説明
──────────────────────────────

プログラムのタイトルは、「簡易テキストビューワー」

//タイトルは適当に書き替えて下さい。

「Produire.WinControl.dll」を利用する
「Produire.File.dll」を利用する
アプリ設定という設定ファイルを作る
アプリ設定のファイル名は、「[プログラムのフォルダ]settings.ini」

メイン画面を表示する
待機する

メイン画面とは
ウィンドウを継承する

はじめの手順
初期化する
ルートは、アプリ設定:「ルート」から「フォルダ名」を取得したもの
もし、ルートが「」でないなら

//既に、読み込むフォルダが設定されている場合だけ、下ノ手順を実行します。

テキスト1へ、「[ルート]」を挿入する
「[ルート]」を、ツリー1にフォルダ追加する
ツリー1へフォーカスする
もし終わり
終わり

初期化する手順
この内部領域大きさを{548、349}に変える
この内容を「[プログラムのタイトル]」に変える
この初期位置を「中央」に変える

ラベル1というラベルを作る
その内容を「フォルダ(&D)」に変える
その位置と大きさを{12、16、39、12}に変える

テキスト1というテキストを作る
その位置と大きさを{73、13、382、19}に変える
その読み取り専用を○に変える

//フォルダ名を手入力する人はあまりいないと思うので、読み取り専用にしています。

参照ボタンというボタンを作る
その内容を「参照(&B)」に変える
その位置と大きさを{461、9、75、23}に変える

ラベル2というラベルを作る
その内容を「ファイル選択(&F)」に変える
その位置と大きさを{13、46、39、12}に変える

ツリー1というツリーを作る
その項目高さを14に変える
その位置と大きさを{13、62、164、237}に変える

ラベル3というラベルを作る
その内容を「内容(&E)」に変える
その位置と大きさを{192、47、39、12}に変える

テキスト領域1というテキスト領域を作る
その位置と大きさを{192、62、344、237}に変える

//テキスト領域に加えられた変更をチェックしたり、
//上書き保存する手順は、このプログラムには含まれていないため、
//ここで編集しても、結果は元のファイルに反映されません。
//ですから、読み取り専用にしてもかまいません。

コピーボタンというボタンを作る
その内容を「コピー(&C)」に変える
その位置と大きさを{13、314、75、23}に変える

コピー閉じるボタンというボタンを作る
その内容を「コピーして閉じる(&P)」に変える
その位置と大きさを{96、313、120、23}に変える

フォルダボタンというボタンを作る
その内容を「フォルダを開く(&D)」に変える
その位置と大きさを{225、313、105、23}に変える

閉じるボタンというボタンを作る
その内容を「閉じる(&X)」に変える
その位置と大きさを{461、314、75、23}に変える
この取消ボタンを、閉じるボタンに変える

終わり

ーー参照
参照ボタンがクリックされた時の手順
フォルダ選択画面の説明を、「表示するフォルダを選択してから OK のボタンを押して下さい。」に変える
フォルダ選択画面を表示する
もしフォルダ選択画面のキャンセルなら、手順から抜ける
アプリ設定:「ルート」で「フォルダ名」へ「[フォルダ選択画面のフォルダ名]」を設定する
テキスト1の内容を、「[フォルダ選択画面のフォルダ名]」に変える
もし、テキスト1の内容が「」でないなら

//フォルダ選択画面から、フォルダ名が入力されたか一応チェックします。

「[テキスト1の内容]」を、ツリー1にフォルダ追加する
もし終わり
終わり

ーーフォルダ追加
[ノード]に、[パス]を、フォルダ追加する手順
【フォルダ名たち】
フォルダ名たちは、パスのフォルダの一覧
【フォルダ名】
【子ノード】
フォルダ名たちをフォルダ名にそれぞれ繰り返す
子ノードは、ノード:フォルダ名を追加したもの
子ノードに、パス&「\」&フォルダ名をフォルダ追加する
繰り返し終わり

【ファイル名たち】
ファイル名たちは、(パス&「\*.txt;*.rdr」)のファイルの一覧

//*.txt;*.rdr の所で、読み込む対象の拡張子を指定します。
//ここでは、テキストファイルとプロデルファイルの二つを指定しています。

【ファイル名】
ファイル名たちをファイル名にそれぞれ繰り返す
ノード:ファイル名を追加する
繰り返し終わり
終わり

ーーツリー1が選択された
ツリー1が選択された時の手順
ルートは、アプリ設定:「ルート」から「フォルダ名」を取得したもの

//[ツリーの選択項目のフルパス]には、ルートのフォルダ名が含まれないため、
//読み込んだフォルダ(ルート)のパスを取得します。

ファイル名は、ツリー1の選択項目のフルパス

//[選択項目のフルパス]というのは、リファレンスには記載されていません。
//サンプルか掲示板かどこかで見かけたような気がするのですが、
//どこでだったか忘れてしまいました。

拡張子は、ファイル名の拡張子だけ

//[選択項目のフルパス]は、フォルダの場合でも \ が末尾に付きません。
//そのため、拡張子の有無でファイル/フォルダの判定を行なっています。

もし、拡張子が「」なら

//ファイル名 = 選択項目のフルパスに拡張子が含まれていなければ、
//フォルダが選択されていると判定します。

テキスト領域1をクリアする

//既にファイルの内容を読み込んで表示されている文字列をクリアします。

手順から抜ける
でないなら //ツリーで選択されているのがファイルなら
文字1は、「[ルート][ファイル名]」から読み込んだもの

//最初に取得したルートフォルダのパスと、その先のファイルパスを繋げて、
//そのファイルから内容(文字列)を読み込みます。

テキスト領域1の内容を、文字1に変える

//読み込んだ文字列を、テキスト領域に表示します。

テキスト領域1を0に移動する
もし終わり
終わり

ーーコピー
コピーボタンがクリックされた時の手順
テキスト領域1の内容を、クリップボードにコピーする
終わり

ーーコピーして閉じる
コピー閉じるボタンがクリックされた時の手順
テキスト領域1の内容を、クリップボードにコピーする
0.5秒 待つ

//クリップボードにコピーして、すぐにウィンドウを閉じると、
//エラーが発生することがあるため、待ち時間を設定しています。

自分を閉じる
終わり

ーーフォルダボタン
フォルダボタンがクリックされた時の手順
「[テキスト1の内容]」を起動する

//Explorerが起動して、ルートのフォルダを開きます。
//元のファイルの編集は、ここから行なうようにしています。

終わり

ーー閉じるボタン
閉じるボタンがクリックされた時の手順
自分を閉じる
終わり

終わり

──────────────────────────────
【produireの最新記事】
posted by yanikun at 10:26| Comment(0) | TrackBack(0) | produire
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/87028138

この記事へのトラックバック