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


HSPTV!掲示板


未解決 解決 停止 削除要請

2014
0411
koyamesboxなどについて6未解決


koya

リンク

2014/4/11(Fri) 16:26:55|NO.61509

まず私が作りたいものは、
1,
たとえばmesboxのどこかの行に HSP という文字が入っていたら、
ボタンを押したときにdialogを出すというようなものです。
2,
mesboxの中に HSP という文字があり、その横にスペースで、あいうえ という
文字があれば メッセージを出す見たいのを作りたいです。
HSPの命令でたとえると、
mesboxの中に mesという命令があったらその横の "〜"までの文字を読み取り、
表示するみたいな感じです。


私は、一度 mesboxの内容をnotesaveして、それを読み込んで
notegetで....
と考えましたが無理でした。



この記事に返信する


(’’

リンク

2014/4/11(Fri) 17:23:02|NO.61510

正規表現を使えば全て出来ます。
特に2番は正規表現以外だと面倒なので正規表現を導入するのをおすすめします。

mesboxの文字変数をstrとすると、
1、 strに"HSP"の正規表現が存在するか
2、 strに"(?=mes\\s)\\S*〜"で検索



KA

リンク

2014/4/11(Fri) 18:29:10|NO.61511

力業です
1)ボタンを押したら中身の最初の文字を調べる。
2)それがHという文字で無ければ次の文字を調べる。
3)その文字が最後から2番目なら「おわり」
4)次がSかどうか調べる、Sじゃなかったら2に戻る。
5)次がPかどうか調べる、Pじゃなかったら2に戻る。
6)ダイアログを出して「おわり」

>>HSP という文字があり、その横にスペース
上記の応用で可能です。

ただし 鉄腕DASHSPECIAL なども対象になる上、文字コード
の問題も有ります。

対象の文章に規則があるのかどうかで、正規表現が良いのか
上記の力業の方が良いのか変わってきます。



YSR

リンク

2014/4/11(Fri) 19:45:56|NO.61516

 そもそもmesboxに入力した内容はmesboxの引数に指定した変数に既に入っています。
なので、文字を検索したければそのままinstr関数で判定するか、
正規表現必須ならmod_regexp.asをインクルードしてmatch関数を使えばいいです。
 1行づつ取り出したいならnote系命令が必要ですが、その場合はmesboxの引数に
指定した変数をそのままnotesel命令で指定すればいいです。いちいちファイルに
保存する必要はありません。
 なお、例えば「mes あいうえお」みたいに複数空白程度しか考慮しなくていいのならば、
strrep命令とsplit命令を使えばいちいち正規表現せずとも「あいうえお」(表示文字列)を
取り出せます。

>KAさん
 HSPに力技させるのは余程のことがない限り無茶です。既存の命令をまずは探しましょう。



(’’

リンク

2014/4/11(Fri) 20:19:49|NO.61518

※訂正
読み違えてました、二番の検索の正規表現は
"(?=mes\\s\")[^\\n\"]*(?=\")"
です。
正規表現は見た目がキモいですが構文を知っていれば割とよく分かれますよ。



KA

リンク

2014/4/12(Sat) 05:31:48|NO.61524

>>HSPに力技させるのは余程のことがない限り無茶です。

無茶なのかな?

他に便利な方法は確かに有りますが、行っている処理自体は
似たような物でしょう。基本的な考え方として力業も有りか
なと思います。それとmesboxで扱う程度のデータ量なら、速
度的にも気にならないでしょう。

「非効率」ですが「無茶」では有りませんよ。



T.T

リンク

2014/4/12(Sat) 10:00:08|NO.61526

要するに下のようなものが作りたいということ?

HSP あいうえお

命令 表示文字列


Script="" *start cls mesbox Script,320,240 button "start!",*set stop *set notesel Script repeat noteget Sosu,Y if strmid(Sosu,0,3)="HSP" : { dialog strmid(Sosu,4,10000) } if Y>noteinfo(0) : break Y++ loop Y=0 goto *start
宣伝のようで悪いですが...

コチラも参考に...http://ttnohp.web.fc2.com/pro.html



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