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


HSPTV!掲示板


未解決 解決 停止 削除要請

2008
0723
BeeStormswitch~swend内の処理を#includeで読み込むには7解決


BeeStorm

リンク

2008/7/23(Wed) 19:26:30|NO.17584

はじめまして。質問させていただきます。


switch a case 1 #include "syori1.hsp" swbreak case 2 #include "syori2.hsp" swbreak swend

のソースを見ていただけると大体やりたいことが想像出来るかと思いますが、
aのそれぞれの数値ごとにする処理が結構長い上に、本当は100ほどの分岐になるため、
その1つ1つの処理を別ファイルにしておきたいです。
ですが、上のソースだとエラーが出てしまうので、頭を抱えているところです。
どうすればうまく動くでしょうか。よろしくお願いいたします。



この記事に返信する


Kpan

リンク

2008/7/23(Wed) 21:41:24|NO.17592

#include命令はそのような書き方はムリです。たとえばこんな感じで。


goto *main #include "syori1.hsp" #include "syori2.hsp" *main switch a case 1 ; syori1.hsp に *syori1+return gosub *syori1 swbreak case 2 ; syori2.hsp に *syori2+return gosub *syori2 swbreak swend



BeeStorm

リンク

2008/7/23(Wed) 21:49:15|NO.17593

gosubで飛ばすという手がありましたか!
とても参考になりました。
ご教授いただきありがとうございました。



tara

リンク

2008/9/18(Thu) 16:40:23|NO.19539

もう解決しているかと思いますが、便乗で質問させて下さい。
当方HSP3.1を使用しております。経験は駆け出しでございます。

Kpan氏のレスの記述についてですが、
#includeを先に持ってくると、
*mainの処理の前に*syori1及び*syori2の処理が行われてしまいませんか??

私もBeeStorm氏と似たような事をしたくこちらを拝見させて頂いてますが、
上記の現象が起こってしまうので困っております。

私は、


#include "mod_customizebutton.hsp" *main linkbutton gosub "syori3", *syori3 stop *syori3 #include "syori3.hsp" //syori3.hsp内に処理を記述 return

という形で書いているのですが、


#include "mod_customizebutton.hsp" #include "syori3.hsp" *main linkbutton gosub "syori3", *syori3 stop

といった形でsyori3.hsp内のラベル*syori3に行くことも可能なのでしょうか?
宜しくご教授下さい。



SYAM

リンク

2008/9/18(Thu) 17:01:53|NO.19540

お手軽なのは、インクルードされる側のスクリプトが、一番最初にそのスクリプトファイルの最後まで goto でスッ飛ぶようになってることでしょう。



tara

リンク

2008/9/18(Thu) 17:09:13|NO.19541

なっるほど!
自分の頭の固さに嫌気差しちゃいますね(汗)
非常にすっきりできました!
ありがとうございます!



f(浮気中)

リンク

2008/9/19(Fri) 06:44:28|NO.19568

ちなみに自分はこう書くな。

*hspmain gosub *init // 初期処理 gosub *main // 主処理 gosub *term // 終了処理 end #include "........ #include "........ ..... *init ..........



tara

リンク

2008/9/19(Fri) 16:38:15|NO.19573

なるほど、整理されていてとても見やすいですね!
ラベルの階層を深くするというのは思いつけませんでした。
ありがとうございます!



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