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


HSPTV!掲示板


未解決 解決 停止 削除要請

2006
0830
ミスタースネーク実行ファイル⇒スクプリトを作成⇒実行ファイル作成する方法9解決


ミスタースネーク

リンク

2006/8/30(Wed) 15:16:43|NO.2188

はじめまして
あと題名長くなってすみません

具体的に自分が何をやりたいかというと
実行ファイルを起動したとき
HSP3スクプリトファイル(.hsp)を作成して
たとえば実行ファイルのフォームに
ミスタースネーク と入力して
OKボタンのようなボタンを押したとき
HSP3スクプリトファイルに
mes "ミスタースネーク"
と入力され実行ファイルを自動的に作成し
その実行ファイルを開くと
スクリーンに ミスタースネーク とかかれるように
したいのですがそのようなことはできますか?



この記事に返信する


Irisawa

リンク

2006/8/30(Wed) 16:38:47|NO.2191

「自己出力プログラム」のことでしょうか。
サンプルが HSPWiki にあります。

http://quasiquote.org/hspwiki/%a5%cd%a5%bf%3a%bc%ab%b8%ca%bd%d0%ce%cf%a5%d7%a5%ed%a5%b0%a5%e9%a5%e0



Mizki_F

リンク

2006/8/30(Wed) 17:21:46|NO.2192

自分がプログラミングコンテストに出している「HSP-Installer Maker」で質問の内容と同じ
事を行ってます。(と、さりげなく宣伝w)
大雑把な流れとしては以下の通り。

1.元の実行ファイルのファイルから、フォームに入力された内容を反映したプログラムの
 ソーススクリプトを、テキストファイルとして保存する(拡張子は.hspとか)。

2.hspcmp.dll を使って、出力されたテキストファイルをコンパイル・実行ファイルを作成。


// 自己出力プログラムとはちょっと違うような気が…(^^;



ミスタースネーク

リンク

2006/8/31(Thu) 14:13:41|NO.2196

回答ありがとうございます
とりあえずMizki_Fさんのいうとおり
hspcmp.dllをつかってコンパイルをしようとあるサンプルをいじったのですが
hsp30内にあるファイルじゃないとコンパイルができません
hsc_ini 命令はフルパスじゃないといけないのですか?
hspcmp.dllのことについてはまだまだ理解できていないところが多いですが
とりあえず自分なりのスクプリトを作ってみました

#include "hspcmp.as" #ifdef _debug chdir dir_exe #endif #define OBJECTFILE "obj" sdim rt, 261 hsc_ini "token.hsp" ;問題だと思われる場所 hsc_refname getpath("token.hsp", 8) hsc_objname OBJECTFILE hsc_comp 1 if stat : goto *failed hsc3_getruntime rt, OBJECTFILE if rt = "" : rt = "hsp3.exe" cl = "" + rt + " " + OBJECTFILE + " " hsc3_run cl end *failed hsc3_messize ms : sdim temp, ms hsc_getmes temp hsc_ver dialog "Compile failed.\n\n" + temp, 1,"token.hsp" end
初歩的な質問で申し訳ありませんが
回答よろしくお願いします



Steep

リンク

2006/8/31(Thu) 20:53:44|NO.2200

> あるサンプル
(^^;

> hsc_ini "token.hsp" ;問題だと思われる場所

この時点でのカレントディレクトリはどこですか?



ミスタースネーク

リンク

2006/9/1(Fri) 14:08:42|NO.2216

カレントディレクトリとは
token.hsp
があるフォルダのことですよね
違ったらごめんなさい
token.hsp
があるフォルダなら
ABC
です
まだまだ無知なので間違っていたら本当にすみません
回答よろしくお願いします



Steep

リンク

2006/9/1(Fri) 16:34:23|NO.2219

あー、そういう意味ではなく。

「問題だと思われる場所」を処理する時点でのカレントディレクトリを調べてください、と。
ファイルを探索する基準となるディレクトリが C:\Program Files\hsp30 だったら
hsc_ini "token.hsp"

hsc_ini "C:\\Program Files\\hsp30\\token.hsp"
に解釈されてしまいます。

別にフルパスでも問題はないのですが・・・。



ミスタースネーク

リンク

2006/9/1(Fri) 20:29:39|NO.2228

すみません
自分が勘違いしていました
回答ありがとうございます

それで
なんとか解決できましたありがとうございました



ミスタースネーク

リンク

2006/9/1(Fri) 20:30:08|NO.2229

解決しました



ミスタースネーク

リンク

2006/9/1(Fri) 20:30:08|NO.2230

解決しました



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