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


HSPTV!掲示板


未解決 解決 停止 削除要請

2012
0405
だいちょ変数に格納されているスクリプトを実行する6解決


だいちょ

リンク

2012/4/5(Thu) 20:24:30|NO.45863

例えば、変数「test」に「mes "text"」という文字が格納されていたとします。
この変数「test」に格納されている「mes "text"」という命令を実行することはできますか?
やり方の教えてください。
お願いします。



この記事に返信する


spider

リンク

2012/4/5(Thu) 20:27:08|NO.45865

HSPCMPを使えばできる。
やり方はググってください。



だいちょ

リンク

2012/4/5(Thu) 22:11:37|NO.45874

最初にググってみたのですが、変数に格納されているスクリプトを直接実行するものはありませんでした。
貴方が言っているHSPCMPは、一旦変数のスクリプトのHSPファイルを作成してその作成したファイルを実行するというものですのね?

#include "hspcmp.as" sdim rtname,256 test = "mes \"text\"" notesel test notesave "test2.hsp" fname="test2.hsp" objname="obj" hsc_ini fname hsc_objname objname hsc_comp 0 hsc3_getruntime rtname, objname if rtname="" : rtname="hsp3.exe" cmdexe = "\""+dir_exe+"\\"+rtname+"\" "+objname hsc3_run cmdexe, 0 delete "test2.hsp" delete "obj"
こんな感じで。



spider

リンク

2012/4/5(Thu) 22:26:32|NO.45875

直接か…………
無理ですね。



check

リンク

2012/4/5(Thu) 22:47:38|NO.45876

逆にファイルに保存することが何か問題あるのか?
テンポラリーファイル で検索すれば使用者には分からない場所にファイルを保存することも出来る
(分かる人には分かるんだけどな)

そうでなくとも、ファイルを作成→スクリプトをコンパイルして実行→関係のあるファイルをすべて削除で問題ないんじゃないか
HSPのエディタが保存されていないスクリプトを実行できるのもこの仕組みと同じはずだと思う。



kamep

リンク

2012/4/5(Thu) 23:22:45|NO.45877

こうすることで不可能ではないと思いますが、
複雑な事は期待できないですね。


#module #deffunc strcom str p1 _p1=p1 split _p1," ",com,val switch com case "mes" :mes strmid(val,1,strlen(val)-2) :swbreak case "color" :split val,",",r,g,b :color int(r),int(g),int(b) :swbreak case "boxf" :split val,",",x1,y1,x2,y2 :boxf int(x1),int(y1),int(x2),int(y2) :swbreak swend return #global _color="color 255,100,100" _mes="mes \"text\"" _color2="color 100,100,255" _boxf="boxf 100,100,200,200" mes _color mes _mes mes _boxf mes strcom _color strcom _mes strcom _color2 strcom _boxf



だいちょ

リンク

2012/4/5(Thu) 23:28:50|NO.45878

これはちょっとコードが複雑すぎるし、失敗する可能性も高くなりますよね?
やっぱりspiderさんの方法でやらせて頂きます。
ありがとうございました。



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