トップページ⇒tech
955コメント273KB

HSP - Hikikomori Students Producer Part 4

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
言語仕様が簡単で、厨房の玩具に最適なHSP!
GUIでデザインできないが一応GUIが作れるので、ドキュソがちょっとしたツールもどきを作る時にも便利なHSP!
完全ロイヤリティフリーなので、リアル厨房にも優しいHSP!
だがユーザーが厨房でクソフトを量産するのが欠点・・・
そこで、プログラム技術板の力を集結し、HSPの抱える課題の解決策を考えよう!(藁

HSP サイト
http://www.onionsoft.net/hsp/

過去スレ
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=993489862
0401デフォルトの名無しさんNGNG
>396
例えば引数に関数ポインタを渡す関数ってどういうのあります?
0402デフォルトの名無しさんNGNG
>>396
構造体はパディングがあるから。
あっ、WinAPIは関係無いか・・・

無駄レススマソ・・・
0403デフォルトの名無しさんNGNG
>>399
EnumWindowsはコールバック関数へのポインタを指定しますよね?
でも、これはloadlibで呼べるかもしれないですね。
EnumWindowProcの戻り値ですから、ポインタのアドレスを取得して
指定してしまえば出きるかもしれないです。
0404デフォルトの名無しさんNGNG
>>385
スレッドや同期関係は全滅だと思うし、そもそもウィンドウプロシー
ジャが書けないから、ユーザインターフェースを柔軟に作るのは無理。
関数ポインタがないとダイアログボックスも開けないし、コントロー
ルのサブクラス化なんかも不可能。

ウィンドウプロシージャとかメッセージって何ですかレベルなら、と
りあえず「プログラミング Windows」読んでから出直した方が良いと
思うぞ。
0405デフォルトの名無しさんNGNG
HSPではコールバックできるようにならんのかね
0406デフォルトの名無しさんNGNG
>>400
その発言で君のレベルが良く分かりました。

ハァ、こんな厨房相手に時間を無駄にしてしまったよ・・・・
0407デフォルトの名無しさんNGNG
>>403
毎回そういうことやってたら死ぬ・・・
素直に複雑なの処理をHSPでやるのはやめろ・・・
0408デフォルトの名無しさんNGNG
>>405
作者が改変すれば可。
つーか言語の仕様ができてるなら結構簡単なはず。
0409デフォルトの名無しさんNGNG
>>404
最近のHSPはよく知らないんですが、コントロールのメッセージ取得
はできるようになったと聞きましたよ。
コントロールにメッセージを送ることもできるので、その辺はかなり
柔軟なことが出きる筈です。
0410デフォルトの名無しさんNGNG
>>405
やったところで意味無し。
0411デフォルトの名無しさんNGNG
>408
onexit も WM_CLOSE 見てるしな
0412デフォルトの名無しさんNGNG
>>406
何がおかしいんだ?
そういうちょっとしたことを簡単にやるのがHSPだといって何が悪い?
0413デフォルトの名無しさんNGNG
>410
馬鹿にもわかるように話してやれ。
0414デフォルトの名無しさんNGNG
VCユーザ諸君、知識をひけらかすチャンスだぞ!
0415デフォルトの名無しさんNGNG
>>408
それ本気で言ってます?
HSPはインタープリタですよ。ネイティブコンパイラじゃないんですよ。
それすら分かりませんか?

もうちょっと勉強してから発言してね。思いつきで他人を振り回さないでね。
0416デフォルトの名無しさんNGNG
サブリミナル効果だな。
0417デフォルトの名無しさんNGNG
>>407
たまに使うだけですし、たくさんそのようなことを行って本格的にしたいのなら、
もちろんVCを使うでしょう。
0418408NGNG
恥をしのんでお伺いしますが
ウィンドウプロシージャを呼ぶのとコールバックするのは
原理的に同じですか?
0419デフォルトの名無しさんNGNG
Delphi ってまだ無料じゃないよね。
あと、たしか無料版使ってシェアウェア作っちゃまずいよね?

無料で使えて自由に配布できてGUIがそこそこ簡単に作れる
言語ってHSP以外になんかある?
0420デフォルトの名無しさんNGNG
なんか煽り以外の話題は久々だな
0421デフォルトの名無しさんNGNG
>410
何度も言わせるな。馬鹿にもわかるように話してやれ。
0422デフォルトの名無しさんNGNG
>>415
インタプリタ作れば、後はそれぞれの処理をネイティブはくようにすればいいだけだろ?
つーかCIntとか知らんのか?
0423デフォルトの名無しさんNGNG
>>418
Windowプロシージャはコールバック関数の一種ですが?
0424デフォルトの名無しさんNGNG
>>419
Java (Applet 含む) とか Tcl/Tk とか、いろいろあると思うが。そうそう、
Yaneurao Game Script なんてのもあったな。
0425デフォルトの名無しさんNGNG
>>422
はぁ・・・・
HSPの作者がそれを「簡単」に出来るようだったら
HSPはもっと評価されていただろう・・・
0426408NGNG
>423
じゃあonexitはどう説明するんですか?
0427デフォルトの名無しさんNGNG
>>424
JavaやTclはランタイムが必要だろ。
HSPは100KBそこそこのEXE一つでいい。
yaneuraoは知らんが。
0428デフォルトの名無しさんNGNG
>>426
onexitはHSPのインタプリタのWindowプロシージャがメッセージを
監視して、判断してると思います。
0429デフォルトの名無しさんNGNG
>>415
VBScript はインタープリタ言語だがイベントとしてプロシージャを
呼べるが?
0430デフォルトの名無しさんNGNG
>>428
それと同様に任意のプロシージャを作ることは出来ないのかね。
0431デフォルトの名無しさんNGNG
>>429
本物の厨房だから相手にしないほうが・・・
たぶんHelloWorldを表示したところでしょう。
0432デフォルトの名無しさんNGNG
たしか、最近のHSPはメッセージにあわせてコールバックのような関数を指定することが
できるようになったのでは?
違ったかな?
出来なくても、見えないところにボタンを描画してボタンにメッセージを送るという
工夫をすれば、それらしいことが出来ないことも無いですよ。
0433デフォルトの名無しさんNGNG
>>430
作者がDQNなので不可。
0434デフォルトの名無しさんNGNG
なんか盛り上がってきたなぁ(w
0435419NGNG
>>424
Javaは相手に実行環境があるということを求めますよね。
Tcl/Tkは実行ファイルひとつになります?
スクリプトじゃなかったでしたっけ?
0436デフォルトの名無しさんNGNG
>>430
同様にって意味がわかりませんが、HSPのソースで定義してるだけで、
HSPのスクリプト側から作ってるわけではないので、全然違うと
思いますが。
0437デフォルトの名無しさんNGNG
>>429
VBScriptはよく知らんがスクリプト実行部が処理して呼ぶか
実行時にネイティブコードをはくようにしているのだろう。
0438デフォルトの名無しさんNGNG
>>431
こいつは、VCを持ってると発言した奴じゃないだろ。
0439デフォルトの名無しさんNGNG
>>434
しかし、HSPの欠点ばかりを見つけるだけ・・・
0440デフォルトの名無しさんNGNG
>410
お前、俺を無視してるだろ。
あんまり、なめんなよ。潰せるときに潰しておかないと
意味がねーんだよ!(激怒)
チキンのくせにレスすんな!余計な手間かけさせやがって!
0441デフォルトの名無しさんNGNG
>>438
え?わかってるけど・・・
0442デフォルトの名無しさんNGNG
>>439
欠点見つけ合戦、利点見つけ合戦だ。
盛り上がってるけど面白くない
0443デフォルトの名無しさんNGNG
>>439
そうか?
出来ないこともあるが、結構使えるという感じだが?
0444デフォルトの名無しさんNGNG
>>440
410じゃないけど
(激怒)とか書かれると怒ってるように見えないね(w
0445デフォルトの名無しさんNGNG
>>430
どうDQNなのか、馬鹿にもわかるように説明してやれ。

注)410みたいに無視したら、ただじゃおかねーぞ!
0446デフォルトの名無しさんNGNG
>>430
どうDQNなのか、馬鹿にもわかるように説明してやれ。

注)410みたいに無視したら、ただじゃおかねーぞ!
0447デフォルトの名無しさんNGNG
HSPで無理にいろいろしようとするのが悪い
0448デフォルトの名無しさんNGNG
>>445
あなたは言葉遣いと態度がドキュンです。
0449デフォルトの名無しさんNGNG
>>439
欠点というか、できない点だろ?
ええじゃないか。
0450デフォルトの名無しさんNGNG
>447
だからどう悪いのか書いてやんねーとわからねーんだよ!
あいつらは!!
0451デフォルトの名無しさんNGNG
>>429
インタプリタだからコールバック関数を定義できないというのは、厳密には
正しくない。スタブ書いてやれば理論的には動く。ただし、とりあえず動き
ますから実用レベルに持っていくのが無茶苦茶に大変。

Window プロシージャとして HSP の関数を登録できたとして、そこから lParam,
wParam を使って処理する部分も全部 HSP で面倒見る必要があるんだぜ? とて
も個人で出来る作業量じゃない。

あと VBScript は COM のイベント通知モデルを使ってるんだと思う。直に
ウィンドウプロシージャを登録したり、コールバック関数が必要な API 呼べ
るわけじゃないでしょ。それは話が別だよ。
0452デフォルトの名無しさんNGNG
結局、結論はHSPにも使い道はあるということだな?
0453デフォルトの名無しさんNGNG
白熱してリロードするのが大変だ
0454デフォルトの名無しさんNGNG
>>446
まず、君がDQN
つーか作者だろ(w
0455デフォルトの名無しさんNGNG
相手側に関数をコールさせるという意味では同じだと思うのだが。
0456デフォルトの名無しさんNGNG
前スレではHSPはゲーム/スクリーンセーバー作成用言語だという結論が出ました
今回は?
0457デフォルトの名無しさんNGNG
>>446
馬鹿だからわかるように説明してください、だろ
0458デフォルトの名無しさんNGNG
>>454
笑った。お前、掲示板での作者の発言みたことないだろ。
0459デフォルトの名無しさんNGNG
>>456
ある意味汎用言語
0460鬼怨ソフトNGNG
0461デフォルトの名無しさんNGNG
>>456
汎用っぽいけど、ツールを作るには難あり
0462デフォルトの名無しさんNGNG
>>456
ちょっとしたスクリプトを書くとか、試行錯誤を楽しむ
とか、趣味用または簡易用言語ってことで良いん
じゃないかな?
0463デフォルトの名無しさんNGNG
>>458
人は、場所によって変わるものだ。
0464デフォルトの名無しさんNGNG
でも最近ゲームよりツールの方が多いかもしれないな。
0465デフォルトの名無しさんNGNG
>>452
それで良いと思うよ。

HSP は用途を限れば簡単にアプリケーションを作れるが、汎用言語ではないので
制限が厳しい。その先に逝く必要があれば VC++ なり Delphi なり使え、って
ことで。(敷居が一気に高くなるのが難だが)
0466デフォルトの名無しさんNGNG
>>457
お前、生意気だな
口の利き方に気をつけろよ
だれに話してると思ってんだ?
知らぬが仏とは言うが、たいがいにしとけよ
0467デフォルトの名無しさんNGNG
>>457
お前、生意気だな
口の利き方に気をつけろよ
だれに話してると思ってんだ?
知らぬが仏とは言うが、たいがいにしとけよ
0468デフォルトの名無しさんNGNG
>>457
お前、生意気だな
口の利き方に気をつけろよ
だれに話してると思ってんだ?
知らぬが仏とは言うが、たいがいにしとけよ
0469デフォルトの名無しさんNGNG
>>466
ふかわりょう?
0470デフォルトの名無しさんNGNG
>>466
誰って「デフォルトの名無さん」だと思うが。違うの?
0471デフォルトの名無しさんNGNG
>>466-467
必死に荒らそうとして自作自演してない?
0472デフォルトの名無しさんNGNG
>>466
デフォルトの名無さん
0473デフォルトの名無しさんNGNG
すべて、HSPユーザの自作自演ではなかろうか?
いきなりこんなに友好的になるか、普通?
0474デフォルトの名無しさんNGNG
>>471
その可能性あり
0475デフォルトの名無しさんNGNG
>>473
友好的?
ただ批判が途切れただけに見えるけど。
寝たとかでしょ。
0476デフォルトの名無しさんNGNG
>>473
ちゃうよ。おれはVCメイン。
0477デフォルトの名無しさんNGNG
>>466
お前、生意気だな
口の利き方に気をつけろよ
だれに話してると思ってんだ?
知らぬが仏とは言うが、たいがいにしとけよ
0478デフォルトの名無しさんNGNG
>>477
新しいコピペ?!!
0479デフォルトの名無しさんNGNG
>インタプリタだからコールバック関数を定義できないというのは、厳密には
>正しくない。スタブ書いてやれば理論的には動く。ただし、とりあえず動き
>ますから実用レベルに持っていくのが無茶苦茶に大変。
これをユーザが意識せずに行えるような機構をおにたま氏に導入して
もらいたい。関数アドレスがつかえれば。
0480デフォルトの名無しさんNGNG
結論:作者がんばれ
0481デフォルトの名無しさんNGNG
>>473
叩きがいのあるヴァカがいなくなったから、下火になっただけだと思われ。
また厨房 HSP ユーザが出てくれば盛り上がるでしょ。

……しかし、HSP スレッドで、まがりなりにも技術的な話が出てるのを初めて
見たよ。ここって「プログラム技術」板だったんだな。
0482デフォルトの名無しさんNGNG
repeat
mes {"
お前、生意気だな
口の利き方に気をつけろよ
だれに話してると思ってんだ?
知らぬが仏とは言うが、たいがいにしとけよ
"}
loop
0483デフォルトの名無しさんNGNG
HSPユーザーがWindow関数とかAPIとか言い出したからびびって作者に違いない
と思ったんだろ。(藁
0484デフォルトの名無しさんNGNG
>>479
インタプリタで Win32 側から呼び出されるコールバック関数を定義する
のは大変だけど、インタプリタ内部で定義した関数をインタプリタ内部か
らコールバック的に呼び出すのは、別に大変じゃない。念のため。
0485デフォルトの名無しさんNGNG
100,000ユーザがいて100人ほどはVC++使いレベルのものが
いると思う。プラグイン、モジュール作者でもおおっ!て思う奴
がいるものな。APIの焼き増しだけの命令を作る奴は論外。
0486456NGNG
>>480
「汎用っぽいがツール用として見るとドキュソ言語」
にしようかと思ったけどそれでいいや
作者がんばれ。
0487デフォルトの名無しさんNGNG
>>484
プロキシ、スタブぐらいは書けるんで了解していますよ。
0488デフォルトの名無しさんNGNG
>>451
>VBScript は COM のイベント通知モデルを使ってるんだと思う。
なるほど、勉強になります。

ここからは別の話。
あとHSPにはメッセージハンドラ見たいのが実装されるらしいけど
それでも出来ないことがあります。
例えばWPARAM,LPARAMにデータのポインタが入っている時。
この場合ウィンドウプロシージャから制御を返すまでにデータを
処理しなければいけない。
やはりまだDLLが必要ですね。
0489デフォルトの名無しさんNGNG
>>488
あれ?実装はまだでしたか。
0490デフォルトの名無しさんNGNG
>APIの焼き増しだけの命令を作る奴は論外
俺の事だ。精進しなきゃな…
0491デフォルトの名無しさんNGNG
HSPでやたらCOMに詳しい人がいたはず?
そういう人ってなんでHSPやるんだろうか?
おそらくCでガリガリかけるだろうに。
0492デフォルトの名無しさんNGNG
>>491
新しもの好き。
じゃなきゃここでこんな話題でない。
0493デフォルトの名無しさんNGNG
>>490
俺もだ、、、お互い頑張ろう。
0494デフォルトの名無しさんNGNG
>>485
VC使いレベルってなんだよ。(w
VC使いでもレベル低い奴はいっぱいいるだろうよ。
全部一緒にすんな。
0495デフォルトの名無しさんNGNG
>494
それは、素直に謝ります。ここでカキコしている人は結構自分に
自信があるようなのでその人たちと同等という意味で書きました。
0496デフォルトの名無しさんNGNG
>構造体はパディングがあるから。
>あっ、WinAPIは関係無いか・・・
確かに、大抵アラインメントは1バイトですが
そうじゃないのもあったような・・・・
確かコンパイラのスレでこの話題がありましたよ。
0497デフォルトの名無しさんNGNG
>>491
移植(言葉はちょっと違うかも)する楽しさとかじゃないの?
ツール作るのとちょっと違うからね。言語使用の拡張みたいなものでしょ、
そういうのってさ。
0498デフォルトの名無しさんNGNG
みんな、寝始めたな
0499デフォルトの名無しさんNGNG
>>496
4バイトの間違いだろ?
0500デフォルトの名無しさんNGNG
結局のところ、HSPは糞言語か?
■ このスレッドは過去ログ倉庫に格納されています