トップページ⇒tech
1001コメント277KB

【2.61】HSP初質P56【3.2β2】

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん2009/05/21(木) 18:32:32
 ■とりあえずこれを嫁。
  http://www.geocities.jp/hsp_summary/law.html

 ■ 前スレ
  【スレ番】HSP初質P55【修正】
  http://pc12.2ch.net/test/read.cgi/tech/1211463465/

 ■HSPの入手はここから(HSP2.61/HSP3.2β2)
  □Hot Soup Processor Page
    http://www.onionsoft.net/hsp/

 ■HSPの各種情報
  □HSP Wiki
    http://quasiquote.org/hspwiki/

 ■HSPLetの入手はここから(ブラウザ上でHSPを動かす)
  □HSP BIGINNER'S CLUB
    http://www.rinku.zaq.ne.jp/ultimate/

 ■HSPスレまとめページ
  □Hot Soup Processor@2ch
    http://hsp2ch.hp.infoseek.co.jp/
    http://www.geocities.jp/hsp_summary/
0951デフォルトの名無しさん2009/10/26(月) 21:21:57
プログラム作れば関数だらけになるのが普通
0952デフォルトの名無しさん2009/10/26(月) 21:22:42
いや俺もサブルーチンは煩悩の数のちょっと手前くらいまでできてる
ちなみにメインソースは700KBほど

ちなみにだけど確率のシミュレーションをしてる。
独学で勉強したことを3Dとかつかって可視化するのが楽しい
C++とかも学んでるけどエラーでたときあれやこれや検索しながら直してると時間がかかるのでいらいらして楽しさが半減してるのでやめた
HSPはその点楽だしすぐ思いついたことすぐできるので良い

いらんことも書いてスマソ
0953デフォルトの名無しさん2009/10/27(火) 10:57:37
hsp3.2の命令語の名前を全部取得する方法ってありませんか?
テキストエディタの色分けに使いたいのですが付属のHSP Document Libraryから一つずつコピペするしかないですかね?
0954デフォルトの名無しさん2009/10/27(火) 11:25:17
環境Vista・HSP3.2・IE8

ttp://blogs.yahoo.co.jp/edamatsu_denki/8215980.htmlを参考にして
ツールチップを表示したいのですがエラーがでてしまいます
エラーを見てもどこをどう修正していいのかわかりません
どなたかご指導お願い致します

【コード】
#include "llmod3\\llmod3.hsp"
#include "llmod3\\misc.hsp"
#include "hspdef.as"

button "test",label:btn_id=0
tooltip objinfo_hwnd(btn_id),"テストします"
*label
stop

【エラー】
#HSP script preprocessor ver3.2 / onion software 1997-2009(c)
#Use file [hspdef.as]
#HSP code generator ver3.2 / onion software 1997-2009(c)
???(7) : error 7 : ラベル名はすでに使われています (7行目)
--> *label
0955デフォルトの名無しさん2009/10/27(火) 11:26:38
>>953
hsファイルから命令名だけ抜き出すスクリプトを作れば
ヘルプに載ってる命令なら全部取得できるし命令が増えても対応が楽なんだが・・・
フリーでそういうツールがあれば探すのもよし

スクリプト組むのが面倒くさいならHSPエディタの
メニュー>>HSP>>予約キーワード一覧
から標準命令はほぼ全部まとめてコピーできるから正規表現使えるエディタで命令の名前だけ抜き出す
拡張命令はcommonフォルダ内のインクルードファイルから正規表現で抜き出す
ってのが一番楽か?
0956デフォルトの名無しさん2009/10/27(火) 12:41:00
HSPは使わないんだな(´・ω・`)
0957デフォルトの名無しさん2009/10/27(火) 13:29:22
>>953
hspcmp.dllのhsc3_getsym命令ではどう?
0958デフォルトの名無しさん2009/10/27(火) 15:03:30
hsphelpフォルダにあるHSファイルから命令を抜き出して"*_key.txt"で保存するスクリプト(適当)

screen 0 , 300 , 400
sdim allcomm
mesbox allcomm , 300 , 300 : id1 = stat
button goto "START" , *start
button goto "END" , *exit
stop
*start
dialog "hs" , 16 , "HSファイル"
if stat ! 1 : end
path = refstr
file = getpath( path , 1 )
sdim buf : notesel buf
noteload path , -1
bufsize = notemax
sdim allcomm
repeat bufsize
notesel buf
noteget chkword , cnt
if chkword = "%index" : noteget commname , cnt + 1 : notesel allcomm : noteadd commname , -1 : title commname : no++
await
loop
objprm id1 , allcomm
title "命令数=" + no + "個"
notesel allcomm
notesave file + "_key.txt"
stop
*exit
end
0959デフォルトの名無しさん2009/10/27(火) 15:06:40
>>954
button "test",*label:btn_id=0
にしたら動いた
0960デフォルトの名無しさん2009/10/27(火) 19:56:56
>>959
遅くなりましたがありがとうございます
0961デフォルトの名無しさん2009/10/27(火) 22:25:31
>>954
どうでもいいが、

  button "test",label:btn_id=0

の部分、

  button "test",label:btn_id=stat

にした方がよくね?
0962デフォルトの名無しさん2009/11/05(木) 03:38:01
ファイルを保存するのに変数をファイル名として使用するにはどうやるのでしょうか?
0963デフォルトの名無しさん2009/11/05(木) 07:59:59
>>962
ファイル名=変数+"拡張子"
0964デフォルトの名無しさん2009/11/05(木) 17:40:04
Cのプログラムとやりとりするにはパイプ通信て奴でいいの?
0965デフォルトの名無しさん2009/11/05(木) 19:14:59
ありがとう。
でもよくわからないです。
具体的にはどうやるのでしょうか?

notesave "opentime.log"

こんな感じだとうまくいくのですが 、たとえば

notesave jikan+".log"

こんな風にするとパラメータの型が違いますえらーが出るんです。
0966デフォルトの名無しさん2009/11/05(木) 19:35:59
>>965
notesave ""+jikan+".log"
0967デフォルトの名無しさん2009/11/05(木) 19:55:10
>>966
ありがとう。
0968デフォルトの名無しさん2009/11/07(土) 08:27:47
規制されてる間、その質問ってリフレクション的なことしたいのかと思ってたけど
HSPだけに次元が違った
0969デフォルトの名無しさん2009/11/14(土) 18:21:58
#deffunc Stopbutton int x,int y,str message
pos x,y
button message,*ExitStopButton
stop
*ExitStopButton
return

こんなサブルーチンを呼び出したんですが「サブルーチン外のReturnは無効です。」
のエラーが出ます。

どこにBugがあるんでしょうか、、、
0970デフォルトの名無しさん2009/11/14(土) 18:46:52
>>969
#module
#deffunc Stopbutton int x,int y,str message
pos x,y
button message,*ExitStopButton
stop
*ExitStopButton
return
#global
0971デフォルトの名無しさん2009/11/15(日) 01:30:38
まずそれはサブルーチンじゃないw

buttonがgosubじゃないのにreturnしてるからだろ
あとボタン作った後returnされずにstopしてしまってるのはいいのか?
0972デフォルトの名無しさん2009/11/18(水) 17:00:20
リストビューの事で質問させて下さい。
表計算ソフトのように、項目毎に内容変更できるようにしたいと思っていますが、
肝心のセル?の幅や高さの取得方法がわからなくて困っています。

リストビューよりもよい方法があれば、そちらでも良いのですが…
0973デフォルトの名無しさん2009/11/18(水) 23:17:20
そもそも、#deffuncの中にbutton入れるってどうよ?
0974デフォルトの名無しさん2009/11/19(木) 23:49:19
hspでdllを作ることは不可能でしょうか?
0975デフォルトの名無しさん2009/11/19(木) 23:51:51
全然難しくない。初心者〜中級車の中間くらいの実力があれば可能
09769742009/11/19(木) 23:59:23
ttp://kkkkk.net/?key=docs.dll4hsp
ここみたんですけどHSPでdllを作ってもhspプログラムと同一の場所かパスが通ったところに置かないと行けないという制約があるのですが
これはどうにもならないのでしょうか?
0977デフォルトの名無しさん2009/11/20(金) 00:18:12
そういうHSPの約束だからどうにもならない。
それ変える方法もないわけじゃないが難しいよ。
0978デフォルトの名無しさん2009/11/20(金) 00:35:56
HSPでDLLは作れない。
CやC++等の他の言語で作成されたDLLは
HSPからは普通に使用出来る。
0979デフォルトの名無しさん2009/11/20(金) 08:09:03
ネタ振り撒くヤツってどこでも沸くのが2ちゃんねるって感じになったな。
馬鹿のフリして書き込んで、フォローしたヤツを馬鹿にするのが、流行してるね。
0980デフォルトの名無しさん2009/11/20(金) 10:51:44
↑
お前みたいな性格のひね曲がった奴はこのスレだけじゃなく社会でもいらないんだよ
0981デフォルトの名無しさん2009/11/20(金) 12:01:40
>>976
#uselibって相対パスやフルパス指定できないの?
0982デフォルトの名無しさん2009/11/20(金) 13:05:00
hspでdllが用意に作れるように作者様が改良してくれたらなあ・・・
0983デフォルトの名無しさん2009/11/20(金) 14:56:02
じゃあおまえが改良しろw
0984デフォルトの名無しさん2009/11/20(金) 15:28:52
HSPでHSP製dllを使いたい→モジュール使えばいいんじゃね?
HSP以外の言語でHSP製DLLを使いたい→何かメリットあるの?
0985デフォルトの名無しさん2009/11/20(金) 15:53:17
dllを作る敷居が低くなるからでしょ
そもそもHSPはそういう位置づけであるわけだし
0986デフォルトの名無しさん2009/11/20(金) 16:38:08
cm(cnt)=rnd(100)
cm(cnt)=double(cm(cnt))

って実行するとエラーが出ます
片方だけ消すと正常に動きます
どこに問題があるのでしょうか
0987デフォルトの名無しさん2009/11/20(金) 16:40:09
すいません自己解決しました
0988デフォルトの名無しさん2009/11/20(金) 16:47:14
玄関開けたら2分で解決
0989デフォルトの名無しさん2009/11/20(金) 18:06:59
    ∧,,∧  ∧,,∧
 ∧ (´・ω・) (・ω・`) ∧∧  ヒソヒソ・・・
( ´・ω) U) ( つと ノ(ω・` )
| U (  ´・) (・`  ) と ノ  ヒソヒソ・・・
 u-u (l    ) (   ノu-u
     `u-u'. `u-u'
0990デフォルトの名無しさん2009/11/21(土) 16:48:28
>>986
変数宣言がない言語らしいミスだね。
俺もぱっと見、分からなかったよ(笑)。
C言語でコレやってエラー出したら、恥ずかしいけど。

cm(cnt)=double(rnd(100))
と一行で済ますのが、正解かな?
0991デフォルトの名無しさん2009/11/21(土) 23:58:34
ほんと型のあいまいさをどうにかしてほしいわ。
バグの宝庫やで
0992デフォルトの名無しさん2009/11/22(日) 00:29:01
ttp://yokohama.cool.ne.jp/chokuto/urawaza/dispcopy.html
このサイトのデスクトップをbmpで保存するスクリプトをHSP3.2で使えるようにしたいのですが、
4行目のdispx→ginfo_dispx dispy→ginfo_dispy への修正以外にも修正しなければいけない箇所があるのでしょうか?
ご教授お願い致します。
0993デフォルトの名無しさん2009/11/22(日) 06:52:01
>>991
Perlと比べてどうですか?
0994デフォルトの名無しさん2009/11/22(日) 15:40:22
>>992
こんな感じ?

#include "gdi32.as"

screen 0, 150, 50
screen 2, ginfo_dispx, ginfo_dispy, 0,,, 600, 400
mref bmscr, 67 ; ウィンドウID2のBMSCR構造体を取得
gsel 0, -1 ; いったん消しておく
gsel 2, -1
wait 50

temp = "DISPLAY"
CreateDC varptr(temp), 0, 0, 0
hdcDesktop = stat ; デスクトップのデバイスコンテキスト

BitBlt hdc, 0, 0, ginfo_dispx, ginfo_dispy, hdcDesktop, 0, 0, $CC0020

DeleteDC hdcDesktop

gsel 2, 1 ; 再び表示
gsel 0, 1

dialog "bmp", 17
if stat {
gsel 2
bmpsave refstr ; ビットマップ保存
}
stop
0995デフォルトの名無しさん2009/11/23(月) 03:21:06
>>994
回答ありがとうございます。
しかし、ファイルを開くダイアログが出てくるだけです・・・

もう少し自分でも考えてみます。
0996デフォルトの名無しさん2009/11/23(月) 03:22:49
>>994
申し訳ないです!!
できました!!

ご親切にありがとうございましたm(__)m
0997デフォルトの名無しさん2009/11/23(月) 04:10:04
ume
0998デフォルトの名無しさん2009/11/23(月) 14:47:19
t
0999デフォルトの名無しさん2009/11/23(月) 14:48:19
t
1000小倉優子 ◆YUKOH0W58Q 2009/11/23(月) 14:48:25
1000ならジュースでも飲むか
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。