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


HSPTV!掲示板


未解決 解決 停止 削除要請

2014
0401
cats使うことの無い命令、意外に便利な命令18解決


cats

リンク

2014/4/1(Tue) 14:48:08|NO.61161

雑談です。
HSPの標準命令やマクロでほとんど使ったことの無いものや
使ったことが無かったけど意外に便利だったものを教えてください。
■記憶では使ったことがない
run
exgoto
do, until
cnvwtos, cnvstow
noteunsel
libptr
varuse
mcall
#aht
などなど・・・

■最近知って便利そうだと思った
__date__
__time__
#cmpopt
objskip
dup
on

■使い方がわからない
logmes
__file__
xor

■要るの?
print
system



この記事に返信する


T.T

リンク

2014/4/1(Tue) 15:39:04|NO.61164

strtrim関数かな?

プログラムから開く...で渡されるコマンドライン文字列は
"a.txt"のように"で囲まれているのでそれを除去するときに役立つ。



potato

リンク

2014/4/1(Tue) 16:29:28|NO.61165

logmesは便利ですよ。
デバッグログにメッセージが出る命令ですね。
printは自分が使っています。
他の言語はC系以外はprintが多いので書くのが楽です。
また、引数も1しか取らないので、
print("hogehoge")の形でも書けるのがgood.
noteunselは明示的にnotelselを開放する時にしか使わないからあんまり使わないかな。

個人的にはcelload等のcel系命令あんまり使わないなぁ。



cats

リンク

2014/4/1(Tue) 17:00:20|NO.61171

>T.Tさん
strtrimは昔つかってましたが確かに最近はstrmidで代用してます。

>potatoさん
logmesは昔使ってログが残らなかったことがあるのですが、
今試したら使えました。これはかなり便利ですね。
マニュアルにはprintよりmesを使うことが推奨されてますが
何か違うのかな?
cel系は使いませんがサンプルで結構使われてたりしますね。



GOMEKIT!

リンク

2014/4/1(Tue) 17:05:41|NO.61172

skiperr命令。

HSPでエラーが発生してもそのまま無視でき、自作ソフトの開発に役に立つ。



check

リンク

2014/4/1(Tue) 17:21:47|NO.61173

>マニュアルにはprintよりmesを使うことが推奨されてますが何か違うのかな?
printは古い命令で、mesが新しく導入された命令なのでおそらくその違いかと。

もしC言語で使われるprintf関数を使いたい場合、mesとstrfを組み合わせれば概ね再現できる。



cats

リンク

2014/4/1(Tue) 17:36:24|NO.61175

>skiperr命令
HSP2の命令ですか?
便利そうですが、エラーを無視するのは少し怖いですね。
>checkさん
printの方が古いんですか。
c言語これから習うところですが
print(" ")の形にすることに大きい利点はあるんですか?



BNLLEA

リンク

2014/4/1(Tue) 17:43:03|NO.61179

limit命令が便利でした
変数が指定の値を超える(または満たさない)場合
その値を修正してくれます



cats

リンク

2014/4/1(Tue) 17:46:04|NO.61180

>BNLLEAさん
limitはゲーム作るときに良く使います。
でも最近limitfしか使ってない気もします。



check

リンク

2014/4/1(Tue) 17:46:31|NO.61181

>print(" ")の形にすることに大きい利点はあるんですか?
C言語の関数はすべて「関数名(パラメータ1, パラメータ2, ...)」というように
()でくくった中がパラメータだと見なされる。
だが、HSPでは何の意味も持たないはずなので、特に利点はないと思う。



KA

リンク

2014/4/2(Wed) 06:56:21|NO.61224

内部マクロに相当する物は使わない、というか使いたくない。



葡萄色

リンク

2014/4/2(Wed) 10:02:45|NO.61228

__file__マクロはエディター上でプログラムを実行した際、エラーダイアログに出てくるファイル名を表示するために内部で使われてるやつだと思います。



cats

リンク

2014/4/2(Wed) 10:23:05|NO.61230

>checkさん
なるほど。
HSPでは意味ないんですね。
>KAさん
マクロって何かダメなことでもあるんですか?
>葡萄色さん
よく分かりませんがデバッグ中のエラー時に役立つのかな?
???にしかならないです。

#include "hspogg.as" onerror goto *error dmmini mes stfr("%d",) stop *error dialog strf("エラーが発生しました\nファイル名 = %s\nErrNo = %d\nline = %d",__file__ , wparam , lparam ) end
まあ使うことも無いので全く問題無いですが。



KA

リンク

2014/4/2(Wed) 18:56:38|NO.61251

>>マクロって何かダメなことでもあるんですか?

内部で別の命令なり関数に置き換えているだけなので、
それなら最初からその命令なり関数で書いた方が、
覚える数も少なくてやりやすいかと思います。

(あくまで個人的な感想です)



kanahiron

リンク

2014/4/2(Wed) 19:18:23|NO.61258

便利な命令
strf

mes ""+x+"_"+y+"ああ"+z+"こんにちは"
なんてよく書かれるけど
mes strf("%d_%dああ%dこんにちは",x,y,z)
の方がスマートで可読性も高い



YSR

リンク

2014/4/2(Wed) 20:18:04|NO.61265

>NO.61164
 「strtrim」……最近は滅多に使いませんね。便利っちゃあ便利はなずなのですが。>
>NO.61165
 「logmes」はデバッグウィンドウ出してないと使えないのがネックであまり……。
>NO.61258
 「C++よりCの方が書きやすい」って言ってるようで、なんだか奇妙な気分です。
 どちらにせよ、書式を弄るために「strf」は必須ですが。

よく使うのは「split」やモジュール関連の命令です。
特に前者は、文字列を解析する際に恐ろしい威力を発揮します。



cats

リンク

2014/4/2(Wed) 21:55:03|NO.61278

>KAさん
なるほど。別に使う上での問題は無いんですね。
>kanahironさん
前者の記述方式の方が覚えることが少なくて済むと
思って使ってましたが、C言語とか始めるならやっぱり
後者の記述がメインになってきますか。
>YSRさん
splitはよく使います。
最近作ってるゲームやツールの全部にこの命令を使ってる気がするぐらい。
新しく追加された命令だとstrrepが便利だと思いました。



check

リンク

2014/4/2(Wed) 22:56:18|NO.61281

>「C++よりCの方が書きやすい」って言ってるようで、なんだか奇妙な気分です。
というのは、

>mes ""+x+"_"+y+"ああ"+z+"こんにちは"
>mes strf("%d_%dああ%dこんにちは",x,y,z)

この2つは、
C++ : std::cout << x << "_" << y << "ああ" << z << "こんにちは" << std::endl;
C : printf("%d_%dああ%dこんにちは",x,y,z);
この記述方法が各言語で標準の出力方法だとされているからだと思う。
(後者はC++でも使えるが、前者をCで使うことはできない)



葡萄色

リンク

2014/4/2(Wed) 23:06:31|NO.61284

>よく分かりませんがデバッグ中のエラー時に役立つのかな?
>???にしかならないです。
スクリプトを保存すればファイル名が表示されます。



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