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


HSPTV!掲示板


未解決 解決 停止 削除要請

2007
0826
ダイオウデメマダラコンパイルの対象となるファイル名5未解決


ダイオウデメマダラ

リンク

2007/8/26(Sun) 12:10:41|NO.10694


#include "hspcmp.as" sdim mesbuf,$10000 sdim rtname,256 fname="test.hsp" ; スクリプトファイル名 objname="obj" ; オブジェクトファイル名 hsc_ini fname hsc_objname objname hsc_comp 0 ; コンパイル res=stat:if res!=0 : dialog "ERROR" : goto *goerror hsc3_getruntime rtname, objname ; ランタイム名を取得 if rtname="" : rtname="hsp3.exe" debug_mode=0 ; デバッグウィンドウ表示フラグ cmdexe = dir_exe+"\\"+rtname+" "+objname hsc3_run cmdexe, debug_mode ; ランタイムを実行する *goerror hsc_getmes mesbuf objmode 1 mesbox mesbuf,636,446,5 stop

hsc_ini "filename"で、コンパイルの対象となるファイル名を
今、開いているファイル名で実行させたいのですが、
今、開いているファイル名はどのようにして調べればいいでしょうか?



この記事に返信する


eller

リンク

2007/8/26(Sun) 13:03:49|NO.10697

こんにちは。別にハンドルネームを毎回変えなくても構いませんよ。火に油を注ぐような結果になってしまいますし、私はお勧めしません。
……と私が小言を言ったので、他の方々はこの件についてここではノータッチでお願いします。心から。

さて「今開いているファイル」が「HSPスクリプトエディタで開いているファイル」のことを指すならば、エディタの外部ツール機能を利用するのがもっとも簡単だと思います。試しに下のスクリプトでexeを作成してみてください。
mes dir_cmdline
そしてこれを「外部ツール」として登録します。
「オプション→外部ツール→追加」から外部ツール設定のウィンドウを開き、ファイルパスに先ほど作成したexeを、コマンドラインに%fを設定してください(ツール名は適当で構いません)。 この登録したツールをメニューバーの「外部ツール」から実行すれば、今スクリプトエディタで編集しているファイルのファイルパスが表示されるはずです。 このように、外部ツールに対して今編集中のファイルパスを(コマンドラインを介して)渡すことができます。 hspcmpは使ったことがないので分かりませんが、ファイルパスが分かれば後は簡単なはずです。頑張ってください。



kz3

リンク

2007/8/26(Sun) 16:34:38|NO.10700

__file__のことでは?



ダイオウデメマダラ

リンク

2007/8/27(Mon) 11:39:27|NO.10711

ありがとうございます。
ファイルパスがウィンドウに表示されるようになりました。
ですが、その後の処理が見当もつきません><
これだと毎回、外部ツールから実行しなければなりません。
出てきたファイルパスを何か違う変数に代入したり...
といったことも出来ますでしょうか?
『外部ツール』とかいうのは始めて利用したので、
どのような機能をもっているのかよく分かりません><
一応調べるのは調べましたが、まだまだ浅いので、
ヒントでもいいので教えてください。お願いします。



kz3

リンク

2007/8/27(Mon) 12:29:42|NO.10716

>今、開いているファイル名で実行させたいのですが、
>>これだと毎回、外部ツールから実行しなければなりません。

実行ファイルを作ってその実行ファイルを実行することを言っているなら私のレスは外れていますし、F5で実行することを言っているならellerさんのレスは外れています。
どういうプログラムを作ろうとしているのかを説明するのが先ではありませんか?
"hspcmp.dllを使ってプログラムをコンパイルするプログラム"というのは分かりますが、そのプログラムの起動方法など。

考えられる実行方法は主に
・F5でそのスクリプトを実行する => __file__
・実行ファイルを(ダブル)クリックして実行する => エディタで開いているファイルのパスを取得する命令はありません
・ファイルをD&Dして実行する => dir_cmdline
・外部ツールメニューから実行する => dir_cmdline
などが挙げられます。

>『外部ツール』とかいうのは始めて利用したので、
>どのような機能をもっているのかよく分かりません><

使って覚えましょう。
簡単に言うならデスクトップやエクスプローラなどを開いて実行ファイルを(ダブル)クリックしなくても実行できるもの。
ランチャーって言ったほうが分かりやすいのかしら。



ダイオウデメマダラ

リンク

2007/8/27(Mon) 16:25:19|NO.10717

説明不足ですいません。
>・F5でそのスクリプトを実行する => __file__
ということです。
お願いします。


>使って覚えましょう。
分かりました。頑張って覚えます^^



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