ツリー(ツリービュー) その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がクリックされた時の手順
自分を閉じる
終わり
終わり
──────────────────────────────
コメント
コメントを投稿