Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут
закрыты.
Читайте
требования к создаваемым темам.
-
wertill@
-
- Начинающий
-
-
- Сообщения: 1
- Зарегистрирован: 07.11.2005 (Пн) 23:18
wertill@ » 07.11.2005 (Пн) 23:24
Подскажите пожалуйста как мне обеспечить возможность введения в текстовое окно только числовой информации (и знака разделителя - "точки"). Остальные же значения не должны вводиться. У меня есть некоторые идеи, но я не знаю чем закончить:
If Not ((KeyAscii >= 48 And KeyAscii <= 57) Or KeyAscii = 46) Then...
ЗАРАНЕЕ БЛАГОДАРЕН!!!
-
GSerg
-
- Шаман
-
-
- Сообщения: 14286
- Зарегистрирован: 14.12.2002 (Сб) 5:25
- Откуда: Магадан
GSerg » 07.11.2005 (Пн) 23:42
Rodos
Худший способ.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас
-
dr.MIG
-
- Гуру
-
-
- Сообщения: 1441
- Зарегистрирован: 18.12.2004 (Сб) 9:53
- Откуда: г.Ярославль
-
dr.MIG » 08.11.2005 (Вт) 17:55
Ещё один очень плохой способ...
Контрол. Свойство IgnoreThisSymbols.
- Вложения
-
- ua_super_textbox.rar
- Контрол
- (58.32 Кб) Скачиваний: 42
Salus populi suprema lex
-
KVG
-
- Начинающий
-
-
- Сообщения: 8
- Зарегистрирован: 22.04.2005 (Пт) 5:57
KVG » 10.11.2005 (Чт) 7:10
- Код: Выделить всё
Private Sub txtMy_KeyPress(ByVal KeyAscii As Integer)
If Chr$(KeyAscii) Like "#" = False Then
If KeyAscii = 44 Or KeyAscii = 46 Then
If InStr(txtMy.Value, ".") > 0 Or InStr(txtMy.Value, ",") > 0 Then _
KeyAscii = False ' чтоб не ввели несколько "." или ","
Else
KeyAscii = False
End If
End If
End Sub
Хорошо бы в "hkey_current_user\Control Panel\International" с помощью RegQueryValueExA (из ADVAPI32.DLL) взять десятичный разделитель ("sDecimal")
-
Vladimir!
-
- Обычный пользователь
-
-
- Сообщения: 88
- Зарегистрирован: 19.09.2005 (Пн) 21:47
- Откуда: Пермь
Vladimir! » 10.11.2005 (Чт) 13:15
andreymp
Ошибочка вышла. Меняешь не запятую на точку, а наоборот.
В твоем примере:
If KeyAscii = 46 Then
KeyAscii = 44
End If[/syntax]
-
Alexander N. Samarin
-
- Постоялец
-
-
- Сообщения: 397
- Зарегистрирован: 05.03.2005 (Сб) 20:59
- Откуда: Интернат 18 (СУНЦ МГУ), комната 214А, кровать посередине
-
Alexander N. Samarin » 11.11.2005 (Пт) 17:15
Кто сможет хуже?
if (chr$(Keyascii) <> "0") and ... and (chr$(Keyascii) <> "9") and (chr$(Keyascii) <> ".") then
msgbox "..."
keyascii = 0
end if
На это не смотрите! Это не подпись!!!!!!
Вернуться в Visual Basic 1–6
Кто сейчас на конференции
Сейчас этот форум просматривают: AhrefsBot, Google-бот, SemrushBot и гости: 36