Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Чтобы быть уверенным в правильности вводимых данных, необходимо проверить содержимое введенной строки, когда она должна представлять числовое значение. Встроенная функция IsNumeric() возвратит значение True, если строка окажется числом, и значение False, если строка не числовая. Рассмотрим два примера, которые используют эту функцию. В первом – в случае ввода в текстовое окно не числовой информации – на экран выводится сообщение «Ошибка» и фокус ввода остается в этом окне до тех пор, пока не будет правильно заполнено текстовое окно:
Пример 1.
Private Sub Txt1_LostFocus()
If Not IsNumeric(Txt1) Then
MsgBox «Ошибка!»
Txt1.SetFocus
End If
End Sub
Пример 2. Фрагмент программы не позволяет вводить нецифровые символы. При этом знак «+» и «-» могут быть введены только в 1-ю позицию. Оригинальность программы состоит в том, что при вводе данных из буфера обмена вставка может быть только в том случае, если в целом полученная цепочка символов имеет строго цифровое представление.
Private Sub Txt1_Change()
Dim log As Boolean
Static old_dl As Integer
log = Len(Txt1)=0 Or Len(Txt1)=1 And (Left$(Txt1,1) = "+" Or _
Left$(Txt1, 1) = "-")
If log Or IsNumeric(Txt1) Then old_dl = Len(Txt1): Exit Sub
Txt1.SelStart = Txt1.SelStart - (Len(Txt1) - old_dl)
Txt1.SelLength = Len(Txt1) - old_dl
Txt1.SelText = ""
End Sub
Дата публикования: 2014-12-28; Прочитано: 156 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!