- 締切済み
VBで電卓の=
VisualBasicで電卓を作っています。 それで11桁数字を入力すると”数字は10桁まで”と表示されるようにする事と=がちゃんと機能するようなコードが知りたいんです. 基本的なことしか習っていないのでC言語はわかりません。 とても困ってます。教えてください。 (^人^)お、ね、が、い
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
フォームにテキストボックスを2つ、コマンドボタンを5つ貼りつけ。 Text2は答え表示用。ボタンは演算子用+-*/と=用で、キャプションをそれぞれそれらにします。 Public c, a Private Sub Form_Load() Text1.Text = "" End Sub '------ Private Sub Command1_Click() a = Text1.Text Text1.Text = "" c = 1 End Sub '------- Private Sub Command2_Click() a = Text1.Text Text1.Text = "" c = 2 End Sub '-------- Private Sub Command3_Click() a = Text1.Text Text1.Text = "" c = 4 End Sub '-------- Private Sub Command4_Click() a = Text1.Text Text1.Text = "" c = 3 End Sub '--------- Private Sub Command5_Click() b = Text1.Text Text1.Text = "" '----- Select Case c Case 1 x = Val(a) + Val(b) Case 2 x = Val(a) - Val(b) Case 3 x = Val(a) * Val(b) Case 4 x = Val(a) / Val(b) End Select Text2.Text = x a = "" c = 0 End Sub '------ Private Sub Text1_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case Asc("0") To Asc("9") If Len(Text1.Text) > 11 Then MsgBox "11桁オーバー" End If Case 127, 8, 10, 13 Case Else MsgBox "数字でない" KeyAscii = "" End Select End Sub
- todo36
- ベストアンサー率58% (728/1234)
>コードが知りたい ネットでサンプルを探せばいいでしょう。 VBHelperさんの Build a calculator とか
- ginyou
- ベストアンサー率32% (138/431)
1)まず=を認識したいという事は「Enter」を=の代わりにしたいという事ですよね。 これは1文字取得した時にchr$(13)が「Enter」の内部コードです 2)数字は10桁までというのは、1文字づつキー入力して、例えばcountという変数に+1します、この変数を10以上はエラーとします。 ちなみにDELは-1とします。
- taknt
- ベストアンサー率19% (1556/7783)
>基本的なことしか習っていないのでC言語はわかりません。 VBは C言語ではなく Basicです。 入力の仕方は、どうやってるのかな? 入力された文字数をチェックすればいいと思います。 普通は、キー入力のイベントで 入力された文字をチェックし、表示、処理をさせるはずです。 その時に入力して表示できた文字数をカウントしておけば 問題ないはずです。
- how-do-you-do
- ベストアンサー率56% (59/104)
Private Sub Text1_Change() Dim i As Long i = Len(Me.Text1.Text) If i > 10 Then MsgBox("数字は10桁まで", vbExclamation) Me.Text1.Text = Mid(Me.Text1.Text, 1, Len(Me.Text1.Text) - 1) SendKeys ("{END}") End If End Sub Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = Asc("=") Then MsgBox "= です" End If End Sub