掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
新規入力文字のみを漢字変換の対象にするには? (ID:5922)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
新規入力文字というものがどういうものかによります。 例えば、 今日は と、既に入力されていて、次の入力の後が 今日ははれだ となるのであれば、以前の入力をPrevSなどの変数を用意し、 S := Copy(Form1.Edit1.Text, Length(PrevS) + 1, Length(Form1.Edit1.Text)); PrevS := PrevS + S; とすればよろしいかと思います。 PrevSはローカル変数では駄目ですよ。Form1のメンバ変数か、無理であればグローバル変数に用意する必要があります。 # グローバル変数はおすすめしません。 取得が困難なパターンは、 晴れだ と既に入力されていて、そこに「あしたは」と追加した状態 あしたは晴れだ の場合などを考慮するパターンです。 もっと複雑なパターンもあり得ますよね。 明日は晴れだ と既に入力されていて、 明日のとうきょうちほうは晴れだ。 と打ち込まれたとき、 「のとうきょうちほう」を取得するのは困難です。 これが取得できたとして、次のパターンは判別不可能です。 にわにはにわとりがいる のあとに、「にわ」と打ち込んだ結果、 にわにはにわにわとりがいる という文字列になった場合は、 ・にわにはにわ「にわ」とりがいる ・にわには「にわ」にわとりがいる のどちらなのかを判別できません。 この場合、文字の入力順序、位置などを記録しなければ取得できません。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.