Textbox: только цифры

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 11.01.2006 (Ср) 17:27

Кстати, вот чуть поправил процедурку:

Код: Выделить всё
' Отсечение недопустимых символов при вводе в поле
Public Sub CheckKeyPress(KeyAscii As Integer, FieldType As ADODB.DataTypeEnum)
    Select Case FieldType
        ' Контроль ввода целочисленных полей
        Case adInteger, adSmallInt, adUnsignedTinyInt
            Select Case KeyAscii
                Case 48 To 57, Is < 32
                Case 45: If FieldType = adUnsignedTinyInt Then KeyAscii = 0
                Case Else: KeyAscii = 0
            End Select
        ' Контроль ввода полей с плавающей запятой
        Case adCurrency, adDouble, adSingle, adNumeric
            Select Case KeyAscii
                Case 44, 46
                    If KeyAscii <> Asc(Mid$(Format$(1000, "#,0"), 2, 1)) Then
                        KeyAscii = Asc(Format(0, "."))
                    End If
                Case 45, 48 To 57, Is < 32
                Case Else: KeyAscii = 0
            End Select
        ' Контроль ввода полей даты/времени
        Case adDate, adDBTimeStamp
            Select Case KeyAscii
                Case 44 To 47: KeyAscii = Right$(Format$(2, "d."), 1)  ' .,/  ->  .
                Case 58, 59: KeyAscii = Right$(Format$(0, "h:"), 1)    ' ;:   ->  :
                Case 48 To 57, Is <= 32
                Case Else: KeyAscii = 0
            End Select
    End Select
End Sub
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Matew
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 894
Зарегистрирован: 28.06.2004 (Пн) 17:44
Откуда: Дальний Восток, г. Ха

Сообщение Matew » 12.01.2006 (Чт) 6:06

А чем моя процедурка не понравилась? Отвечает на тему поста полностью, можно контролировать любые символы, защищает от копи-пейста. ИМХО для текстбокса подойдет на все 100.
Алкоголь и сканеры-ваши враги! Не верите-смотрите аватару :-)

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 12.01.2006 (Чт) 8:06

Matew писал(а):А чем моя процедурка не понравилась? Отвечает на тему поста полностью, можно контролировать любые символы, защищает от копи-пейста. ИМХО для текстбокса подойдет на все 100.


IMHO защищать от копирования вообще-то смысла вообще нет.

Что юзер копирует (может он хочет скопировать и потом исправить) - его личное дело. Главное ограничить явно неправильный ввод, случайное нажатие клавиш...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Пред.

Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 32

    TopList  
cron