(57)【特許請求の範囲】
【請求項１】
ユーザまたはプログラムが指定したディレクトリの中に含まれるファイルおよび下位のディレクトリの記述を含むディレクトリの表示方法において，
ディレクトリ毎にディレクトリ作成の意図，指針等のユーザに伝達すべき項目を表わすデータを含むメッセージ・データを備えたメッセージ・ファイルが，上記指定されたディレクトリに対応して記憶手段に存在するかどうかを判断し，
上記指定されたディレクトリに対応するメッセージ・ファイルが上記記憶手段に存在しないと判断された場合に，指定されたディレクトリに対応するメッセージ・ファイルを新規作成して上記記憶手段に記憶し，
上記指定されたディレクトリに含まれるファイルおよび下位のディレクトリを表示するときに，上記指定されたディレクトリに対応するメッセージ・ファイルによるメッセージを上記ファイルおよび下位のディレクトリと同時に表示するファイル・ナビゲーション・ウインドウを表示し，
上記ファイル・ナビゲーション・ウインドウに含まれるメッセージ編集ボタンの押下によって，上記ファイル・ナビゲーション・ウインドウに表示されている上記メッセージの編集が可能にされた状態の上記ファイル・ナビゲーション・ウインドウにおいて，上記メッセージ・データの作成または更新を行う，
ディレクトリやファイルの秩序を持った利用を促す方法。
【請求項２】
ディレクトリ内にメッセージ・ファイルを作成し，ディレクトリの表示に際してメッセージ・ファイルにアクセスして上記メッセージ・データを読出す，請求項１に記載の方法。
【請求項３】
上記ファイル・ナビゲーション・ウインドウにおいて，上記下位ディレクトリを作成する，請求項１に記載の方法。
【請求項４】
ユーザまたはプログラムからディレクトリのパスを受取る処理，
上記パスによって指定されるディレクトリに対応するメッセージ・ファイルの有無を判断する処理，
上記指定されたディレクトリに対応するメッセージ・ファイルが無い場合，メッセージ・ファイルを作成する処理，
ファイル・ナビゲーション・ウインドウの表示に際して上記パスによって指定されたディレクトリに含まれるファイルおよび下位のディレクトリに関する記述と，上記メッセージ・ファイルによるメッセージを同時に表示する処理，
上記ファイル・ナビゲーション・ウインドウに含まれるメッセージ編集ボタンの押下によって，上記ファイル・ナビゲーション・ウインドウに表示されている上記メッセージの編集が可能にされた状態の上記ファイル・ナビゲーション・ウインドウを用いて，ユーザによるメッセージの入力を受付ける処理，ならびに
受付けたメッセージによりメッセージ・データを更新する処理，
をコンピュータに実行させるプログラムを格納した記録媒体。
【請求項５】
ディレクトリ毎に別々のメッセージ・ファイルを格納し，ファイル・ナビゲーション・ウインドウの表示に際して上記メッセージ・ファイルを読出す処理をさらにコンピュータに実行させるプログラムを格納した，請求項４に記載の記録媒体。
【請求項６】
ファイル・ナビゲーション・ウインドウにおいて，下位のディレクトリを作成するときに下位のディレクトリに対するメッセージ・ファイルを作成する処理をさらにコンピュータに実行させるプログラムを格納した，請求項４または５に記載の記録媒体。
【請求項７】
上記メッセージ・ファイルを作成したときに，そのファイルについて非表示フラグを設定する処理をコンピュータに実行させるプログラムを格納した，請求項４から６のいずれか一項に記載の記録媒体。
【請求項８】
請求項４から７のいずれか一項に記載のプログラムを搭載したコンピュータ。
【請求項９】
ユーザまたはプログラムが指定したディレクトリの中に含まれるファイルおよび下位のディレクトリの記述を含むディレクトリを表示する装置において，
ディレクトリ毎にディレクトリ作成の意図，指針等のユーザに伝達すべき項目を表わすデータを含むメッセージ・データを備えたメッセージ・ファイルを記憶する記憶手段，
上記指定されたディレクトリに対応するメッセージ・ファイルが，上記記憶手段に存在するかどうかを判断する判断手段，
上記判断手段によって，上記指定されたディレクトリに対応するメッセージ・ファイルが上記記憶手段に存在しないと判断された場合に，指定されたディレクトリに対応するメッセージ・ファイルを新規作成して上記記憶手段に記憶する手段，
上記指定されたディレクトリに含まれるファイルおよび下位のディレクトリを表示するときに，上記指定されたディレクトリに対応するメッセージ・ファイルを上記記憶手段から読出し，読出したメッセージ・ファイルに基づくメッセージを上記ファイルおよび下位のディレクトリを表すアイコンと同時にファイル・ナビゲーション・ウインドウに表示するように制御する手段，ならびに
上記ファイル・ナビゲーション・ウインドウに含まれるメッセージ編集ボタンの押下によって，上記ファイル・ナビゲーション・ウインドウに表示されている上記メッセージの編集が可能にされた状態の上記ファイル・ナビゲーション・ウインドウにおいて，上記メッセージ・データの作成または更新を行う手段，
を備えたディレクトリやファイルの秩序を持った利用を促す装置。
【発明の詳細な説明】
【０００１】
【技術分野】
この発明は，ディレクトリやファイルの秩序を持った利用を促す方法および装置，同方法を実現するプログラムを記録した媒体ならびに同プログラムを搭載したコンピュータに関する。
【０００２】
【従来技術】
従来のオペレーティング・システム（ＯＳ）の一部として組み込まれているディレクトリ表示プログラムでは，ユーザによって指定されたディレクトリに含まれるファイルや下位のディレクトリは表示されるが，そのディレクトリを作成した意図やディレクトリ内のファイルの管理ルール等は同時には表示されない。ディレクトリの作成意図や管理ルールを別途ファイルに記す方法もあるが，ディレクトリの利用者が自発的にそのファイルを開かなければそれらの情報は利用者に伝わらない。さらに現状ではファイルを作成する作業自体にも手間がかかるため，そのようなファイルの作成は行なわれない場合が多い。そのため，ユーザによるディレクトリの利用が無秩序になり，作業効率の低下や成果物の品質低下といった問題が生じる。
【０００３】
【発明の開示】
この発明は，ディレクトリの作成意図，ディレクトリ内のファイルの管理ルールなどが，必ず，かつ即座にユーザに伝わるようにすることを目的とする。これによって，ディレクトリやファイルの秩序を持った利用が促進される。
【０００４】
この発明は，ユーザまたはプログラムが指定したディレクトリの中に含まれるファイルおよび下位のディレクトリの記述を含むディレクトリの表示方法において，ディレクトリ毎にディレクトリ作成の意図，指針等のユーザに伝達すべき項目を表わすデータを含むメッセージ・データを用意し，上記ディレクトリに含まれるファイルおよび下位のディレクトリを表示するときに，上記メッセージ・データによるメッセージを上記ファイルおよび下位のディレクトリと同時に表示するファイル・ナビゲーション・ウインドウを表示するものである。
【０００５】
メッセージは，ディレクトリ作成者の意図，利用指針，備忘録などを記録するものである。このメッセージ・データはテキスト・データのみならずイメージ・データ（静止画，動画），オーディオ・データを含む。
【０００６】
ディレクトリ内にファイルまたは下位のディレクトリについての記述がない場合には，それらが表示されないのは当然である。ファイル，下位のディレクトリについて非表示の設定がされている場合にも，これらはファイル・ナビゲーション・ウインドウには表示されない。この発明はこのような態様も含むと理解されたい。
【０００７】
この発明によると，ディレクトリの構成が表示されると同時にそのディレクトリの作成意図や利用指針等のメッセージ情報（メッセージ・データによって表わされるメッセージ）が画面上に表示されるため（ファイル・ナビゲーション・ウインドウの表示），ユーザがディレクトリを開くと，まずこのメッセージ情報がユーザの目に触れることになる。また，従来手間のかかったメッセージ情報の作成もファイル・ナビゲーション・ウインドウ上から行うことが可能であるため，ディレクトリの作成者の手をあまり煩わすこと無くメッセージ情報を残すことができる。
【０００８】
この発明によって，複数人で１つのディレクトリを共有する場合は，ディレクトリの管理者がディレクトリ利用ルールをメッセージ情報として記すことで，ディレクトリ利用者に対して秩序を持ったディレクトリ内の運用を促すことが可能になる。また，個人でディレクトリを利用する場合においても，ファイルのバージョン情報（旧バージョンからの変更点や既知の問題点）などをメッセージ情報として記録することにより，過去に作成したファイルを元に新しいファイルを作成するときでも，目的のバージョンに容易に到達できるようになる。
【０００９】
メッセージ情報の格納方法は，データ・ファイルとして格納する方法，データベースに格納する方法の大きく２通りがある。データベースに格納する方法には，ディレクトリのパスをキーとするデータベースを構築し，そのレコードとしてメッセージ・データを格納する方法がある。データ・ファイルとして格納される方法には，実施例において説明するように，ディレクトリ毎にメッセージ・データを格納するためのデータ・ファイルを作成し，このデータ・ファイルを各々のディレクトリの直下に格納する方法がある。
【００１０】
好ましい実施態様においては，上記ファイル・ナビゲーション・ウインドウにおいて，上記メッセージ・データの作成または変更を行えるようにする。
【００１１】
また，上記ファイル・ナビゲーション・ウインドウにおいて，上記下位ディレクトリを作成できるようにする。下位のディレクトリを作成したときには，メッセージ・ファイルも作成する。
【００１２】
この発明によるプログラム記録媒体は，ユーザまたはプログラムからディレクトリのパスを受取る処理，上記パスによって指定されるディレクトリに対応するメッセージ・データの有無を判断する処理，上記ディレクトリに対応するメッセージ・データが無い場合，メッセージ・データを作成する処理，ならびにファイル・ナビゲーション・ウインドウの表示に際して上記パスによって指定されたディレクトリに含まれるファイルおよび下位のディレクトリに関する記述と，上記メッセージ・データを同時に表示する処理をコンピュータに実行させるプログラムを格納したものである。
【００１３】
このプログラムを搭載したコンピュータによって，上述した方法が実現される。
【００１４】
上記プログラム以外の他のプログラムによってディレクトリが作成された場合はそのディレクトリに対応するメッセージ・データが存在しない。この発明によるプログラムの起動に際して，そのようなディレクトリのパスが指定された場合，メッセージ・データの新規作成処理が行なわれる。このメッセージ・データ作成処理は，下位のディレクトリが作成されたときにも同様に行われる。
【００１５】
すなわち，この発明の好ましい実施態様では，この発明によるプログラムはさらに，ファイル・ナビゲーション・ウインドウにおいて，下位のディレクトリを作成するときに下位のディレクトリに対するメッセージ・データを作成する処理をコンピュータに実行させる。
【００１６】
メッセージ・データの更新も可能である。すなわち，この発明によるプログラムは，ユーザによるメッセージの入力を受付ける処理，および受付けたメッセージによりメッセージ・データを更新する処理をさらにコンピュータに実行させるものである。
【００１７】
一実施態様では，上記メッセージ・データはディレクトリ毎に別々のデータ・ファイルとして格納される。この場合には，コンピュータは，ファイル・ナビゲーション・ウインドウの表示に際して上記ファイルを読出す処理を行う。ファイル・ナビゲーション・ウインドウにはメッセージは表示されるが，メッセージ・ファイルそれ自体の表示は一般には禁止される。
【００１８】
他の実施態様では，上記メッセージ・データがデータベース内に格納される。
この場合には，コンピュータは，ファイル・ナビゲーション・ウインドウの表示に際して上記データベースにアクセスして上記メッセージ・データを読出す処理を実行する。
【００１９】
メッセージ・ファイルの作成に着目してこの発明によるプログラムを格納した媒体を規定すると，次のように表現される。すなわち，ルートディレクトリについては，必ずメッセージ・ファイルが作成されるから，コンピュータは，ルートディレクトリに対応してメッセージ・ファイルを作成する処理（ファイル名の決定，非表示の設定など），作成したメッセージ・ファイル（メッセージ・データを入力する領域，またはメッセージ・データの入力案内の意味）を表示させる処理，表示されたメッセージ・ファイルにしたがって，ユーザによって入力されたメッセージ・データをメッセージ・ファイルに格納する処理，およびファイル・ナビゲーション・ウインドウの表示に際して，ルートディレクトリの内容とともに上記メッセージ・データによるメッセージを表示させる処理を行う。
【００２０】
一般的に表現すると，この発明によるプログラムは，メッセージ・ファイルを表示させる処理（メッセージ・データの入力領域の表示，メッセージ・データの入力案内の表示など），表示されたメッセージ・ファイルにしたがってユーザによって入力されたメッセージ・データをメッセージ・ファイルに格納する処理，およびファイル・ナビゲーション・ウインドウの表示に際して，ルートディレクトリの内容とともに上記メッセージ・データによるメッセージを表示させる処理をコンピュータに実行させる。
【００２１】
この発明は上述したプログラムを搭載した（インストールした）コンピュータもまた提供している。
【００２２】
この発明によるプログラムは，ＯＳの中にはじめから組み込むことも可能であるし，Windows95 のような既存のＯＳを前提にこれを補う形で作成することもできる。
【００２３】
【実施例】
この発明の実施例を添付図面を参照して詳細に説明する。
【００２４】
〈システムのハードウェアおよびソフトウェア構成〉
図１は，この発明における方法を実現するためのシステムのソフトウェアとハードウェアの構成の模式図である。この図において矢印は情報（データ）の相互伝達を示す。
【００２５】
この実施例では，ディレクトリやファイルの秩序を持った利用を促す方法を実現するプログラム（ファイル・ナビゲーション表示プログラム）（以下，本プログラムという）はオペレーティング・システム（ＯＳ）上で稼働すると想定する。このＯＳは以下のような機能を備える。
【００２６】
ＯＳは基本的な入出力制御の機能を備え，マウスおよびキーボードから入力された電気信号をアプリケーションが理解できる形式に変換する。アプリケーション・プログラム（以下，アプリケーションという）は，ＯＳとの関係では，本プログラムもアプリケーションの一種と位置付けることができる。ＯＳから与えられるデータに基づいて，マウスの移動方向および移動量，マウスボタンのクリックの有無，キーボードから入力された文字等についての情報を認識する。
【００２７】
またＯＳには，ディスプレイ装置にウインドウ，直線，曲線，基本的な入力インターフェース（テキスト入力エリア，カーソルなど）を表示するための関数群（一般にApplication Programming Interface と呼ばれる。以下，ＡＰＩという）が標準で用意されており，アプリケーションは，ＯＳに用意されたＡＰＩを呼び出すことにより，ディスプレイ装置に図形を出力することができる。
【００２８】
ＯＳは外部記憶装置にデータを格納する。データは図２に示すような論理的な階層構造（ディレクトリ構造）で管理されている。アプリケーションはＯＳを通してディレクトリおよびディレクトリに格納されたファイルにアクセスすることができる。
【００２９】
フォルダＡは最上位のディレクトリ（ルートディレクトリ）の名前であり，このディレクトリにはメッセージ・ファイルａ，データ・ファイルＰ，アプリケーション・プログラムＸ，および下位のディレクトリ（その名前はフォルダＢおよびＤ）についての情報が記述されている。フォルダＢにはメッセージ・ファイルｂ，下位のディレクトリ（その名前はフォルダＣ）およびデータ・ファイルＲについての情報が記述されている。フォルダＤにも同じようにメッセージ・ファイルｄ，アプリケーション・プログラムＺおよびデータ・ファイルＳについての情報が記述されている。さらに，最下位のフォルダＣにはメッセージ・ファイルｃ，データ・ファイルＱおよびアプリケーション・プログラムＹについての情報が記述されている。
【００３０】
メッセージ・ファイルａ，ｂ，ｃおよびｄはディレクトリ（フォルダＡ，Ｂ，ＣおよびＤ）ごとに設けられている。メッセージ・ファイルには，ディレクトリ作成の意図，指針等のユーザに伝達すべき内容を表わすデータを含むメッセージ・データが格納されている。メッセージは文章のみならず画像を含んでもよい。
メッセージ・ファイルａ〜ｄは必ず一つのフォルダに一つ含まれるものであるから，これらに共通の名前（たとえばComment.ddt ）を与えておいてもよい。
【００３１】
ＯＳは，ディレクトリやファイルを表現するアイコンのすべてにアイコンＩＤを与え，アイコン画像とディレクトリおよびファイルとの対応づけを行う。アイコン画像の例が図２にフォルダ，ファイルおよびアプリケーションについて示されている。
【００３２】
〈ディレクトリ属性情報〉
各ディレクトリは，図３にその一部を示すように，さまざまな属性情報を持っている。これらの属性情報に対してアプリケーションはＡＰＩを通じてアクセス（すなわち，読み取り，書き込み）することが可能である。
【００３３】
ディレクトリの属性情報には，ディレクトリ名（ディレクトリの名称），そのディレクトリが属する外部記憶装置上の論理階層を示すディレクトリ階層情報，ディレクトリに対応するアイコンのＩＤ，ディレクトリをＯＳ標準のＧＵＩにより表示するか否かを示すディレクトリ非表示フラグ，その他の情報が含まれる。
【００３４】
ディレクトリ階層情報は当該ディレクトリよりも上位のディレクトリを示す。
たとえば，ディレクトリＣ（フォルダＣ）について示すと，ディレクトリ名とディレクトリ階層情報は次のように表わされる。
【００３５】
ディレクトリ名：フォルダＣ
ディレクトリ階層情報：￥￥フォルダＡ￥フォルダＢ
【００３６】
ディレクトリ名とディレクトリ階層情報とを別々の項目とせずに，ディレクトリ名をディレクトリ階層情報に含めてもよい。この場合には次のようになる。
【００３７】
ディレクトリ階層情報：￥￥フォルダＡ￥フォルダＢ￥フォルダＣ
【００３８】
アイコンＩＤは，ＯＳが標準で持つディレクトリ表示プログラムにおいて，このディレクトリをアイコン表示する際に利用するアイコンのＩＤ番号である。ＯＳによっては，図２に示す例のように，ディレクトリにアサインできるアイコンが１種類のみの場合がある。この場合にはアイコンＩＤは不要である。
【００３９】
ディレクトリ非表示フラグは，ＯＳが標準で持つディレクトリ表示プログラムにおいて，ディレクトリの存在をユーザーに示すか否か，すなわちディレクトリを示すアイコンを表示するか否かを表わす。この実施例ではディレクトリ非表示フラグ＝１は非表示を，０は表示を示す。
【００４０】
〈ファイル属性情報〉
図４は，ＯＳが管理する各ファイルについてのファイル属性情報の内容の一部を示す。ここでファイル属性情報とはデータ・ファイルとアプリケーション（プログラム）ファイルの両方の属性情報を含む。アプリケーションはＡＰＩを通してこれらの属性情報を読み取りまたは書き込みすることが可能である。
【００４１】
ファイル属性情報には，ファイルの名称（ファイル名），そのファイルが属するディレクトリの階層情報，そのファイルに対応するアイコンのＩＤ，そのファイルをＯＳ標準のＧＵＩにより表示するか否かを示すファイル非表示フラグ等が含まれる。上記属性情報は，対応するディレクトリ属性情報と同じデータ構成である。上記のほかに，ファイル属性情報には，ファイルの容量，そのファイルがアプリケーションなのかデータなのかを示すクリエーター識別子等が含まれる。
【００４２】
〈アプリケーション・テーブルの構成〉
データ・ファイルはアプリケーションによって開かれるので，これらを関連づけておく必要がある。データ・ファイルのクリエーター識別子とそのデータ・ファイルをアプリケーションに関連づけるアプリケーション・テーブルの一例が図５に示されている。このテーブルにおいて，クリエーター識別子と，そのクリエーター識別子のファイルを開くべきアプリケーションの名称と，そのアプリケーションへのパスが対応付けられている。これによって，データ・ファイルのクリエーター識別子が分かれば，そのデータ・ファイルを開くプログラムの名称とそのアプリケーションがインストールされているパスを特定することが可能となる。
【００４３】
〈ファイル・ナビゲーション・ウインドウ画面例〉
図６は本プログラムにしたがって表示されるファイル・ナビゲーション・ウインドウの画面例である。ファイル・ナビゲーション・ウインドウ10はディレクトリ名フィールド11，メッセージ表示部12，ディレクトリ表示部13という３つの領域と，新規ディレクトリ作成ボタン14，メッセージ編集ボタン15，クローズ・ボックス16という３つのボタンから構成される。
【００４４】
ディレクトリ名フィールド11は，ファイル・ナビゲーション・ウインドウ10の最上部に位置する。このフィールド11には，本プログラムが起動する際に，他のプログラムまたはユーザから引数として受け取ったディレクトリの名称が表示される。
【００４５】
メッセージ表示部12は，ファイル・ナビゲーション・ウインドウ10の上半部の領域を占め，ディレクトリ名フィールド11に表示されているディレクトリに記述されているメッセージ・ファイル内のメッセージを表示する。このメッセージは，ディレクトリの作成意図や利用指針等をディレクトリの利用者に伝えるものである。
【００４６】
ディレクトリ表示部13はファイル・ナビゲーション・ウインドウ10の下半部の領域を占め，このディレクトリの下位のディレクトリやこのディレクトリに記述されているファイルをアイコンで表示する。ただし，これらのファイルやディレクトリの属性情報のファイル／ディレクトリ非表示フラグが非表示に設定されている場合には，対応するアイコンは表示されない。アイコンの下にはフォルダ，ファイル，アプリケーションの名称が表示される。
【００４７】
図６のファイル・ナビゲーション・ウインドウ10は，図２に示すフォルダＡについてのものであり，メッセージ表示部12にはメッセージ・ファイルａ内のメッセージが，ディレクトリ表示部13にはフォルダＢ，フォルダＤ，ファイルＰおよびアプリケーションＸのアイコンがそれぞれ表示されている。
【００４８】
ファイル・ナビゲーション・ウインドウ10の最上部の右側には新規ディレクトリ作成ボタン14，メッセージ編集ボタン15およびクローズ・ボックス16が並んでいる。
【００４９】
新規ディレクトリ作成ボタン14が押されると，ディレクトリ名フィールド11に名称が表示されているディレクトリ内に，その下位の「名称未設定」という名称のディレクトリが新規に作成される。既に「名称未設定」という名称のディレクトリが存在する場合は，命名規則に基づき別な名前が割り当てられる。新たに作成されたディレクトリはただちにファイル・ナビゲーション・ウインドウ10内のディレクトリ表示部13に表示される。
【００５０】
クローズ・ボックス16が利用者によって押されると，ファイル・ナビゲーション・ウインドウが消去され，本プログラムは終了する。
【００５１】
メッセージ編集ボタン15が押されると，メッセージ表示部12内でメッセージ・データの編集が可能になる。
【００５２】
〈ディスプレイ全体の画面例〉
図７は，複数のファイル・ナビゲーション・ウインドウ10Ａ，10Ｂ，10Ｃが表示された例を示している。
【００５３】
ファイル・ナビゲーション・ウインドウ10Ａ（これは図６に示すウインドウ10と同じである）は，ユーザまたはアプリケーションから本プログラムの実行の指示が出された結果表示される。これはＯＳから本プログラムの起動時に引数としてフォルダＡ（図２参照）のパスが渡されたときのものである。
【００５４】
本プログラムの１回実行によって，１つのファイル・ナビゲーション・ウインドウが表示される。ファイル・ナビゲーション・ウインドウ10Ａ上のフォルダＢアイコンがダブルクリックされると，ファイル・ナビゲーション・ウインドウ10ＡからフォルダＢのパスを引数として本プログラムが再び実行され，その結果，ファイル・ナビゲーション・ウインドウ10Ｂがウインドウ10Ａに加えて表示される。
【００５５】
ファイル・ナビゲーション・ウインドウ10Ｃはファイル・ナビゲーション・ウインドウ10Ｂ上のフォルダＣアイコンがダブルクリックされたときに表示される。
【００５６】
ファイル・ナビゲーション・ウインドウ10Ｂ，10Ｃにもメッセージ表示部があり，ここにはそれぞれフォルダＢ，Ｃに属するメッセージ・ファイルｂ，ｃ内のメッセージがウインドウの表示と同時に表示される。
【００５７】
ファイル・ナビゲーション・ウインドウ10Ｃ内のアプリケーションＹアイコンをユーザがダブルクリックすると，ＯＳにアプリケーションＹのパスが渡され，アプリケーション（プログラム）Ｙの実行が開始される。
【００５８】
ファイルＱアイコンがユーザによりダブルクリックされると，ＯＳが管理しているファイルＱのクリエーター識別子に対応するアプリケーション（図５のテーブルを参照して）にファイルＱのパスが渡され，そのアプリケーションによってファイルＱが開かれる。
【００５９】
〈本プログラムの処理フロー〉
図８は本プログラムがファイル・ナビゲーション・ウインドウを表示する処理手順を示している。
【００６０】
ステップ０において，ユーザまたは既に起動している本プログラムからの指令により本プログラムが再び起動する。
【００６１】
ステップ１では，本プログラムは描画すべき（対象の）ファイル・ナビゲーション・ウインドウに対応するディレクトリのパス情報を取得する。本プログラムの起動時（ステップ０）に，ユーザまたは既に起動している本プログラムによって表示すべきディレクトリのパスが引数として指示されたときには，変数（以降Path変数と呼ぶ）にその値を格納する。ＯＳまたは既に起動している本プログラムからディレクトリ引数が渡されない場合には，あらかじめ設定してあるパス（デフォルト値）をPath変数に格納する。デフォルト値は例えば，ルート・ディレクトリのパスである。
【００６２】
たとえば，フォルダＣのファイル・ナビゲーション・ウインドウを表示する場合のPath変数は次のようになる。
【００６３】
Path＝“￥￥フォルダＡ￥フォルダＢ￥フォルダＣ”
【００６４】
ステップ２では，表示すべき（対象）ディレクトリの内容，そのディレクトリに記述されている下位のディレクトリ（フォルダ）およびファイルの属性情報（図３，図４）を取得する。これらの情報，すなわち，ディレクトリ（ファイル）名，階層情報，クリエーター識別子（ディレクトリの場合は存在しない），アイコンＩＤ，ディレクトリ（ファイル）非表示フラグを配列変数（ｃ言語でいう構造体や，テーブル，オブジェクトでも可）として格納（以降，アイテムリストと呼ぶ）する。例えば配列変数として取り込んだ場合，以下のように記述することができる。アイテム番号はディレクトリ（０）かファイル（１）かを表わす。
【００６５】
配列（Ｘ，Ｙ）  Ｘ：アイテム番号  Ｙ：属性番号
（０，０）＝“ディレクトリ（ファイル）名”
（０，１）＝“階層情報”
（０，３）＝“クリエーター識別子”
（０，４）＝“アイコンＩＤ”
（０，５）＝“ディレクトリ（ファイル）非表示フラグ”
【００６６】
ステップ３では，メッセージ・ファイルがアイテムリストに存在するかどうかチェックする。上述したように，すべてのメッセージ・ファイルにcomment.ddt という共通の名称を付すことができる。この場合には，ステップ２で取得したアイテムリストにcomment.ddt という名称のファイルが含まれているかどうかをチェックし，存在しなければステップ４に，存在すればステップ５に進む。
【００６７】
ステップ４では，対象のディレクトリ内にデータ・ファイル（メッセージ・ファイル）を新規に作成する。
【００６８】
ステップ５では，ファイル・ナビゲーション・ウインドウを作成し，ＧＵＩに描画させる。ステップ５の処理の詳細は図９を用いて後に説明する。
【００６９】
ステップ６はイベント待ちループを示している。これは利用者からのマウスやキーボードからの指示（イベント）を待っている状態である。何らかのイベントが発生すると，そのイベントの種類をチェックし，処理を振り分ける。
【００７０】
イベントがメッセージ編集ボタン15の押下のときには，ステップ７でメッセージ編集ルーチンを実行する。ステップ７の詳細は図10で説明する。
【００７１】
イベントがディレクトリ・アイコンまたはファイル・アイコンの下に表示されている名称（名称表示部）のシングルクリックの場合，ステップ８でファイル／ディレクトリ（フォルダ）名称変更モードを実行する。ステップ８の詳細は図11で説明する。
【００７２】
イベントがアプリケーション・アイコンまたはファイル・アイコンのダブルクリックの場合，ステップ９で，当該アプリケーションを実行するか，または当該ファイルを作成したアプリケーションによってファイルを開く。アイコンがダブルクリックされた場合，アイテムリストからそのクリエーター識別子を調べる（図４参照）。もしクリエーター識別子が，アプリケーションであることを示しているならば，ＯＳにそのアプリケーションのパスを渡し，アプリケーションを起動する。もしクリエーター識別子がデータ・ファイルであることを示しているならば，図５のアプリケーション・テーブルを参照し，データ・ファイルのパスを引数としてアプリケーションを起動する。
【００７３】
新規ディレクトリ作成ボタン14が押下され，そのイベントが発生した場合，ステップ10で，Path変数で指定されるディレクトリに，新規に「名称未設定」という名称の下位のディレクトリ（サブディレクトリ）を作成する。既に同一階層に同名のディレクトリが存在する場合，命名ルールに基づいたファイル名を設定する。例えば「名称未設定−２」のようにハイフン＋連番を「名称未設定」の末尾に加えたものをディレクトリ名とする。
【００７４】
ステップ11では，サブディレクトリ内に内容が空白のメッセージを作成し，ファイル非表示フラグとして非表示を設定する。ステップ12では，ディレクトリ表示部13内に，上記サブディレクトリ（サブフォルダ）のアイコンを表示する。
【００７５】
イベントが下位のディレクトリ（サブディレクトリ）・アイコンのダブルクリックであったときには，ステップ13でアイテムリストから，当該サブディレクトリ（サブフォルダ）のパス情報を取得する。
【００７６】
ステップ14では，サブディレクトリのパス情報を本プログラムに渡して本プログラムを起動する。
【００７７】
イベントがクローズ・ボックス16の押下の場合，ステップ16で本プログラムを終了させる。イベントが他のイベント処理のときには，ステップ15で該当するイベント処理を行なう。他のイベント処理には，例えば，２つのファイル・ナビゲーション・ウインドウのディレクトリ表示部間におけるフォルダ・アイコンのドラッグ・アンド・ドロップによる移動処理などがある。
【００７８】
〈ファイル・ナビゲーション・ウインドウ作成処理詳細〉
図９は，図８に示すファイル・ナビゲーション・ウインドウの作成処理（ステップ５）の詳細なフローチャートを示している。
【００７９】
図９において，ステップ51は，ファイル・ナビゲーション・ウインドウの基本表示処理である。ＯＳのＡＰＩを利用してウインドウの全体を描画させる。画面上部にディレクトリ名フィールドを作成し，図８のステップ１で取得したディレクトリの名称を表示させる。また，画面上右端にクローズ・ボックス16とメッセージ編集ボタン15を作成する。これら２つのボタンに対して，ボタンの押下イベントを本プログラムが認識できるようにする。
【００８０】
ステップ52で，Path変数で指定されたディレクトリに含まれるメッセージ・ファイルをオープンする。
【００８１】
ステップ53でメッセージ・ファイルが正常データであるか否か（エラーなくデータを読取ることができたかどうか）を判定する。正常データである場合，ステップ54に進む。異常データである場合，ステップ56に進む。
【００８２】
ステップ54では，メッセージ・ファイルについてファイル非表示フラグが非表示１に設定されているか否かを判定する。非表示に設定されていない場合，ステップ55で非表示を設定する。これは，メッセージ・ファイルのアイコンをディレクトリ表示部13に表示させないようにするためである。
【００８３】
ステップ53で，メッセージ・ファイルが正常データでないと判定された場合，ステップ56でメッセージ・ファイルの名称をXcomment.ddtに変更し，ファイル非表示フラグを表示に設定する。正常でないデータを持つメッセージ・ファイルを保存し，かつその存在が分るようにディレクトリ表示部13に表示するためである。既に同一ディレクトリにXcomment.ddtが存在する場合，今回異常であると判定したメッセージ・ファイルにより上書きを行う。
【００８４】
ステップ57では新規に内容が空白のメッセージファイル（comment.ddt ）を作成し，ファイル非表示フラグを非表示に設定する。
【００８５】
ステップ58では，新規に作成したメッセージ・ファイルをオープンする。
【００８６】
ステップ59はメッセージ表示部13の表示である。ステップ51で作成されたファイル・ナビゲーション・ウインドウの上半部の領域に，メッセージ表示部12を作成する。メッセージ表示部12内に，メッセージ・ファイルに書かれているテキストを表示する。メッセージ・ファイルの内容がメッセージ表示部12内に表示しきれない場合には，スクロール表示を可能とする。
【００８７】
ステップ60はディレクトリ表示部13の表示である。ステップ51で作成されたファイル・ナビゲーション・ウインドウの下半部の領域に，ディレクトリ表示部13を作成する。アイテムリストを元に，ディレクトリ表示部13にディレクトリおよびファイルをアイコン表示する。その際，アイテムリストのディレクトリ非表示フラグが設定されているアイテムについてはディレクトリ表示部13への表示は行なわれない。各アイコンに対して，ダブルクリック，名称のクリックというイベントを本プログラムで検出できるようにする。上記のような表示は実際にはＯＳのＡＰＩを利用して行う。
【００８８】
〈メッセージ編集ルーチン処理詳細〉
図10はメッセージ表示部12内に表示されている情報を編集する処理（図８のステップ７）の詳細なフローチャートを示している。
【００８９】
ステップ71はメッセージ表示部12内でのテキスト編集許可である。メッセージ編集ボタン15が押下された場合，メッセージ表示部12内にカーソルを移し，メッセージ表示部12への文字等の入力，メッセージ表示部12に表示されている文字列の編集を可能にする（ステップ72）。
【００９０】
ステップ73はイベント持ちループである。ユーザによってメッセージ表示部12以外の部分にカーソルがあってそこでクリックされたかどうかを判断する。当該箇所でクリックされた場合，ステップ74で，ユーザによって編集された結果をメッセージ・ファイルに反映する。
【００９１】
〈ファイル／ディレクトリ名称変更ルーチン処理詳細〉
図11はディレクトリ表示部13内でディレクトリ名表示またはファイル名表示のシングルクリック時に，ファイルまたはディレクトリ名称を変更する処理（図８ステップ８）の詳細なフローチャートを示している。
【００９２】
ステップ81はアイコンの名称表示部内のテキスト編集の許可である。アイコンの名称表示部で一度クリックし，一定時間マウスを移動させずにいることによって名称が選択された場合，名称表示部に対して，ユーザの入力を許可する。
【００９３】
ステップ82はユーザによる名称入力である。ユーザが名称表示部内でテキストの入力を行う。
【００９４】
ステップ83はイベント待ちループである。ユーザによって名称表示部以外の部分でクリックされたかどうかを判断する。当該箇所でクリック場合，ステップ84に移る。クリックされていない場合，ユーザによる名称入力処理を続行する。
【００９５】
ステップ84はファイル／ディレクトリ名称チェック処理である。ステップ81で名称表示部に入力された文字列がファイル／ディレクトリ名として禁止されている文字列を含んでいないか，文字列長が制限を超えていないか等，適切であるかどうかを判断する。適切だった場合，ステップ85に進む。適切でなかった場合，ユーザによる名称入力処理を続行する。
【００９６】
ステップ85はファイル／ディレクトリ名称更新処理である。当該ファイル／ディレクトリの名称をステップ82のユーザによる名称入力処理で入力された名称に更新する。
【００９７】
〈他の実施例〉
上記実施例では，メッセージ・データはメッセージ・ファイル内に格納され，このメッセージ・ファイルが各ディレクトリに作成されている。メッセージ・データをデータベース（以降，メッセージ・データベースと呼ぶ）に格納することも可能である。メッセージ・データベースのレコードの主キーはディレクトリのパスである。このレコードは，メッセージ・データ，クリエーター識別子，セキュリティー区分等のフィールドから構成される。
【００９８】
図８から図11の処理において「メッセージ・ファイル」を，「参照しているディレクトリのパスに対応するメッセージ・データベースのレコード」と読み替えれば，図８から図11の処理はデータベースを利用した処理にそのまま適用できる（ファイル非表示フラグの処理（ステップ55）およびファイル名称変更処理（ステップ56）は行う必要はない）。
【００９９】
本プログラムが搭載された一のコンピュータにネットワークにより接続された他のコンピュータによって管理されているディレクトリを本プログラムによりアクセスして，一のコンピュータに表示させることができる（メッセージも当然表示される）等，ネットワークで接続された複数台のコンピュータからなるコンピュータ・システムにおいては，少なくとも一台のコンピュータに本プログラムを搭載しておけばよい。
【０１００】
上述した本プログラム（ファイル・ナビゲーション表示プログラム）は，既存のＯＳを前提として，そのＯＳ上で動作するプログラムとして位置づけて記述されているが，本プログラムをＯＳの一部としてＯＳに組込んでも良い。この場合に，本プログラムの機能をＯＳの他の機能と一体的にプログラム上に組込むことにより新たなＯＳを作成しても良いし，既に存在するＯＳの機能を補う形で本プログラムの機能を追加してもよい。後者の場合には，既に存在するＯＳは図６のディレクトリ表示部を表示する機能を持っているものが多いので，この機能を利用してメッセージ表示部などを追加的に表示させるようにすればよい。
【図面の簡単な説明】
【図１】システム構成を示す。
【図２】ディレクトリの階層構造を示す。
【図３】ディレクトリ属性情報を示すテーブルである。
【図４】ファイル属性情報を示すテーブルである。
【図５】アプリケーション・テーブルの構成を示す。
【図６】ファイル・ナビゲーション・ウインドウの構成例を示す。
【図７】表示画面上に複数のファイル・ナビゲーション・ウインドウが表示された様子を示す。
【図８】ファイル・ナビゲーション表示プログラムの処理手順を示すフローチャートである。
【図９】ウインドウの作成処理手順を示すフローチャートである。
【図１０】メッセージ編集処理手順を示すフローチャートである。
【図１１】ファイル／フォルダ名称変更処理手順を示すフローチャートである。
【符号の説明】
10  ファイル・ナビゲーション・ウインドウ
11  ディレクトリ名フィールド
12  メッセージ表示部
13  ディレクトリ表示部
【図１】
0004565685.tif 000002
【図２】
0004565685.tif 000003
【図３】
0004565685.tif 000004
【図４】
0004565685.tif 000005
【図５】
0004565685.tif 000006
【図６】
0004565685.tif 000007
【図７】
0004565685.tif 000008
【図８】
0004565685.tif 000009
【図９】
0004565685.tif 000010
【図１０】
0004565685.tif 000011
【図１１】
0004565685.tif 000012