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


HSPTV!掲示板


未解決 解決 停止 削除要請

2011
0530
さくラベル型配列に大量の違うラベルを代入するとき3解決


さく

リンク

2011/5/30(Mon) 15:29:07|NO.39447

ラベル型の配列変数に
ラベルを代入するときに、ラベルの種類が2,3種類だけなら

ldim label,3 label = *syori1, *syori2, *syori3
のように代入できますが、
ラベルの種類が100以上あるような場合、上のような書き方以外、
もっと楽な代入方法はないのでしょうか? ラベルの名前には規則性があります。

ldim label,100 label = *syori1, *syori2, *syori3, *syori4........ ; 100まで記述しなきゃ駄目?
下の様に書いても、labelが文字列型になってしまう為駄目でした。

ldim label,100 repeat 100 label(cnt) = "*syori" + cnt loop



この記事に返信する


さく

リンク

2011/5/30(Mon) 15:34:34|NO.39448

すみません。追記です。
switch~caseを使って分岐させた場合より、
ラベル変数を使って分岐させた方が、倍以上早かったので、
なるべくラベル変数を使いたく思います。



ひらまる

リンク

2011/5/30(Mon) 16:17:47|NO.39449


ラベル数 = 100 出力 = "" repeat ラベル数 出力 += "ラベル変数( " + cnt + " ) = *ラベル" + cnt + "\n" loop mesbox 出力, 640, 480, 1, 0
こんな感じのを作ればいろいろ応用がきくと思います。
最後の行に

notesel 出力 notesave "ラベル定義.hsp"
などとして、ソースに

#include "ラベル定義.hsp"
を追加する方法など、いろいろ考えられます。



さく

リンク

2011/5/30(Mon) 16:56:55|NO.39451

ひらまるさん回答ありがとうございます。

なるほど、一度文字列を、hspファイルにしてインクルードすれば
ラベルを代入した事になるんですね。
この方法を使わせて頂きます。ありがとうございました!



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