Реферат: Калькулятор на VB - это легко

End Sub

Пользователь будет вводить число с клавиатуры используя клавиши с цифрами, клавиши с точкой, а для перемены знака числа клавишу +/=. Редактировать число с помощью клавиш Backspaceи Пробел. Данные действия оперделим в коде процедуры Form _ KeyPress () , используя замечательный аргумент этой процедуры - KeyAscii .

Поэтому если знать (или узнать) Ascii-коды клавиш, то понимание этой процедуры не займёт много времени:

Private Sub Form_KeyPress(KeyAscii As Integer)

Select Case KeyAscii

Case 8

udalit_Click

Case 42, 43, 45, 47 ' теперь стало ясным почему индексы

Operacia_Click (47 - KeyAscii) ' следуют не по порядку?

Case 61 ' меняем знак

Plusmin_Click

Case Is > 47 ' вводим цифры

If KeyAscii < 58 Then knopka_Click (KeyAscii - 48)

Case 32 ' а здесь пробелом "чистим" табло

ochistka_Click

End Select

End Sub

Данная процедура не позволяет отлавливать нажатие «точки», так как Ascii-коды «точки» на малой цифровой клавиатуре отличны при разных раскладках. Напишем соответствующий код в следующей процедуре.

Исход будет!

Однако мы до сих пор не указали заменители кнопок "сброса в первоначальное состояние" и "равно". Для первого случая сложность заключается в придумывании клавиши, а для другого - способа "отлавливания" нажатия клавиши (я думаю ни у кого не возникнет сомнения в том, что нажатие клавиши Enterбудет соответствовать щелчку по кнопке равно).

Сбрасываем в начальное состояние клавишей Delete:

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)

IfKeyCode = 46 Thensbros_Click

' поскольку значения "точки" малой цифровой клавиатуры у KeyAscii не одинаковые

' при различных раскладках, то "ловим" её с помощью KeyCode

If KeyCode = 110 Then tochka_Click

End Sub

Поймать нажатие клавиши Enterна кнопке можно следующим образом. Для этого вначале бросим на форму текстбокс. И спрячем его под границу будущего окна приложения (вначале увеличим высоту, затем поместим "туда" текстбокс и зададим высоту формы до её изменения). Изменим лишь свойства TabIndex на 1 и Name на Umno . Как вы уже скорее всего догадались нажатие по этому объекту будет выявлять нажатие клавиши Enter. Поэтомуимеемтакуюпроцедуру:

Private Sub Umno_KeyPress(KeyAscii As Integer)

If KeyAscii = 13 Then Ravno_Click

К-во Просмотров: 559
Бесплатно скачать Реферат: Калькулятор на VB - это легко