(現在 過去ログ74 を表示中)

HOME HELP 新規作成 新着記事 トピック表示 ファイル一覧 検索 過去ログ

No11217 の記事


■11217 / )  半角カナを使わせない
□投稿者/ 悲しげ -(2018/06/23(Sat) 15:18:17)
    2018/06/24(Sun) 09:59:39 編集(投稿者)
    2018/06/24(Sun) 09:44:42 編集(投稿者)

    医薬品名として例えば「ハルシオン0.25mg錠」があったとする。(1)
    これを半角で「ハルシオン0.25mg錠」としてはエラーになってしまう。
    しばしば半角カナで入力してくれる人がいる。(2)
    「ハルシオン0.25mg錠」はOK。(3)

    できれば(3)の形にしたい。つまり、半角カナのみを全角にし、英数字は半角のまま。
    これってかなり面倒ですね。
    過去ログでもたまに話題になってるし、自分も殆ど忘れていたが2005年に力技で作った
    ものをDLコーナー112で上げていたりしている。
    余談ながら何故その年を覚えているかというと、それを上げた直後に、私は1ヶ月ほど
    入院していて、ネット断絶状態になっておりまして。
    退院後しばらくしてから覗いてみたらバグの報告を戴いていて、対応する気力体力もなく
    放置してしまったから。なぜなら当時は田舎の店を畳むことにしてたから。

    閑話休題。

    ともかくこんな力技を使う気にもならないので、この点は次のように対応しようと考えています。
    カナ・英数字に関わらず、テキスト叙述部は強制的に全角に変換してしまう。

    if(#IS半角([当該項目],0)>0)
     行訂正 終了状態=&終了,[当該項目]=#全角([当該項目])
    end

    あるいは入力途中で対処するなら「入力後」イベントで

    手続き定義開始 某テキスト::入力後(参照 文字列 &編集文字列,長整数 &モード,参照 長整数 &入力継続)
     if(#IS半角(&編集文字列,0)>0)
      *確認 "半角文字は使うな" 的にメッセージを出してもいいけど、手抜きで問答無用に
      &編集文字列=#全角(&編集文字列)
      &入力継続=0
     end
    手続き定義終了

    で走ってみるとか(未検証)
    と考えてみたのですが、もっとうまい方法ありませんか?

    ps.
    一部字句訂正
     ×&編集文字数=#全角(&編集文字列)
     ○&編集文字列=#全角(&編集文字列)

    入力後イベントで実働させてみたらエラーが出て気づきました。(^^;)
返信 [メール受信/OFF] 削除キー/


Mode/  Pass/

HOME HELP 新規作成 新着記事 トピック表示 ファイル一覧 検索 過去ログ

- Child Tree -
- Antispam Version -