HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2009
0404
名無しexec命令の解説5解決


名無し

リンク

2009/4/4(Sat) 17:37:39|NO.24442

exec "notepad HSP2.TXT" の解説<http://hsp.tv/make/enroll6.html>のところ

> 注意しなければいけないのは、HSP2.TXTのように開きたいファイル名を指定す
> る時には、そのファイルがHSP.EXEと同じディレクトリにあるか、またはPATHで
> 指定されているディレクトリになければならないということ。PATHで指定され
> ているディレクトリとは、普通Windowsのシステムが入っているディレクトリな
> ので、Windows標準のシステムツールであるNOTEPAD.EXE、つまりメモ帳はちゃ
> んと呼び出せる…というわけ。

プログラムと引数が混同されているのではないでしょうか。



この記事に返信する


Gugulecus

リンク

2009/4/4(Sat) 18:04:22|NO.24445

>プログラムと引数が混同されているのではないでしょうか。
もうちょっと詳しくお願いします



名無し

リンク

2009/4/4(Sat) 20:53:31|NO.24459

PATHで指定されるのはプログラム名(上で引用した段落ではNOTEPAD)であって、
引数となるファイル名(同じくHSP2.TXT)ではありません。

というか、引用した段落の最初の文はHSP2.TXTについての記述なのに、
PATHについての続きかのように始まる次の文はNOTEPAD.EXEについての記述になっていて、
脈絡がありません。



SYAM

リンク

2009/4/6(Mon) 11:09:37|NO.24482

>HSP2.TXTのように開きたいファイル名 を指定する時には、そのファイルがHSP.EXEと同じディレクトリにある か、またはPATHで指定されているディレクトリになければならないということ

この部分が誤りなのですね。
この例のままでいくと、 HSP2.TXTのあるフォルダが環境変数PATH内に指定されていても、NOTEPAD.EXEがカレントフォルダ以外のフォルダにあるHSP2.TXTを見つけることはできないのに、それができるかのように書かれています。


※あと、すべての文のところどころに変な半角スペースが入ってますね。HTMLソース内にタブで字下げを入れてるからか・・・



名無し

リンク

2009/4/6(Mon) 11:47:09|NO.24484

そうですね。
PATHに関する説明は、その前にあるアプリケーション単独の
起動(exec "notepad")の説明のところに置くべきでしょう。

ファイル名の引数についての説明なら、
「そのファイルがHSP.EXEと同じディレクトリにあるか、
 またはHSP.EXEと同じディレクトリからの相対パスか、
 絶対パスで指定されていなければならない」
といったところでしょうか。

ところで、ショートカットでディレクトリを指定しておいて
も、自動的にHSP.EXEのあるディレクトリにchdirしてしまう
のですか? もしそうでないなら、「HSP.EXEと同じディレク
トリ」という記述も不正確だと思いますが。



SYAM

リンク

2009/4/6(Mon) 12:49:19|NO.24485

ちゃんと読んでみると…そもそも説明に「カレントフォルダ」の語が出てこない時点でおかしいですね。実行ファイルの在り処は、そもそも関係ないです。
notepad.exeがHSPの実行ファイルのあるフォルダがどこか、なんて知っているはずありません。notepadが知ることができるのはカレントフォルダだけです。
ですから、相対パス指定の起点はカレントフォルダだけです。この辺については、完全に誤りってことになると思います。

Windowsだとユーザーがカレントフォルダを意識する必要がほとんどなくなってしまいましたが、パスを扱うプログラマには必須の知識でしょうしこれを抜きにしてはexec命令の説明は不可能、でしょうね。


#そういや"フォルダ"じゃなくって"フォルダー"になったんだっけ...



ONION software Copyright 1997-2021(c) All rights reserved.