|
Проверка введенных данныхDate: 2015-10-07; view: 342. Чтобы быть уверенным в правильности вводимых данных, необходимо проверить содержимое введенной строки, когда она должна представлять числовое значение. Встроенная функция 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
|