WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:数値データを取り出す方法を教えて!

0:[投稿] Toshi [MAIL] [2003/03/10 20:02 ][環境:IE6、WIN2000 わかりません]

はじめまして。Toshiといいます。
こちらで投稿していい内容かどうか迷ったのですが、いろいろなサイト検索の結果知りたい事がどうしても分からず、こちらの運営方針?がとてもいいと感じたので思い切って投稿してみることにしました。JavaScriptの作成に関しての質問なのですがよろしくおねがいします!

質問内容はタイトルの通りで、先ず、具体的に何をやりたいかをいいますと、入力された任意の数の漢字のそれぞれの”画数”を表示させるようにしたいのです。

それで今現在、入力された漢字を画数データ表に照らし合わせて画数を出し、この数値データを変数iにまとめて格納してある状態になっているのですが(既にここまで出来上がっているスクリプトをもらっただけで私が作ったのではないです)、この変数iから”入力した漢字の数文”だけ数値データを取り出して別々の変数に格納したいのです。すごく面倒臭い処理になってますが・・・・
分かりにくいですか?
例えば:調布太郎(調=15 布=5 太=4 郎=9)
と入力すると変数iに:15549(それぞれの画数)
という数字が代入されます
この変数iから:a=15  b=5  c=4  d=9
という具合に取り出したい訳です。
一応、以下にこのへんの処理をしているスクリプトを添付させていただきますので、よろしくご教授のほどおねがいしたいのですが、場違いではなかったでしょうか?

function TSeimei_iGetKakusu(asTable, cChar)
{
    var i = 0;
    if(cChar == "")
        return 0;
    i = asTable.length - 1;
    while(i >= 0 && asTable[i].indexOf(cChar) == -1)
        i--;
    return i + 1;
}


1:[回答] Yachimata [MAIL] [2003/03/11 11:46 ]

こんにちは。
Yachimataです。

asTable や cChar にどのような引数が渡されるのかわからないので TSeimei_iGetKakusu の動きが良く分からず、コメントし難い感じですね。

TSeimei_iGetKakusu をどんな引数で、どんなタイミングで使っているか等も提示して頂ければ幾分かは考え易いかもしれません。


2:[回答] ちゃいぱ [2003/03/11 11:50 ]

>例えば:調布太郎(調=15 布=5 太=4 郎=9)
>と入力すると変数iに:15549(それぞれの画数)
>という数字が代入されます
>この変数iから:a=15  b=5  c=4  d=9

デリミタ等がないと、無理のような気がします。


3:[回答] Toshi [MAIL] [2003/03/11 17:15 ]

Yachimataさん、ちゃいぱさん、はじめまして!
さっそくご返答くださってありがとうございます。嬉しいです。
情報が不十分でゴメンなさい。
もう一度お願いします!!!

TSeimei_iGetKakusuの呼び出しは以下の通りで、
sSei:入力漢字の姓の部分"調布太郎"→sSei="調布"
cCh:入力漢字"調布太郎"のうち姓のcCh="調布"が代入
asKakusu:画数対応表の全ての漢字情報
になっているみたいですが、このスクリプトが何をしているのかといわれると、なにぶんにもスクリプトを始めて3日しか経っていないので自信ありませんが姓の画数を算出しているようです。

function TSeimei_vAnalyze(sSei, sMei, asKakusu, asComment, asUnsuName, afPoint)
{
var cCh;
var i = 0;
while((cCh = sSei.charAt(i)) != "")
{
    this.asSei[i] = cCh;
    this.aiSei[i++] = TSeimei_iGetKakusu(asKakusu, cCh);
}
}


また、前記0:[投稿]に提示したスクリプトの変数は以下のようになっているみたいです。

cChar:入力された漢字情報 <ex.>cChar="調布太郎"

asTable:画数対応表の全ての漢字情報(var asKStr = new Array();)
<ex.>一ノ乙く,二丁乂乃了人,三下上丈万,四丑不与中丹,・・・・
(カンマで区切られていて左から0番、1番、2番・・・29番)

asTable[i]:画数対応表の漢字情報のうちi番目に該当する漢字列
<ex.>もし入力漢字が"調布"ならば、"調"の含まれる漢字列の全ての漢字(14列目+1=15画)と、"布"の含まれる漢字列の全ての漢字(4列目+1=5画)

これで十分な情報であるのか疑問が残るところですがどうぞよろしくお願いします!


4:[回答] ちゃいぱ [2003/03/12 09:13 ]

漢字一文字づつ、処理したらどうでしょうか?


5:[回答] Yachimata [MAIL] [2003/03/12 10:16 ]

同感です。

ある漢字の画数を求める関数が既にあるわけですから、一文字ごとに処理を行って、結果を配列に入れておく等の方法を用いれば求める結果が得られるかと思います。


6:[回答] Toshi [MAIL] [2003/03/12 11:54 ]

ご提案を参考にして今から考えてみます。
できる限り自己努力して頑張ってみますが、またどうしても進まなくなったらまた投稿させていただいていいでしょうか?
もし解決した場合もご報告させていただきます。
ご多忙の中、ありがとうございました!取り急ぎ・・・

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World