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


HSPTV!掲示板


未解決 解決 停止 削除要請

2010
1211
Ray Alxeds文字列の入れ替え5解決


Ray Alxeds

リンク

2010/12/11(Sat) 17:00:23|NO.36192

HSPで文字入れ替えソフトを作りたいのですが;全くできるのかもわからない状態です。
誰か助けてくれませんか?
自分が作りたいのはメッセージボックスに例えば"holy snow"と入れると
h,o,l,y,s,n,o,w の文字に分けてこの文字で構成される単語を探し出すというものを
作りたいと思っています。上の"holy snow"「聖なる雪」を入れ替えると
"show only"「見せるのみ」と全く違う意味になるよう入れ替えたいのですが、
HSP単独ですとプログラムが死にますので単語テキストファイルか何かに入れて
例に"ilhgt"と入れて検索を押すとテキストファイルから"i,l,h,g,t"を検索して
当てはまる言葉を下に「light」やその他入れ替えてできる単語が
表示されるようにしたいです。(対応は英語だけで良いです)
興味のある方、もしくは作れる方どうか手を貸して下さい。



この記事に返信する


Ray Alxeds

リンク

2010/12/11(Sat) 17:05:39|NO.36193

すみませんミスです
×:HSP単独ですとプログラムが死にますので単語テキストファイル...
○:HSP単独ですとプログラムが死にますので単語をテキストファイル...



hexa.hemi

リンク

2010/12/11(Sat) 17:33:48|NO.36194

興味があったので作ってみましたがこんなもんですか?
tango.txtは

show only
hsp
narabikae

のように改行で言葉を入れてください。

スクリプト↓

//別途tango.txtを用意しておいてください。 tango = "" notesel tango noteload "tango.txt" tng = "" input tng, 100, 20, -1 button "検索", *search stop *search repeat noteinfo(0)//検索する言葉の数だけループする buf = "" noteget buf, cnt//単語の取得 if strlen(buf) = strlen(tng) {//文字数が一致しているか判定 dim index, strlen(buf)//indexの配列用意(重複しないようにするため) ser = 0//検索するindex ok = 1 repeat strlen(buf)//検索する cc = cnt swd = strmid(tng, cc, 1)//一文字抜き出す(この文字を検索する) index(cc) = instr(buf, ser, swd)//文字が入っているか判定 ser = 0 if index(cc) < 0 : ok = 0 : break//入っていなければ次の単語 repeat cc//indexが重複していないか判定する wait 0 if index(cc) = index(cnt) : ser = index(cnt) : break loop if ser != 0 : continue cc//indexが重複していたら重複しないようにもう一回検索 loop if ok : mes buf//並び替えで一致していれば表示 } wait 0 loop mes "-------"//処理終了のしるし stop



ORZ

リンク

2010/12/11(Sat) 17:35:19|NO.36195

君の文化的かつ大変抽象的な作風には興味があるが、物語の終わり方がいただけない。
「僕の代わりに入力した文字のアナグラムを出すプログラムを作ってください」という風に
書き直せばスマートだ。



Ray Alxeds

リンク

2010/12/11(Sat) 17:48:33|NO.36196

お二人方有難うございます。参考になりました。



hexa.hemi

リンク

2010/12/11(Sat) 18:03:50|NO.36197

追記


strmid(tng, cc, 1)


peek(tng, cc)
に、

index(cc) = instr(buf, ser, swd)


index(cc) = -1 repeat strlen(buf) - ser if peek(buf, ser + cnt) = swd : index(cc) = cnt//文字が入っているか判定 wait 0 loop
にすることによって日本語も検索できます。



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