最終更新日 :
VB Tips

プログラマー初心者講座-その1。ディレクトリ?
右のようなツリー状のものを見たことがみなさん1度はあるでしょう?そう、エクスプローラのフォルダツリーです。
このツリーで表示されているものこそがMS-DOS時代から「ディレクトリ」と呼ばれていたものです。UNIXファイルシステムでは今でも「ディレクトリ」と呼んでいます。
ディレクトリの指定方法には2種類あります。ご存知・・・だと思いますが、「絶対パス」と「相対パス」ですね。 「絶対パス」というのはドライブ名から目的のディレクトリ名までのすべてのディレクトリの名前をパスに含めなければなりません。例えば、"C:\Windows\Favorites\エンターテイメント"などです。 そして、「相対パス」というのは例えば右の図でアクティブになっているカレントディレクトリである"Favorite"を中心として、「親ディレクトリ」「子、孫ディレクトリ」を指定する方法です。 "Windows"ディレクトリは"Favorites"ディレクトリの「親ディレクトリ」になり、"エンターテイメント"は"Favorites"の「子ディレクトリ」になります。親ディレクトリを指定する時は".."とします。 例えば、カレントディレクトリが"C:\Windows"の場合、"C:\io.sys"を見たいときは"TYPE ..\io.sys"とDOSプロンプトで打てば内容を見ることができます。

「ディレクトリ」の概念は本棚と本の関係に例えることができます。
本棚をハードディスクドライブ(C:\)として、雑誌、コミック単行本など、とりあえずの分類をしながら本を整理すると思いますが、この「雑誌」「コミック単行本」が"Dos"や"Windows"というディレクトリに当たります。
そして、それからさらに具体的な雑誌名の名前をディレクトリとして、「名探偵コナン」なら"本棚\雑誌\週刊少年サンデー\名探偵コナン.連載"となるでしょう。仮に、雑誌の場所に連載の一覧表などがあるとしたらそれを「ファイル」とみなすこともできるでしょう。
コミック単行本の方に目を移してみましょう。「パタリロ!」というのは1〜72巻ありますが、この中で特に「ベルサイユのヒマワリ」というトピック(?)を読みたいとしましょう。僕はあいにく手元に「選集」の方しかないのでこれを例にしますと、7巻の3つ目にあります。 これをディレクトリの形式で表せば"本棚\コミック単行本\パタリロ!選集\7\ベルサイユのヒマワリ.噺"とかいう風になります。
さて、ここからが重要なところです。今、「ベルサイユのヒマワリ」を見ているとします。カレントディレクトリは"本棚\コミック単行本\パタリロ!選集\7"です。 ここでふと前の話(「その男はバンコラン」)を見たくなった時、普通にページをめくるだけでいいですよね。この動作はVBで言えば"Open "その男はバンコラン.噺" For Input As #1"としているのと同じ事です。
しかし、別の巻を読みたくなった時は本を取り替えなければなりませんよね。次に2巻の「スターダスト」を読む場合、カレントディレクトリは7巻のままなので"Open "..\2\スターダスト.噺" For Input As #1"です。 注意して欲しいのは、カレントディレクトリが2巻に移ったわけではないことです。まだ7巻を中心として本を読んでいます。ですから、次に同じ2巻の「化学騒動」を読みたい時は"Open "..\2\化学騒動.噺" For Input As #1"としなければなりません。 そして、いきなり雑誌を読む時は"Open "..\..\..\雑誌\Visual Basic Magazine\2000-11\巻頭.記事" For Input As #1"という風にコードします。でも、カレントディレクトリは変わりません。ちょうどしおりをはさんでいるのと同じです。
カレントディレクトリを移すには"ChDir"ステートメントを使います。"ChDir "..\..\..\雑誌\Visual Basic Magazine\2000-11\""で、カレントディレクトリが移り、「パタリロ!選集第7巻」のことはきれいさっぱり忘れ去られます。 VBMの11月号が今度は視点の中心になります。


Copyright (C) 2000 Satoshi Tadaフィードバックはこちら
Home