![]() |
|
Модераторы: Akina |
![]()
|
|
| vdekameron |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 15.12.2014 Репутация: нет Всего: нет |
В VB нужно сделать запрет на ввод любых данных , кроме чисел. До этого пользовался IsNumeric. А сейчас не подходит, так как эта функция блокирует дробные числа, разделенные точкой, считая их не цифрой. А у меня в проекте для удобства пользователей дробные можно вводить с точкой или с запятой. Заранее спасибо!
|
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 454 |
Первый вопрос - когда выполняется проверка? при каждом изменении поля или только при потере фокуса?
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| vdekameron |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 15.12.2014 Репутация: нет Всего: нет |
Вводится значение в текстовое поле и когда нажимается на кнопку, идет проверка. Т.е. получается при потере фокуса
|
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 454 |
Ну так пишите в методе потери фокуса код валидации введённого значения. Если валидация не прошла - выбрасывайте сообщение и возвращайте фокус на поле ввода.
Валидация-то получается элементарная. Копируем введённый текст в переменную, заменяя запятую на точку (или наоборот - зависит от региональных установок). Проверяем переменную на Isnumeric. Всё. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| vdekameron |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 15.12.2014 Репутация: нет Всего: нет |
Ой а можно для особо одаренных)) Дело в том что я с VB на вы и шепотом((( Поэтому эти все терпины-валидация и т.д. мне не знакомы((( Можно более простым языком пожалуйста
|
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 454 |
Ну типа
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| vdekameron |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 15.12.2014 Репутация: нет Всего: нет |
Объясните пожалуйста эти строчки:
просто хочется понять смысл а не тупо копировать и вставлять |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 454 |
http://msdn.microsoft.com/en-us/library/aa...6(v=vs.60).aspx
http://msdn.microsoft.com/en-us/library/aa...3(v=vs.60).aspx http://msdn.microsoft.com/en-us/library/aa...0(v=vs.60).aspx http://msdn.microsoft.com/en-us/library/aa...2(v=vs.60).aspx http://msdn.microsoft.com/en-us/library/aa...2(v=vs.60).aspx http://msdn.microsoft.com/en-us/library/aa...2(v=vs.60).aspx -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| vdekameron |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 15.12.2014 Репутация: нет Всего: нет |
Что такое Isnumeric я знаю и уже разобрался с Mid. Что делает Cstr ??? не могу понять
Неужели все так сложно и нельзя допустим при нажатии на кнопку проверять что находится в текстовом поле((. Может можно обойтись без этих потерь фокусов |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 454 |
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| vdekameron |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 15.12.2014 Репутация: нет Всего: нет |
Сайт я не ленюсь прочитать. Англ. плохо знаю , пошел в настройки языка сайта, изменил на русский написали что данная страница не доступна на русском.
Написано что возвращает строковую переменную! Ну и что? я хочу понять смысл строки
Например при
Это я понял. Но что тут делает Cstr(1.1) Сайт я не ленюсь прочитать. Англ. плохо знаю , пошел в настройки языка сайта, изменил на русский написали что данная страница не доступна на русском. |
||||
|
|||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 454 |
Берёт ЧИСЛО 1.1 и преобразовывает его в СТРОКУ. При этом использует региональные настройки текущего пользовательского профиля. А потом Mid берёт из результата 1 символ, начиная со 2-го символа получившейся строки. Что именно он берёт и нахрена - ну уж попробуй догадаться... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| vdekameron |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 15.12.2014 Репутация: нет Всего: нет |
Akina, Спасибо что не послали! И за потраченное время! Разобрался. Вот как бы я объяснил :- Cstr(1.1) показывает что 1.1 это строка, т.е. "1,1" , Соответственно Mid выбирает из 1,1 один символ, начиная со второго, т.е берет "," и присваивает это значение переменной GD(сокращенно). Затем делается выбор GD При GD="," присваиваем переменной BD значение "." И замет когда Text1.text теряет фокус делаем проверку число ли там и тут же меняем точку на запятую.
У меня только 2 вопроса 1)В каком случае отработает ???
2)Почему бы ваш код не записать в таком виде, может я не прав, но мне кажется тогда мы просто избегаем этих выборов и лишних присвоений.
|
||||
|
|||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 454 |
Это на случай непредусмотренной национальной кодировки. Вдруг найдётся умник, который в качестве разделителя влепит, например, символ доллара? Представьте, что код попал на станцию, где установлена аглицкая национальная кодировка. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| vdekameron |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 15.12.2014 Репутация: нет Всего: нет |
Ну вы написали код на все случаи жизни))) |
|||
|
||||
![]()
|
| Правила форума "VB6" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | VB6 | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |