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

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

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

Re[3]: 全角文字のみ、8文字まで入力可にするには?


(過去ログ 29 を表示中)

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

■13889 / inTopicNo.1)  全角文字のみ、8文字まで入力可にするには?
  
□投稿者/ くま子 (1回)-(2008/02/06(Wed) 11:58:04)

分類:[.NET 全般] 

テキストボックスに全角文字以ガイ入力できないようにする。
入力を、全角8文字までにする。

この2つの処理をするにはどうしたらよいですか。

引用返信 編集キー/
■13890 / inTopicNo.2)  Re[1]: 全角文字のみ、8文字まで入力可にするには?
□投稿者/ Jitta on the way (20回)-(2008/02/06(Wed) 12:02:20)
2008/02/06(Wed) 12:03:26 編集(投稿者)

No13889 (くま子 さん) に返信
> テキストボックスに全角文字以ガイ入力できないようにする。
> 入力を、全角8文字までにする。
>
> この2つの処理をするにはどうしたらよいですか。
>

まず、全角文字とはなにかを明確にしてください。
「A」はだめで「A」ならいい理由はなんでしょう?
本当に、今思っている制限で、望まれている仕様が満足できますか?そこを考えるのが先かと思いま口
引用返信 編集キー/
■13905 / inTopicNo.3)  Re[1]: 全角文字のみ、8文字まで入力可にするには?
□投稿者/ はつね (435回)-(2008/02/06(Wed) 14:03:21)
はつね さんの Web サイト
No13889 (くま子 さん) に返信
> テキストボックスに全角文字以ガイ入力できないようにする。

WindowsアプリかWebアプリかによって実装方法も事となります。
どちらでしょうか。

> 入力を、全角8文字までにする。

VB2005などであれば、8文字という部分についてはLengthプロパティなどで判定はできます。
ただし、「全角」というのが「文字コードが1バイトより長いもの」なのか「MSゴシックなどの等幅フォントでいうところのA」の事なのかとかにより望んだ結果が得られないかも知れません。

以下、私見。
全角8文字という制限はアプリの内部処理に伴う都合であり、利用者に意識してもらうものではないと考えています。
もし本当に全角しか扱わないのであれば、例えば、ABCDEFGHと入れられたとしてもABCDEFGHとどこかのタイミングで自動的に変換してあげたっていいんじゃなかろうかと思うのです。

引用返信 編集キー/
■13920 / inTopicNo.4)  Re[1]: 全角文字のみ、8文字まで入力可にするには?
□投稿者/ くま子 (2回)-(2008/02/06(Wed) 15:56:45)
No13889 (くま子 さん) に返信
> テキストボックスに全角文字以ガイ入力できないようにする。
> 入力を、全角8文字までにする。
>
> この2つの処理をするにはどうしたらよいですか。
>

ーーーーーーーーーーーーーーーーーーーーーーーーー

研修用の課題ででているのですが、
始めたばかりでどうにもわからないのです。

入力できるのは全角ひらがなだけです。
あと、スペースも不可にしたいです。

よろしくおねがいします
引用返信 編集キー/
■13921 / inTopicNo.5)  Re[2]: 全角文字のみ、8文字まで入力可にするには?
□投稿者/ επιστημη (819回)-(2008/02/06(Wed) 16:04:13)
επιστημη さんの Web サイト
> 入力できるのは全角ひらがなだけです。
> あと、スペースも不可にしたいです。

ならば許されるすべての文字を納めた集合を用意しておき、
文字入力のたんびにその集合の中にあるか否かをしらべれば
いいんじゃないすかね?

引用返信 編集キー/
■13922 / inTopicNo.6)  Re[2]: 全角文字のみ、8文字まで入力可にするには?
□投稿者/ Moo (91回)-(2008/02/06(Wed) 16:04:22)
Moo さんの Web サイト
Mooです。
> 研修用の課題ででているのですが、
> 始めたばかりでどうにもわからないのです。
>
> 入力できるのは全角ひらがなだけです。
> あと、スペースも不可にしたいです。

それならRegExとかどうですか?
http://www.google.com/search?sourceid=navclient&aq=t&hl=ja&ie=UTF-8&rls=SUNA,SUNA:2006-20,SUNA:ja&q=IsHiragana
引用返信 編集キー/
■13932 / inTopicNo.7)  Re[2]: 全角文字のみ、8文字まで入力可にするには?
□投稿者/ はつね (436回)-(2008/02/06(Wed) 20:34:47)
はつね さんの Web サイト
No13920 (くま子 さん) に返信
> 研修用の課題ででているのですが、
> 始めたばかりでどうにもわからないのです。

課題どおりの回答であれば、επιστημηさんの回答かな。
でも、もし私が研修を出した側だとすれば、全角8文字の「全角」という部分が利用者の事を考えていないと思いますのでこのような実装にしましたとか回答来たら感動すら覚えるです。




引用返信 編集キー/
■13946 / inTopicNo.8)  Re[3]: 全角文字のみ、8文字まで入力可にするには?
□投稿者/ Jitta on the way (22回)-(2008/02/07(Thu) 07:04:51)
No13932 (はつね さん) に返信
> ■No13920 (くま子 さん) に返信
>>研修用の課題ででているのですが、
>>始めたばかりでどうにもわからないのです。
>
> 課題どおりの回答であれば、επιστημηさんの回答かな。
> でも、もし私が研修を出した側だとすれば、全角8文字の「全角」という部分が利用者の事を考えていないと思いますのでこのような実装にしましたとか回答来たら感動すら覚えるです。

LCMapString API ですね。




当初の質問の、「全角8文字」では、正しくなかったわけですね?
私がその課題をだすなら、実装できるかどうかより、アプリケーションの利用者が行う操作を、どれくらい想像できているかをみたいと思います。
TextBoxのIMEMODEだったかのプロパティと、Lengthプロパティを適切に設定すれば、キーボードからの入力は、ほぼ課題どおりになります。でも、コピー・ペーストで、意図しない入力もされます。
利用者としては「入力制限」ですが、実装者は「入力制限」だけでなく、「入力検査」を行わなければなりません。「入力可にするには?」と考えていると、検査にまで思い至らないでしょう。はつねさんご提案の、「変換」も、「制限」から離れた考え方です。
難しいですね
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -