【最適化機能】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/
0044デフォルトの名無しさん
2006/03/27(月) 19:40:370045デフォルトの名無しさん
2006/03/27(月) 23:38:45ttp://msdn2.microsoft.com/ja-jp/library/59a3b321(VS.80).aspx
0046デフォルトの名無しさん
2006/03/28(火) 07:30:20アリガ�d
0047デフォルトの名無しさん
2006/03/28(火) 07:58:13こんな技があったのか。_| ̄|○
0048デフォルトの名無しさん
2006/03/28(火) 08:12:310049デフォルトの名無しさん
2006/03/28(火) 08:20:21神は、おらんのか。
ちなみに、タダ最適化付けてコンパイルしてるだけww
0050デフォルトの名無しさん
2006/03/28(火) 08:26:01msvcrt.dll は、システム レベルのコンポーネントだけで使用されることを前提
としています。アプリケーションでは msvcr71.dll を使用し、再配布する必要があります。
システム ディレクトリには、msvcr71.dll のコピーを作成しないでください。
また、既にコピーが存在する場合でも、使用しないでください。
msvcr71.dll のコピーは、実行可能プログラムと共にアプリケーション ディレクトリに保存してください。
/MD スイッチを使用して Visual C++ .NET で構築したアプリケーションはすべて msvcr71.dll を使用します。
msvcr71.dllをシステムディレクトリにインストールしてしまう製品って多いような気がします。。
だと・・・同じフォルダに置けと。
0051デフォルトの名無しさん
2006/03/28(火) 12:42:290052デフォルトの名無しさん
2006/03/28(火) 13:29:56朝日新聞社長の長男を逮捕
0053デフォルトの名無しさん
2006/03/28(火) 21:06:160054デフォルトの名無しさん
2006/03/28(火) 23:27:220055あえて言おう
2006/03/28(火) 23:36:560056デフォルトの名無しさん
2006/03/29(水) 00:25:1143.6kまで圧縮できたww(msvcrt.dll &msvcr71.dll )
でも、msvcr80.dllはだめなようだ
0057デフォルトの名無しさん
2006/03/29(水) 06:45:56callfuncの引数の順番を変えてほしすぃ。
0058デフォルトの名無しさん
2006/03/29(水) 10:35:39http://pc8.2ch.net/test/read.cgi/tech/1142529119/l50
0059デフォルトの名無しさん
2006/03/29(水) 12:01:460060デフォルトの名無しさん
2006/03/29(水) 19:41:34おれじゃないけどね
0061デフォルトの名無しさん
2006/03/29(水) 20:21:200062デフォルトの名無しさん
2006/03/29(水) 21:04:40あいつ性格ワリーって言ってたからな。
大学院生だかなんだか知らんが、ろくなやつ居ねーな
0063デフォルトの名無しさん
2006/03/30(木) 05:47:05OSVERSIONINFOEX
0064デフォルトの名無しさん
2006/03/30(木) 19:20:410065釣れまくり!!!!!!!
2006/03/31(金) 10:03:460066デフォルトの名無しさん
2006/03/31(金) 14:20:55止める気にもならんわwww
つか、ぱっと見てタイトルしか見えないから不快感もない
タイトルをもっと派手にせんと
0067デフォルトの名無しさん
2006/03/31(金) 14:22:520068デフォルトの名無しさん
2006/03/31(金) 21:51:180069デフォルトの名無しさん
2006/03/31(金) 21:54:38あの背景色が見づらくて書く気になんねー。
せめて白にしてくれ。
0070デフォルトの名無しさん
2006/03/31(金) 23:02:040071デフォルトの名無しさん
2006/03/31(金) 23:11:14BitBltで適当なBufferのhDCにSRCCOPYする
そのBufferをBmpsaveする
0072デフォルトの名無しさん
2006/03/32(土) 03:20:56見ればwww
0073デフォルトの名無しさん
2006/03/32(土) 13:46:56まるちできっかな〜っとやってみたらだめだった。
つか、WM_CREATEがとんでこないんだけどwww
0074デフォルトの名無しさん
2006/03/32(土) 13:52:13マルチもどきなら run "MENU2.AX","-s" で出来。。。?
0075デフォルトの名無しさん
2006/03/32(土) 14:53:250076デフォルトの名無しさん
2006/03/32(土) 16:18:51ちょっとやってみっかなw
0077デフォルトの名無しさん
2006/03/32(土) 23:21:034/1だしwww
0078デフォルトの名無しさん
2006/04/02(日) 17:30:45うまくいかねー
#include <windows.h>
typedef struct {
HWND hwnd;
BOOL (WINAPI *pSetWindowText)(HWND, LPCTSTR);
VOID (WINAPI *pSleep)(DWORD);
int cnt;
} _DATA;
void ooo(_DATA *pData)
{
int kkk=0;
while (pData->cnt== 0) {
pData->pSetWindowText(pData->hwnd,(LPCTSTR)kkk);
kkk++;
pData->pSleep(500);
}
return ;
}
0079デフォルトの名無しさん
2006/04/02(日) 19:58:040080デフォルトの名無しさん
2006/04/02(日) 20:01:01初期化方法は
a=""
でOKなのでしょうか。
0081デフォルトの名無しさん
2006/04/02(日) 20:30:27008278
2006/04/02(日) 21:26:160083デフォルトの名無しさん
2006/04/02(日) 21:47:420084デフォルトの名無しさん
2006/04/02(日) 22:03:583.0になってからコード埋め込む羽目になるとは。
ない物ねだりw
0085デフォルトの名無しさん
2006/04/03(月) 01:03:42処理がとまるww
何とかしてほしい
他言語はどうなんだろうな。
0086デフォルトの名無しさん
2006/04/03(月) 01:06:39す・る・な。
0087デフォルトの名無しさん
2006/04/03(月) 04:41:16ググってみたらあった。
0088デフォルトの名無しさん
2006/04/03(月) 09:02:46screen 2
screen 0
repeat
gsel 0,0:title ""+cnt
await 0
gsel 2,0:title ""+cnt
wait 10
loop
stop
0089デフォルトの名無しさん
2006/04/03(月) 13:16:330090デフォルトの名無しさん
2006/04/03(月) 14:41:58終了時に落とし穴がw
まぁ、暇潰しだからどうでもいいけと
使える事が解っただけでも
0091デフォルトの名無しさん
2006/04/03(月) 16:31:59普通のプログラムはメッセージが着てもいないときに処理を行わないので止まる止まらない以前の話。
(逆に、タイトルバークリック中でもメッセージが来れば処理は実行される。)
メッセージが着ていないときに処理を行いたいなら別スレ立てるべきで、UIスレッドで何でもやろうとしてるHSPの実装上の問題。
マルチスレッドにすると排他制御がいろいろ厄介だしパフォーマンスも大幅に下がるからやりたくないのはわかるが。
マルチスレッドが嫌ならWM_NCLBUTTONDOWNのメッセージハンドラをオーバーライドして自前で移動するようにすれば簡単に解決なんだけどなぁ。
0092デフォルトの名無しさん
2006/04/03(月) 16:32:290093デフォルトの名無しさん
2006/04/03(月) 16:35:28誰とは言わないがkz3とか。
0094デフォルトの名無しさん
2006/04/03(月) 17:00:12コンパイル+実行、実行、コンパイルのみ、すべて試したのですが、
「#Error 38 in line 14 (fl.hsp)
-->外部DLLの呼び出しに失敗しました」
とでます。
#uselib "HMemory.dll"
#func RM ReadMemory $5
#func WM WriteMemory $5
#func WMS WriteMemoryS $5
#func GID GetID $5
#func DRM DReadMemory $5
#func DWM DWriteMemory $5
#func DWMS DWriteMemoryS $5
#func EP ExePro $5
pname = "FrontLinetito.EXE"
put = $0186A0
WM put,"FrontLine.exe",$0043A6B0,3
put = $0186A0
WM put,"FrontLine.exe",$0043A6E9,3
put = $0186A0
WM put,"FrontLine.exe",$0043A720,3
put = $0186A0
WM put,"FrontLine.exe",$0043A759,3
put = $0186A0
WM put,"FrontLine.exe",$0043A790,3
OS Windows98 SE
HSPver 3.
0095デフォルトの名無しさん
2006/04/03(月) 17:04:21#uselib "HMemory.dll"
:
:
:
put = $0186A0
WM put,"FrontLine.exe",$0043A790,
上の記述であっているでしょうか。
HMemory.dllはhsed3.exeと同じフォルダにおいてあります。
OSはWindows98SEでHSPのVerは3です
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"
とか?
ちがうか。。。
■ このスレッドは過去ログ倉庫に格納されています