ツリー(ツリービュー) その4
■別のサブフォルダに、同名で内容の違うファイルが存在する時
このケースの対処法については、これからも考えてみるつもりですが、とりあえずの対策ということで、以下のプログラムの例を紹介します。プログラムの説明は、次回ということで。
■事前の説明
このプログラムには、「キュー」と「決定ボタン」「取消ボタン」という、これまで紹介したことのない手順が出てきます。
「決定ボタン」と「取消ボタン」については、プログラムの説明の中で、「キュー」については、別のエントリーで説明することにします。簡単に言うと、「キュー」というのは、一時的なデータの保管場所のことです。
──────────────────────────────
「Produire.WinControl.dll」を利用する
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)
パス名は、一覧([番号])
ファイル名は、「"[パス名]"」
ファイル名を起動する
他でもし、配列の個数≧2なら
配列を要素にそれぞれ繰り返す
パス名は、一覧([要素])
パス名を、FIFOに並ばせる
繰り返し終わり
ウィンドウ2を表示する
もし終わり
もし終わり
終わり
閉じるボタンがクリックされた時の手順
自分を閉じる
終わり
終わり
ーーファイルの選択
ウィンドウ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に変える
この取消ボタンを、ボタン2に変える
終わり
ボタン1がクリックされた時の手順
もし、リストビュー1の選択番号が「-1」でないなら
配列は、リストビュー1の選択項目の詳細
ファイル名は、配列(1)
場所は、配列(2)
「"[場所][ファイル名]"」を起動する
もし終わり
終わり
ボタン2がクリックされた時の手順
自分を閉じる
終わり
終わり
──────────────────────────────
コメント
コメントを投稿