C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: 入力値判定、処理


(過去ログ 19 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■7825 / inTopicNo.1)  入力値判定、処理
  
□投稿者/ おなかが痛い (2回)-(2007/09/17(Mon) 01:25:27)

分類:[ASP.NET (C#)] 


ASP.NETC#でのアプリ開発です。

例えば
「がっこう」という文字だとgakkou gaxtukou galtukou と多分三パターンあると思います。
がっこうという文字を表示しこの三パターンどれでも入力させるようにしたいんです。

自分の考えでは「が」は配列[100][1] 「っ」は[150][1]と[150][2]などltu とxtu などの二つで //100とか150は適当です。
一つ一つの文字を配列にし相手の入力文字と一致していたら次の文字に進めて入力させるよう
考えました。でも「っ」だけは他にもがっこうなら「kko」などとかなり複数次の文字により
変わって複数出てくると思います。この箇所の考え方が分かりません
どのように 「っ」を考えて処理をしたらいいのでしょうか
お願いします
引用返信 編集キー/
■7834 / inTopicNo.2)  Re[1]: 入力値判定、処理
□投稿者/ 774RR (38回)-(2007/09/17(Mon) 19:01:50)
正直何にこまっているのかわからんのだけど、逆に考えよう

「がっこう」を、かな→ローマ字に変換しようとするから何通りも答えが出てくるわけで、
入力されたローマ字を、ローマ字→かな変換に通して「がっこう」になれば正解。
でいいんぢゃないかな。

ローマ字→かな変換のロジックぐらいは自分で作ってクレイパペット。

引用返信 編集キー/
■7858 / inTopicNo.3)  Re[1]: 入力値判定、処理
□投稿者/ PATIO (14回)-(2007/09/18(Tue) 11:38:26)
No7825 (おなかが痛い さん) に返信
> 考えました。でも「っ」だけは他にもがっこうなら「kko」などとかなり複数次の文字により
> 変わって複数出てくると思います。この箇所の考え方が分かりません
> どのように 「っ」を考えて処理をしたらいいのでしょうか

同じ子音が重なるケースに関してはテーブルでもって検査するようなパターンじゃなくて
単純に同じ子音が二回続けて出てきたら詰まる音になるという考え方で良いのでは?
全てをテーブルで処理する必要はないのではないかなと。
恐らくありえないような組合せの入力をしたらローマ字入力の段階で入力拒否をするような
ものを考えているんでしょうねぇ。アルゴリズムは難しくなさそうだけど、
処理がめんどくさそうなのと実際の入力時のレスポンスが悪くならないのかなと思ったり。

引用返信 編集キー/
■7906 / inTopicNo.4)  Re[1]: 入力値判定、処理
□投稿者/ ひろ (34回)-(2007/09/19(Wed) 12:00:25)
No7825 (おなかが痛い さん) に返信

これはスレ主さんの考え方一つでがらりと変わる訳ですが…

> 一つ一つの文字を配列にし相手の入力文字と一致していたら次の文字に進めて入力させるよう考えました。

というスレ主さんの言葉を信じて考えてみます。

APSP.NET で「これ」やるんでしたよね。
すると、テキストボックスに何か入力される度に Postback しないと判定できないと思われますが、どうでしょうか。

「がっこう」と入れさせるんですよね?

しかも、「1文字(ここで言っているのはひらがな1文字を指している)単位にチェックする」んですよね?

こんな動きになるのでは?

@最初、「g」が入力されて Postback
→ひらがな該当無し

A次に「a」が入力(この時点でテキストボックスは「ga」になっている)されて Postback
→ひらがなの「が」に該当



てな具合かな。
当然、事前にローマ字入力文字とひらがなの変換があったり、お題とのチェックがあったり、
認識された場合はテキストボックスの内容が初期化されたりとか、他にも色々考えなくては
逝けないことが多い訳ですが、その辺は横に置いておきましょう。

でね、ここが問題。
「kko」って入力は、「っこ」な訳ですよ。
2文字なんですよ。
そうすると、「1文字づつ判定する」っていう前提条件が崩れるんですよ。
ここが曖昧なんですよね。
「1文字づつ判定していく」と言っておきながら、2文字入力を許すっていう考え方が。

だから、

・「っ」の入力は。「ltu」もしくは「xtu」のみとする仕様
・「ttu」の入力を認めるならば、1文字単位でのチェックという仕様は無し

かな〜っと。

まあ、ASP.NET でやったら負荷が心配ですが。


引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -