ひとりでんたく。- Visual Basic で電卓つく~る。その1 -←前回。
前回のあらすじ。
こんなペースで間に合うのかな?
前回は、計算結果や入力した内容などの表示するモノを格納するプロパティとして、DisplayText プロパティ をつくりました。それだけです。(←こっちがあらすじ。)
じゃ、つぎー!
数字のとこつく~る!
というわけ(?)で、数字入力のとこをつくります。入力する数値を引数で受け取って処理するって感じかな?Calculator クラスに InputNumber メソッドを追加しました。
Public Sub InputNumber(ByVal number As Decimal)
End Sub
さてさて、InputNumber メソッドの中身を・・・のその前に!
なんでもかんでも入力されたらこまるぢゃん!
なので、入力していい数値はちゃんと把握しておかないと・・・。入力していい数値は、
1, 2, 3, 4, 5, 6, 7, 8, 9, 0
ですね。なので、こんなの用意してみました。
Private Shared _validInputNumbers As Decimal() = {1D, 2D, 3D, 4D, 5D, 6D, 7D, 8D, 9D, 0D}
Public Shared ReadOnly Property ValidInputNumbers() As System.Collections.ObjectModel.ReadOnlyCollection(Of Decimal)
Get
Return New System.Collections.ObjectModel.ReadOnlyCollection(Of Decimal)(Me._validInputNumbers)
End Get
End Property
この ValidInputNumbers プロパティ をつかって有効な入力値かどうか判断するようにしちゃいますね。
で、電卓で、たとえば1→2→3と入力すると、0が表示されていたのが1になり、12となり、123となるわけですので、こんな感じ↓になりました。
Public Sub InputNumber(ByVal number As Decimal)
If Not Calculator.ValidInputNumbers.Contains(number) Then
Exit Sub
End If
If Me.DisplayText = "0" Then
Me.DisplayText = number.ToString
Else
Me.DisplayText &= number.ToString
End If
End Sub
というわけで、今回はここまで。こなくそー!!
はぁ・・・今日も湿度たか~い。