メインコンテンツへスキップ

unicode型 入力文字数の制限

コメント

12件のコメント

  • Tanda

    nkmtさん、

    Unicode型の書式を「30」にすればいいと思いますよ。

    なぜそういう計算になるのかというのは、Unicodeというものが発案された経緯について考察する必要があると思います。

    Unicodeが登場した当初は、半角・全角という概念を取り払おうというのが趣旨でした。したがって、全角の漢字であろうと半角のカタカナであろうと1文字は1文字で扱おうということになったわけです。

    ところが、その後何年かたって、やっぱり昔のように半角カナは半角カナで存在してほしいという声が盛り上がってきて、この時点で半角カナが復活したわけです。

    したがって、Magicでは文字型60をUnicodeに変換すると、当初の思惑通りUnicode60に変換されるのですが、この時にカナも60文字入力できるようになったわけです。

    その後、Unicodeに半角カナというものが復活するようになってしまって、その計算でいくと、60文字のUnicodeは結果として半角カナで120文字入るという動きになってしまったわけです。

    したがって、nkmtさんの望みの動きに戻そうと言うのなら、Unicode60を元のようにUnicode30(漢字で30文字)に戻してやればいいわけです。

     

  • nkmt

    tanda様 いつもありがとうございます。
    文字数を余計に入力出来なくなるのでいいと思いました。
    ですが文字型 60 の場合、半角 60字、全角 30字の入力が出来ましたが
    unicode 30 にすると、全角 30字入力でGoodですが
    半角も 30字の入力になってしまい、お客様からOKをもらえそうにないです。
    建設資材の品名や規格を入力するのですが、商品マスタの商品名を充実させたいとおっしゃってまして。

  • Tanda

    nkmtさん、

    あれっ、nkmtさんは上でこう言っておられますが。。。

    > この項目をunicode型 60へ変更すると
    > 文字型で言う半角120字入力が可能になります。

     

  • nkmt

    tandaさん お世話になっております。
    もう1度1から色々と試してみたいと思います。
    いろんな文字が入力が出来て
    且つ、全角換算 30字(半角 60字)のような入力を目指して。
    お騒がせしましてすみません。

  • Tanda

    nkmtさん、

    Unicodeの歴史をたどれば、なぜそのような2種類のカナコードが存在するのかがよく分かりますよ。

    頑張ってくださいね。

  • nkmt

    最初の投稿は以下を書きたかったわけです。
    文字型の時は、半角 60字(全角 30字)の入力でしたが、
    unicodeにすると全角も60字分入力が出来てしまい 都合が悪い
    という意味でした。

  • Tanda

    nkmtさん、

    繰り返しになりますが、Unicodeは全角・半角という古い概念を無くそうという趣旨で登場しましたので、そのような動きになっているわけです。

    Wikipediaとかを参照されれば、いろいろと歴史的な変遷が分かると思いますよ。

  • Tanda

    nkmtさん、

    仮に、Magic側で勝手に「文字型60」を「Unicode30」に自動変換してしまうと、それはそれでユーザから苦情がくることになりますからね。

  • nkmt

    unicodeだとどちらも60文字なんでしょうけど
    全角なら30字まで、半角なら60字まで入力を可能にする件、なんか試してみます。

  • nkmt

    キャレットポスゲット関数が使えないか試してみます。

  • nkmt

    イベント Lastpark(0)=’品名’ AND CaretPosGet()>=(数値) なら
     次項目イベント実行 みたいな事は機能しましたが
    2度とその項目にパーキング出来なくなりました。
    項目にパーキングすると、キャレットが最後尾に位置付くのでしょうね。

  • nkmt

    先程のCaretPosGetですが
    バイト数ではなく
    文字数で判断しているみたいなので、別の試しをしてみます。

サインインしてコメントを残してください。