LAST UPDATE 1998/07/24


『 その6-3 』



image

 ■ プログラム解説

 (右図→)がコードである。
 順を追って解説していこう。

    Call Dx_Done

     [ 5 行目 ]
     ここへ来る前に、このプログラムはXファイルビューワーとして働いていた。ピクチャーボックスには何かXファイルが表示されていたかもしれない。この命令で一度全てを破棄している。

    DoEvents

     [ 7 行目 ]
     この行はおまじないなのでなくても結構である。一度ウインドウズに他の処理をさせるのであるが、主に他のアプリケーションのウインドウの書き換えが終わっていなかったりした場合に、ちゃんと書き換えてくれたりする。

    ChDrive(App.Path)
    ChDir(App.Path)

     [ 8,9 行目 ]
     別のアプリケーションが起動している可能性がある。 そのアプリがカレントドライブやカレントディレクトリを切り替えているかもしれない。 App.Path というところには、そのアプリケーションの存在場所が入っている。この2つの命令で、ゲーム本体が格納されているドライブのディレクトリにカレントを切り替えるのである。
     という説明だけで終わってしまうようでは「よろしくない解説書」の見本を作っているようなものだ。ここでは「カレント」というものについて説明するのである。
     デスクトップ上にある「マイコンピュータ」を左ダブルクリックすると、あなたのコンピュータに実装されているドライブ(フロッピー、ハードディスク、CD、MO、ZIP等など) と、コントロールパネル、プリンター、ダイヤルアップネットワークなどが表示される。(図A)

    image

    (図A)
    image

    (図B)

     フロッピーやハードディスクなどには、その名前の最後に(A:)とか(C:)とか書かれている。このアルファベット部分がドライブ名になる。
     その中から(C:)と書かれているドライブを左ダブルクリックすると図のようなウインドウが表示され、その左上を見ると C:\ となっている。ウインドウ内に表示されている黄色いのが、フォルダ(ディレクトリ)と呼ばれている。続いて Windows というディレクトリを探し、そこを左ダブルクリックすると、(図B)のように Windows というディレクトリの内容が表示される。このときウインドウの左上には C:\Windows と表示されている。

    例えばその中には Accstat.exe というファイルがある。実はこのファイル名を正式に書くと

      C:\Windows\Accstat.exe

    となる。長い。しかしこんなのは序の口である。VBのヘルプなど

      C:\Program Files\DevStudio\Vb\Help\VB5.hlp

    になる。絶対に長い。こういったファイル名の表し方を「フルパス」と呼ぶ。正式なファイル名は

      「ドライブ名+ディレクトリ名+ファイル名」

    で表されるわけだが、常にこのように長い表記だと不便であるため(かどうかは知らないが)、Windowsというシステムは、「カレントドライブ」とか「カレントディレクトリ」という物を持っている。
     例えば、現在のカレントドライブが C: であったとする。それからカレントディレクトリが Windowsだったとする。その状態で、ファイル名の指定を VB5.hlp にしたとしよう。このファイル名はドライブ名とディレクトリ名が省略されていて不完全である。そういった場合には、「カレント」が追加されて内部的に完全なファイル名

      C:\Windows\VB5.hlp

    として補われるのである。ただしこの場合にカレントドライブのカレントディレクトリにはこのようなファイルは格納されていないので、エラーになる。これらカレントを変更する命令がChDriveとChDirなのである。上記の例では

      ChDrive("c:")
      ChDir("\Program Files\DevStudio\Vb\Help")


    という命令を実行する事によって、正しい場所にカレントを設定する事ができるのである。
     ゲームのプログラム内で扱うファイルは全てパスを省略し、カレントディレクトリからロードする形式を取りたいので、このような命令を実行しているのである。






その6-1 | その6-2 | その6-3 | その6-4 | その6-5 | その6-6

『 サルのゲーム製作講座 』 目次 | その 1 | その 2 | その 3 | その 4 |
その 5 | その 6 | その 7 | その 8 | その 9 | その 10 | その 11


もどる

e-mail: sc_3da@magical2.egg.or.jp