- 締切済み
0での割り算
電卓を作っており、テキストボックスには数字しか入力できないようにしています。そこで、0で割り算をした場合だけテキストボックスに「0で割ることはできません」と表示したいのですが、どのようにしたらよいでしょうか? 計算は計算専用の関数を作って使用しています。 イメージとしてはWindowsの電卓のような感じです。 使ってるのはVB6.0です。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- khazad-lefty
- ベストアンサー率44% (296/668)
Windowsの電卓はテキストボックスに直接数値を入れているわけではないですね。 自分なら発想を変えて、そういう場合はテキストボックスを消して別に用意したラベルか何かを表示します。「そういう風に見える」
- pick52
- ベストアンサー率35% (166/466)
>>imogasiさん > 文字列入力・表示用で、プロパティにも数字しか許さないというものは無いと思うから、プロパティの問題でもないと思う。 数値だけを入力可能なウィンドウスタイルはありますよ。 (ES_NUMBER=&H2000) まあ、小数点でさえ入力できなくなるんですけど。 質問の意図がよく分かりません。 MsgBox使ってエラーメッセージ表示するだけでは不十分なのでしょうか。
- imogasi
- ベストアンサー率27% (4737/17069)
この質問は (1) >テキストボックスには数字しか入力できないようにしています のに「0で割ることはできません」と表示したい矛盾のことを 言っているのか それなら、エラー表示の場合は、数字しか許さないチェックルーチンを流れないようにすれば良いと思うが。テキストボックスはもともと 文字列入力・表示用で、プロパティにも数字しか許さないというものは無いと思うから、プロパティの問題でもないと思う。 (2)>計算専用の関数を作って使用しています。 この関数は自作のもの?。出来合いものの?。 こちらとのインターフェイスの問題だとすれば、その詳細を知らないとなんともいえないが、自作ルーチン内で判別して、除数0を先回り検知して、0で割り算を防げないのでしょうか。
- g_liar
- ベストアンサー率52% (382/728)
質問者さんがどんな方であれ、電卓なんて簡単なものを作ってると言うことはプログラミングの勉強中であると思います。 よって、そのものズバリの答えは書きません。 やりたいことがハッキリしているのですから、あとはそれをプログラミング言語(=VB)に置き換えるだけです。 やることは以下の3つ。 判定(割る数が0かどうかを判定します) メッセージ表示(テキストボックスにメッセージを代入します) 計算処理の中断(継続したら0での割り算を実行してしまいますので中断します) では、頑張ってください。
補足
要するに、VB6.0でWindowsの電卓の動きと同じものが作りたいのです。 Windowsでは0で割るとテキストボックスに「0で割ることができません」と表示されます。なので、MsgBoxではなくテキストボックスに表示させたいのです。