ツリー(ツリービュー) その5

 ■前回のプログラムの説明


※「キュー」という、データ処理の手順については、別のエントリーで説明します。


──────────────────────────────

「Produire.WinControl.dll」を利用する

FIFOというキューを作る

ーーFIFOという、データを一時保管する場所を作成します。


ウィンドウ1を表示する

待機する


ウィンドウ1とは

ウィンドウを継承する


はじめの手順

初期化する

終わり


初期化する手順

ーーこの手順は自動生成されたものです。編集しないでください

この内部領域大きさを{245、364}に変える

この内容を「ウィンドウ1」に変える


ラベル1というラベルを作る

その内容を「フォルダ」に変える

その位置と大きさを{13、13、40、12}に変える


ツリー1というツリーを作る

その項目高さを14に変える

その位置と大きさを{13、29、219、278}に変える


選択ボタンというボタンを作る

その内容を「選択」に変える

その位置と大きさを{13、329、65、23}に変える


開くボタンというボタンを作る

その内容を「開く」に変える

その位置と大きさを{87、329、65、23}に変える


閉じるボタンというボタンを作る

その内容を「閉じる」に変える

その位置と大きさを{163、329、65、23}に変える


終わり


ーーフォルダの選択

選択ボタンがクリックされた時の手順

フォルダ選択画面を表示する

もしフォルダ選択画面のキャンセルなら、手順から抜ける

フォルダ名は、フォルダ選択画面のフォルダ名

ツリー1をクリアする

ツリー1を更新開始する

ツリー1に「[フォルダ名]」をフォルダ追加する

ツリー1を更新終了する

ツリー1にフォーカスする

終わり


ーーツリーにフォルダを追加する

[ノード]に、[パス]を、フォルダ追加する手順

【フォルダ名たち】

フォルダ名たちは、パスのフォルダの一覧

【フォルダ名】

【子ノード】

フォルダ名たちをフォルダ名にそれぞれ繰り返す

子ノードは、ノード:フォルダ名を「image\folder_close.ico」で追加したもの

子ノードに、パス&「\」&フォルダ名をフォルダ追加する

繰り返し終わり


【ファイル名たち】

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

【ファイル名】

ファイル名たちをファイル名にそれぞれ繰り返す

ノード:ファイル名を「image\document.ico」で追加する

繰り返し終わり

終わり


ツリー1が折りたたみ後時の手順

イベントの対象のアイコンを「image\folder_close.ico」に変える

終わり


ツリー1が展開後時の手順

イベントの対象のアイコンを「image\folder_open.ico」に変える

終わり


ーーファイルを開く

開くボタンがクリックされた時の手順

判定は、[正規表現:ツリー1の選択内容から「.*\.txt」を取り出したもの]

もし、判定が「{}」でないなら

一覧は、[フルパスで「[フォルダ名]」のファイルの全一覧]

配列は、一覧から「\[ツリー1の選択内容]」を探す

ーールートフォルダの中に、[ツリー1の選択内容]のファイルが、

ーーいくつ存在するかを調べます。


もし、配列の個数=1なら

ーー配列の個数、つまり該当するファイルが一つなら、

ーー以下の手順で、ファイルを開きます。


番号は、配列(1)

パス名は、一覧([番号])

ファイル名は、「"[パス名]"」

ファイル名を起動する

他でもし、配列の個数≧2なら

ーー該当するファイルが2個以上見つかった時は、

ーー以下の手順で、該当するファイルのパスを取得します。


配列を要素にそれぞれ繰り返す

パス名は、一覧([要素])

パス名を、FIFOに並ばせる

ーー最初に作成した「FIFO」という保管場所に、

ーー該当するファイルのパスを保管していきます。


繰り返し終わり

ウィンドウ2を表示する

ーーツリーの中だけで、複数のファイルから選択する手順が、

ーー現時点では思いつかないため、別のウィンドウを表示して、

ーーそこでファイルを選択することにしました。


もし終わり

もし終わり

終わり


閉じるボタンがクリックされた時の手順

自分を閉じる

終わり


終わり

ーーここまでで、ウィンドウ1(メイン画面)の手順は終わりです。


ーーファイルの選択

ウィンドウ2とは

ウィンドウを継承する


はじめの手順

初期化する

配列は、FIFOの全要素

ーー一時保管したデータを読み込みます。


配列を要素にそれぞれ繰り返す

ーーここでの[要素]は、ファイルのフルパスです。


ファイル名は、要素のファイル名だけ

ーーフルパスから、ファイル名だけを抽出します。


場所は、要素のフォルダだけ

ーーフルパスから、フォルダ名を抽出します。


値は、要素のサイズ

サイズは、値のサイズ形式

更新日は、要素の更新日

リストビュー1に、ファイル名を追加する

その詳細を、{「[場所]」、「[サイズ]」、「[更新日]」}に変える

繰り返し終わり

ーーここは、リストビューの説明をお読み下さい。


終わり


初期化する手順

ーーこの手順は自動生成されたものです。編集しないでください

この内部領域大きさを{458、180}に変える

この内容を「ファイルの選択」に変える

この初期位置を、中央に変える


ラベル1というラベルを作る

その内容を「同名ファイル一覧」に変える

その位置と大きさを{13、13、39、12}に変える


リストビュー1というリストビューを作る

その位置と大きさを{13、28、432、97}に変える

その表示方法を「詳細」に変える

その見出し一覧を{「ファイル名」、「場所」、「サイズ」、「更新日」}に変える

その見出し幅を{120,162,60,90}に変える


ボタン1というボタンを作る

その内容を「開く」に変える

その位置と大きさを{13、141、75、23}に変える


ボタン2というボタンを作る

その内容を「キャンセル」に変える

その位置と大きさを{370、141、75、23}に変える


この決定ボタンを、ボタン1に変える

ーー「決定ボタン」とは、そのウィンドウで Enterキーが押された時に、

ーーどういう手順を実行するかを指定するものです。

ーーその時、フォーカスがどの部品に当たっていても、手順が実行されます。

ーーただし、ボタン2にフォーカスされている場合を除きます。

ーーこのプログラムでは、リストビューでファイルを選択して、

ーーEnterキーを押すと、ファイルが開くように指定しています

ーー決定ボタンは、あまり部品(特にボタン)が多いウィンドウでは、

ーー設定しない方がいいと思います。動作が混乱する場合がありますので。


この取消ボタンを、ボタン2に変える

ーー「取消ボタン」は、フォーカスの場所に関係なく、

ーーEscapeキーが押された時に実行される手順を指定します。

ーーここでは、ボタン2がクリックされた時の手順が実行されます。


終わり


ボタン1がクリックされた時の手順

もし、リストビュー1の選択番号が「-1」でないなら

配列は、リストビュー1の選択項目の詳細

ーーその時、リストビューで選択されている項目の、

ーーサイズ・フォルダ名などの詳細情報を、配列の形で取得します。


ファイル名は、配列(1)

ーー配列の1番目=リストビューの項目を取得して、

ーー「ファイル名」という変数に入れます。


場所は、配列(2)

ーー配列の2番目の「フォルダ名」を、「場所」という変数に入れます。


「"[場所][ファイル名]"」を起動する

ーー[場所][ファイル名]とつなげて、フルパスにします。

ーーそれを " " で括って起動します。


もし終わり

終わり


ボタン2がクリックされた時の手順

自分を閉じる

終わり


終わり

──────────────────────────────


コメント

このブログの人気の投稿

■アクセシブルな開発環境「日本語プログラミング言語・プロデル」の紹介

ドキュメント検索 と 掲示板

「キュー」と「スタック」 その2