【最適化機能】HSP初質51 【それは通常の3倍】
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2006/03/17(金) 11:42:01http://www.geocities.jp/hsp_summary/law.html
■ 前スレ
【オフィシャル発売】HSP初質P50【コンテスト選考】
http://pc8.2ch.net/test/read.cgi/tech/1132612819/
■HSPの入手はここから(HSP2.61、HSP3.0公開中。)
□Hot Soup Processor Page
http://www.onionsoft.net/hsp/
■HSPの各種情報
□HSP Wiki
http://quasiquote.org/hspwiki/
http://quasiquote.org/hspwiki/2%a4%c1%a4%e3%a4%f3%a4%cd%a4%eb%a4%ce%a5%b9%a5%ec%a5%c3%a5%c9
■HSPLetの入手はここから(ブラウザ上でHSPを動かす)
□HSP BIGINNER'S CLUB
http://www.rinku.zaq.ne.jp/ultimate/
□HSPLet3.0
http://www.group-finity.com/HSP/HSPLet/
■HSPスレまとめページ
□Hot Soup Processor@2ch
http://hsp2ch.hp.infoseek.co.jp/
http://www.geocities.jp/hsp_summary/
0096デフォルトの名無しさん
2006/04/03(月) 18:09:530097デフォルトの名無しさん
2006/04/03(月) 18:19:10ベクターにHMemory.dll
0098デフォルトの名無しさん
2006/04/03(月) 18:30:493.0用のDLLもあるようですがww
#uselib "HMemory.dll"
#func ReadMemory "ReadMemory" str,int,var,int
#func WriteMemory "WriteMemory" str,int,int,int
#func DReadMemory "DReadMemory" var,int,var,int
#func DWriteMemory "DWriteMemory" var,int,int,int
#func WriteMemoryS "WriteMemoryS" str,int,str
#func DWriteMemoryS "DWriteMemoryS" var,int,str
#func DReadMemoryArray "DReadMemoryArray" var,int,var,int
#func DWriteMemoryArray "DWriteMemoryArray" var,int,var,int
#func GetID "GetID" str,var
#func ExePro "ExePro" str,var
#func StopProc "StopProc" str
#func RestartProc "RestartProc" str
0099デフォルトの名無しさん
2006/04/03(月) 18:37:32今自分が使っているHMemory.dllはHSP3に対応していないのですか?
GAMEなページからダウンロードしたのですが・・・。
0100デフォルトの名無しさん
2006/04/03(月) 18:37:33そこまでしてゲームをクリアーしたいのかwww
0101デフォルトの名無しさん
2006/04/03(月) 19:06:28言ってんじゃーんwwwwwwww
っと
0102デフォルトの名無しさん
2006/04/03(月) 21:26:23してるとか、してないとか、ここで聞くことなのか?
そんなプロセスいじくるようなもの態々試せとでも?
HSPには問題ねーけどな。
つっか作者に聞けって話だwwwww
0103RiffRaffさんのページ閉じる。
2006/04/03(月) 22:52:552.6用のモジュールlollipopから始まり、その後ATL経由でブラウザも作れるようになり
開発は、ちょくとさんへと渡り、今では3.0に採用された。
RiffRaffさん お疲れさん。
0104デフォルトの名無しさん
2006/04/04(火) 01:44:34オレもRiffRaffさんのページを見て
COMを勉強したクチだから残念だな。
何はともあれ、お疲れ様でしたRiffRaffさん。
あと、>>103
sageろボケ。
0105デフォルトの名無しさん
2006/04/05(水) 01:18:52http://pc8.2ch.net/test/read.cgi/tech/1142529119/l50
0106デフォルトの名無しさん
2006/04/05(水) 20:21:160107デフォルトの名無しさん
2006/04/06(木) 11:23:130108Irisawa へ
2006/04/06(木) 17:53:540109デフォルトの名無しさん
2006/04/07(金) 00:44:00結果をresult.txtとして出力。
というプログラムを組みたいのですが、
#include "hspinet.as"
neturl ""
netload ""
程度しかわかりません。
何か参考になるスクリプトやヒントをください。
0110109
2006/04/07(金) 09:01:00netinit
neturl "http://game9.2ch.net/test/read.cgi/tcg/"
netload "1136120025"
まで完了。
最終形はIDと改行だけにすることなんですが、
正規表現って使えないの?
0111デフォルトの名無しさん
2006/04/07(金) 09:20:53自分で解決したほうがオモシロスw
0112109
2006/04/07(金) 13:03:27hypertalkと比べたらやれることは多い反面、複雑怪奇な仕様があるような気が。
#include "hspbre.as"
#include "hspinet.as"
#define target_num"1136120025"
netinit
neturl "http://game9.2ch.net/test/read.cgi/tcg/"
netload target_num
d_note="0"
notesel d_note //そのまま数値入れても動かないなんておかしすぎ。10分無駄にした。
noteload target_num
BSubst d_note,"^.[^d][^t].*$","" //動作が怪しすぎ。
BSubst d_note,"^<dt>.*[0-9] ID:",""
print "完了"
でっちあげすぎ・・・
0113デフォルトの名無しさん
2006/04/07(金) 19:34:300114デフォルトの名無しさん
2006/04/07(金) 19:36:010115デフォルトの名無しさん
2006/04/07(金) 19:41:10http://en.wikipedia.org/wiki/HyperTalk
0116デフォルトの名無しさん
2006/04/07(金) 20:22:240118デフォルトの名無しさん
2006/04/08(土) 02:03:46HDDの音かな
0119デフォルトの名無しさん
2006/04/08(土) 09:50:41最大化とかどうやればできるんだ?
ぜんぜんワカンネ。
0120デフォルトの名無しさん
2006/04/08(土) 12:49:09#uselib "user32.dll"
#cfunc GetWindowLong "GetWindowLongA" int,int
#func SetWindowLong "SetWindowLongA" int,int,int
screen 0,ginfo_dispx,ginfo_dispy,0,,,640,480
ws = GetWindowLong(hwnd,-16)
ws = ws | 0x010000
SetWindowLong hwnd,-16,ws
gsel 0,-1 : gsel 0,1
0121109
2006/04/08(土) 18:26:40#include "hspinet.as"
#define target_num"1136120025"
netinit
neturl "http://game9.2ch.net/test/read.cgi/tcg/"
netload target_num
sdim d_note,500000
sdim d_note2,500000
sdim d_note3,500000
notesel d_note
noteload target_num
bb = "s/^[^<].*$|^<[^d].*$|^<d[^t].*$//g"
BSubst d_note2,bb,d_note
bb = "s/.*ID:([\w/+]+)/(\<dd| \<a ).*/g"
BSubst d_note3,bb,d_note2
notesave target_num
print "完了"
やっと6割といったところ。
だが、おそらく取ってきたファイルの改行の形式の違いのためか検索が引っかからないのですが。
どうしたらいいものでしょうか?
hspbre
ttp://www.vector.co.jp/soft/win95/prog/se337635.html?y
BREGEXP.DLL
ttp://www.hi-ho.ne.jp/babaq/
0122デフォルトの名無しさん
2006/04/08(土) 19:29:38一行ずつ読み込んで最後まで処理してくれるの?
>おそらく取ってきたファイルの改行の形式の違いのためか
ファイルの改行はLFになってて、
hspはCRLFじゃないと改行だと認識しないんだよねぇ
ということでヒント
CRLF = "\n"
LF = strmid(CRLF,1,1)
mes instr(d_note,0,CRLF)
mes instr(d_note,0,LF)
0123109
2006/04/08(土) 19:50:49#include "hspinet.as"
#define target_num"1136120025"
netinit
neturl "http://game9.2ch.net/test/read.cgi/tcg/"
netload target_num
sdim d_note,500000
sdim d_note2,500000
notesel d_note
noteload target_num
bb = "s/\n/\r\n/g"
BSubst d_note2,bb,d_note
d_note=d_note2
bb = "s/^[^<].*$|^<[^d].*$|^<d[^t].*$//g"
BSubst d_note2,bb,d_note
d_note=d_note2
bb = "s/.*ID:([\w/+]+)(\<dd| \<a ).*/\1/g"
BSubst d_note2,bb,d_note
d_note=d_note2
notesave target_num
print "完了"
まだ動かないけど(bb = "s/.*ID:([\w/+]+)(\<dd| \<a ).*/\1/g"が原因はわかるが対処法不明で今のところどうにもならない)
これでいいのだろうか。
>BSubst
BSubst p1,p2,p3[文字列を置換する]
p1(変数):文字列型変数
p2(文字列):s構文による正規表現式
p3(文字列):置換対象の文字列
引っかかったものはすべて置換されます。
0124デフォルトの名無しさん
2006/04/08(土) 20:07:28//このままだとコピペの中のIDにも反応しちゃうけどw
repeat
linesize = instr(d_note,size,"ID:")
if linesize =-1 : break
size += linesize+1
mes strmid(d_note,size+2,9) //IDの末尾に0やOが表示されない板では8にする
loop
0126デフォルトの名無しさん
2006/04/08(土) 20:23:440127デフォルトの名無しさん
2006/04/08(土) 20:27:36反応しちゃうってことは反応しないようにすればいいってことで
0128デフォルトの名無しさん
2006/04/08(土) 20:28:36#define WM_SIZE$00000005
#uselib "user32.dll"
#cfunc GetWindowLong "GetWindowLongA" int,int
#func SetWindowLong "SetWindowLongA" int,int,int
#func global MoveWindow "MoveWindow" int,int,int,int,int,int
onexit gosub *exit
oncmd gosub *OnSize,WM_SIZE
sdim url,512:url="http://www.google.co.jp/"
screen 0,ginfo_dispx,ginfo_dispy,2,,,640,480
SetWindowLong hwnd,-16,GetWindowLong(hwnd,-16)|0x010000
gsel 0,1
axobj ie, "Shell.Explorer.2",640,480: haw=stat
ie->"Navigate" url
stop
*OnSize
MoveWindow objinfo(haw,2),0,0,lparam&$ffff,(lparam>>16)&$ffff,1
return
*exit
delcom ie:ie=0
end
0129デフォルトの名無しさん
2006/04/08(土) 20:44:59ついでに、ドラッグでサイズ変更できるようにしちゃえw
0131デフォルトの名無しさん
2006/04/08(土) 21:33:11カレントディレクトリに1136120025って
(拡張子がついてない)名前のファイルが無い?
noteloadできてるってことはあるはずだけど。
0132109
2006/04/08(土) 22:02:51中身はttp://game9.2ch.net/test/read.cgi/tcg/1136120025
と同じと思われます。
0133デフォルトの名無しさん
2006/04/09(日) 04:56:070134デフォルトの名無しさん
2006/04/09(日) 15:41:24typedef struct {
DWORD style;
DWORD dwExtendedStyle;
WORD cdit;
short x;
short y;
short cx;
short cy;
} DLGTEMPLATE;
cditを0 にすると うまく行く。コールバックは、hscallbk.as
sdim DLGTEMPLATE,18+4+40+4
st=WS_VISIBLE|WS_CAPTION|WS_POPUP|DS_MODALFRAME|WS_SYSMENU|DS_SETFONT
lpoke DLGTEMPLATE,0,st ;style;
lpoke DLGTEMPLATE,4,0 ;dwExtendedStyle;
wpoke DLGTEMPLATE,8,0 ;cdit;
wpoke DLGTEMPLATE,10,0:wpoke DLGTEMPLATE,12,0 ;xy
wpoke DLGTEMPLATE,14,200 :wpoke DLGTEMPLATE,16,80 ;cxcy
wpoke DLGTEMPLATE,18,0:wpoke DLGTEMPLATE,20,0;クラス名
sdim po,40: cnvstow po,"バージョン情報"
memcpy DLGTEMPLATE,po,40,22 :wpoke DLGTEMPLATE,62,10:wpoke DLGTEMPLATE,64,0;フォント名
DialogBoxIndirectParamA hinstance,DLGTEMPLATE,0,pDlgProc,0
Cのサンプルは、ぐぐりゲットし、ためしたらうまく動いてる。ABのサンプルもあったけど。エラーで動かず
GlobalAllocでもだめ。ボタンぐらいは付けたいな。最悪 WM_INITDIALOGで処理しても。
0135134
2006/04/09(日) 20:25:21でっも納得いかねー
0136134
2006/04/09(日) 23:38:53全角と半角をマルチに変換したときの長さ・・・。。
この時点でうまく行かんわな。土日損したような、さっぱりしたような気分。
#uselib "KERNEL32.DLL"
#cfunc global lstrlenW "lstrlenW" var
sdim po,64
st="バージョン情報"
mes strlen(st):cnvstow po,st:mes lstrlenW(po)
st="HSP test Version 1.0"
mes strlen(st):cnvstow po,st:mes lstrlenW(po)
st="MS P明朝"
mes strlen(st):cnvstow po,st:mes lstrlenW(po)
st="MS UI Gothic"
mes strlen(st):cnvstow po,st:mes lstrlenW(po)
0137デフォルトの名無しさん
2006/04/09(日) 23:54:500138デフォルトの名無しさん
2006/04/10(月) 04:48:48大事な事は書かない方が良い。
↑HSPWikiに載せてorz。
0139デフォルトの名無しさん
2006/04/10(月) 15:16:590140109
2006/04/11(火) 01:54:31しかし、hspbreの作者に質問のメール送ったのですが、
2日経っても帰ってこない・・・
0141デフォルトの名無しさん
2006/04/11(火) 02:10:410142デフォルトの名無しさん
2006/04/11(火) 04:16:45今更ですが
bb = "s/.*ID:([\w/+]+)(\<dd| \<a ).*/\1/g"
bb = "s/.*ID:([\\w/+]+)(\\<dd| \\<a ).*/\\1/g"
とか?
ちがうか。。。
0144デフォルトの名無しさん
2006/04/11(火) 18:23:150145109
2006/04/12(水) 00:10:53Sorry, I wasn't able to establish an SMTP connection. (#4.4.1)
I'm not going to try again; this message has been in the queue too long.
orz
0146デフォルトの名無しさん
2006/04/12(水) 13:40:37本当は、無能機能付けたかったんだけど断念。
0147デフォルトの名無しさん
2006/04/12(水) 13:42:090148デフォルトの名無しさん
2006/04/13(木) 11:34:54HSP3.0〜でも使える?
0149デフォルトの名無しさん
2006/04/13(木) 15:11:03hspbre.dllも使うしBREGEXP.DLLも用意しないといけないみたいだし。
3.0ならCOMから正規表現を使うサンプル付いてるしw
0150109
2006/04/13(木) 16:56:47#define target_num"1136120025"
netinit
neturl "http://game9.2ch.net/test/read.cgi/tcg/"
netload target_num
sdim d_note,5000000
notesel d_note
noteload target_num
bb = "\n"
cc = "\r\n"
newcom oReg,"VBScript.RegExp"
comres result
oReg("Pattern")=bb
oReg->"Replace" d_note,cc
d_note=result
bb = "^[^<].*$|^<[^d].*$|^<d[^t].*$"
cc = ""
comres result
oReg("Pattern")=bb
oReg->"Replace" d_note,cc
d_note=result
bb = ".*ID:([\w/+]+)(\<dd| \<a ).*"
cc = "\1"
comres result
oReg("Pattern")=bb
oReg->"Replace" d_note,cc
d_note=result
notesave target_num
print "完了"
・・・なんか置換が動いていない気がする・・・
0151デフォルトの名無しさん
2006/04/13(木) 18:11:48COMは嫌いだからHmJreを使ってみるね。
0152デフォルトの名無しさん
2006/04/13(木) 22:43:41そりゃそうだろ。
0153デフォルトの名無しさん
2006/04/14(金) 01:57:13なるほど〜そっち使います
0155デフォルトの名無しさん
2006/04/14(金) 06:10:24どうしても行き詰まってしまったので質問させて頂きます。
まず、いくつかのサイトのURLを変数に代入して(例:url=http://hogehoge.com)
exec url,16として既定のブラウザで開かれるところを、
既定のブラウザではなくブラウザを選択して開きたいのです。
要約するとやりたい事は「ブラウザを選択してサイトを開く」という事なのですが…
dialog "exe",16,"実行ファイル"
として、システム変数refstrに代入されたexe(ブラウザ)で、変数urlを実行良いと考えたのですが、
「指定した実行ファイルで指定したファイルを開く」の様な命令が見つからずに困っています。
neturlやnetrequest、netexecを使うのかとも考えましたが、
やはり取得したファイルをどうやって指定のブラウザで実行するのかがわかりません…。
何か根本的に間違えているのでしょうか…?
0156デフォルトの名無しさん
2006/04/14(金) 14:47:06path = "c:\\Program Files\\Mozilla Firefox\\"
p="http://www.google.co.jp/"
exec path+"firefox.exe "+p
0157デフォルトの名無しさん
2006/04/14(金) 15:07:09mes bb してみりゃ分かる。
0158デフォルトの名無しさん
2006/04/14(金) 15:41:58正規表現はよくわかんないけど
3.0a以降
notesel d_note
noteload target_num
bb = "\n"
cc = "\r\n"
newcom oReg,"VBScript.RegExp"
oReg("Pattern")=bb
oReg("Global") =-1
oReg->"Replace" d_note,cc
d_note=oReg("Replace",d_note,cc )
bb = "<[^>]*>"
cc = ""
oReg("Pattern")=bb
oReg("Global") =-1
d_note=oReg("Replace",d_note,cc )
bb = ".*ID:([\\w/+]+)(\\<dd| \\<a ).*"
cc = "\\1"
oReg("Pattern")=bb
oReg("Global") =-1
d_note=oReg("Replace",d_note,cc )
notesave target_num
print "完了"
で少しは、マシじゃない??
0159デフォルトの名無しさん
2006/04/14(金) 15:45:120160109
2006/04/14(金) 16:41:16とりあえず改行の変換は成功しましたが、
どうしてもそれ以降の置換の調子が・・・
まあ、どうもこのルーチンの場合だと最初の1つしか引っかからないみたいですが、
その1個すら置換されてないみたいで。
0161デフォルトの名無しさん
2006/04/14(金) 17:34:590162デフォルトの名無しさん
2006/04/14(金) 18:22:33まっ ネタって事だな。
0163109
2006/04/14(金) 19:25:17HSP暦15日で。
orz
0164デフォルトの名無しさん
2006/04/14(金) 21:34:27zz = ""
repeat
linesize = instr(note,size,"<dt>") //<dt>タグの位置を基準に
if linesize = -1 : break
size += linesize+1
posID = instr(note,size,"ID:") //ID:の文字を探して
if posID = -1 : break
zz += strmid(note,posID+size+3,9) + "\n" //その後の文字列を抜き出す
loop
len = strlen(zz)
bsave "ID.txt",zz,len
0165デフォルトの名無しさん
2006/04/15(土) 05:12:552,3千円かな
0166デフォルトの名無しさん
2006/04/15(土) 13:34:08金かけるんなら、Cやる。
0167デフォルトの名無しさん
2006/04/16(日) 01:56:27XPでツールバーのカスタムドローって出来ないな!
0168デフォルトの名無しさん
2006/04/16(日) 08:27:430169デフォルトの名無しさん
2006/04/17(月) 04:09:5343kだった。/O1/MD
でもレッツupxで圧縮できないorz
APIが使えるみたいだけど
DOS窓出ないようにできないかな
コールバックが付けばAPIで窓造ってウマーw
0170デフォルトの名無しさん
2006/04/17(月) 16:48:500171デフォルトの名無しさん
2006/04/18(火) 05:36:52ウィルコム最強
0172デフォルトの名無しさん
2006/04/18(火) 13:07:36自作が一番使いやすいw
0173デフォルトの名無しさん
2006/04/18(火) 16:31:120174デフォルトの名無しさん
2006/04/18(火) 18:17:04テンプレート機能とテンプレートマネージャーの追加
とは? またメリット、使い道は?
0175デフォルトの名無しさん
2006/04/18(火) 18:18:35クレくれ房 乙
0176デフォルトの名無しさん
2006/04/19(水) 06:46:450177デフォルトの名無しさん
2006/04/19(水) 11:15:27付属のサンプルを参考に、いざやろうとするとムズイ
0178デフォルトの名無しさん
2006/04/19(水) 11:36:12取れねー
0179デフォルトの名無しさん
2006/04/19(水) 18:40:31例えば文字を表示する場合ってmesbox<入力する文字>ってやればいいのか?
0180デフォルトの名無しさん
2006/04/19(水) 20:29:00無理するな、寝てろ。
0181デフォルトの名無しさん
2006/04/19(水) 21:19:39殺してでも無理せず寝る。
そう、関係ないね。
0182デフォルトの名無しさん
2006/04/19(水) 21:52:000183デフォルトの名無しさん
2006/04/19(水) 23:51:21後は正規表現設定してか・・・めちゃおそっ
0184デフォルトの名無しさん
2006/04/20(木) 00:19:47クライアント STAT
yahoo +OK 1 1365
クライアント LIST
yahoo +OK 1 message (1365 octets)
1 1365
.クライアント TOP 1 0
ここで多分チェックしてるんだろうな。
.ここで[spam]とかサブジェクトに書けばOKってことか
クライアント RETR 1
0185デフォルトの名無しさん
2006/04/20(木) 01:26:52コンテストもそろそろ視野に・・
つかベクターにシェアでだすかw まっ HSP製じゃ誰も買わないかなw
0186デフォルトの名無しさん
2006/04/20(木) 01:29:500187デフォルトの名無しさん
2006/04/20(木) 05:58:46OEのメッセージルールの場合送信者か件名でチェックするとさばから
削除できるみたいだ。
通知領域に入れるかどうか。
会社で使うやつだからなぁ
0188デフォルトの名無しさん
2006/04/20(木) 07:25:35そんなモン付いてません
0189デフォルトの名無しさん
2006/04/20(木) 07:28:33どっから[smp]って出てきたww
spmならまだ解るがww
0190デフォルトの名無しさん
2006/04/20(木) 18:50:170191デフォルトの名無しさん
2006/04/20(木) 21:02:03今作ってるめるさばで210行 住所録で600行。エディタとかだと行くんじゃないの・・・
0192デフォルトの名無しさん
2006/04/20(木) 21:05:07title "ssssssss\n\n"
0193デフォルトの名無しさん
2006/04/20(木) 22:53:11変数操作やラベル指定するときどんな文字入力をすればいいのか
わかりません
0194デフォルトの名無しさん
2006/04/21(金) 00:40:51だったら、
マニュアル→命令リファレンス と、
マニュアル→基本仕様ガイド→システム変数
0195デフォルトの名無しさん
2006/04/21(金) 09:36:27ずーっと見てると顔文字にみえてくる。
■ このスレッドは過去ログ倉庫に格納されています