|
Запрет несколько символов в поле
|
|||
---|---|---|---|
#18+
Всем добрый вечерь! Есть задача. Есть поле называется "Поле1" Я хочу сделать так что бы пользователь при наборе или при вставление из буфер обмена, автоматический не вставляйся некоторые символы. (которые не допускают в название папках) Вот у меня есть пример на один символ: Код: vbnet 1. 2. 3. 4. 5. 6. 7.
Может кто то знает как будет код на несколько символов... Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2016, 17:57 |
|
Запрет несколько символов в поле
|
|||
---|---|---|---|
#18+
Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2016, 18:44 |
|
Запрет несколько символов в поле
|
|||
---|---|---|---|
#18+
Abisma2008, Повторите несколько раз Replace с разными символами, ну или так: Код: vbnet 1. 2. 3. 4.
Akina, Split в данном случае работает так же, как и Replace - будет искать в качестве разделителя всю строку WrongChar, а не каждый символ в отдельности ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2016, 05:21 |
|
Запрет несколько символов в поле
|
|||
---|---|---|---|
#18+
MrShin, Akina Доброе утро! Не работает оба пример! Или я чего то не так делаю( ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2016, 09:02 |
|
Запрет несколько символов в поле
|
|||
---|---|---|---|
#18+
Abisma2008, Что именно не работает в моем примере? Я его взял из полностью рабочей функции, которая заменяет запрещенные символы для имени файла. Сюда только не попало strNewChar="_", в вашем случае это будет пустая строка - "" ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2016, 09:33 |
|
Запрет несколько символов в поле
|
|||
---|---|---|---|
#18+
MrShin, Спасибо за быстрый ответ! Вот что у меня получилось: Код: vbnet 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2016, 09:41 |
|
Запрет несколько символов в поле
|
|||
---|---|---|---|
#18+
Должно быть как-то так: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
В вашем примере вы ничего не делаете с текстом поля. И я настоятельно рекомендую в опциях VBA редактора поставить галочку Require Variables Declarations, это обеспечит автоматическое добавление выражения Option Explicit в начало каждого модуля, в существующие добавьте эту строку руками, иначе будете долго и нудно искать почему у вас что-то работает не так, как надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2016, 09:48 |
|
Запрет несколько символов в поле
|
|||
---|---|---|---|
#18+
Вот с русским: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2016, 09:49 |
|
Запрет несколько символов в поле
|
|||
---|---|---|---|
#18+
Да, и Поле1.SelLength = 0 не нужно, т.к. когда присваивается значение SelStart, SelLenght автоматически сбрасывается в 0 ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2016, 09:53 |
|
Запрет несколько символов в поле
|
|||
---|---|---|---|
#18+
MrShinИ я настоятельно рекомендую в опциях VBA редактора поставить галочку Require Variables Declarations, это обеспечит автоматическое добавление выражения Option Explicit в начало каждого модуля, в существующие добавьте эту строку руками, иначе будете долго и нудно искать почему у вас что-то работает не так, как надо. Поставил галочку) Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
буду на практике пробовать, если будут непонятки напишу! Спасибо за помощь! ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2016, 10:12 |
|
Запрет несколько символов в поле
|
|||
---|---|---|---|
#18+
Вообще код слегка проблемный. Отправление курсора в конец, когда юзер желает подкорректировать серединку, быстро доведёт его до белого каления... я бы модифицировал где-то до такого (схема): Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2016, 10:17 |
|
Запрет несколько символов в поле
|
|||
---|---|---|---|
#18+
AkinaВообще код слегка проблемный. Отправление курсора в конец, когда юзер желает подкорректировать серединку, быстро доведёт его до белого каления... я бы модифицировал где-то до такого (схема): Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Я решил проблему по другому, на "потеря фокуса". Пользователь что хочет пишет, а при потери фокуса все не нужные символы удаляются... ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2016, 10:22 |
|
Запрет несколько символов в поле
|
|||
---|---|---|---|
#18+
Можно сделать еще проще. Просто не пропускайте недопустимые символы до поля: Код: vbnet 1. 2. 3. 4. 5.
Нужно только свойство формы KeyPreview поставить в True, чтобы это заработало Кстати, в моем коде выше ошибка, должно быть Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2016, 10:39 |
|
Запрет несколько символов в поле
|
|||
---|---|---|---|
#18+
MrShin , так ещё ж есть Ctrl-V... ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2016, 10:47 |
|
Запрет несколько символов в поле
|
|||
---|---|---|---|
#18+
Abisma2008Я решил проблему по другому, на "потеря фокуса". Пользователь что хочет пишет, а при потери фокуса все не нужные символы удаляются... Тоже не очень хорошо... имхо правильнее выдать оператору баннер, возможно, почистить ввод от лишнего - но не выпускать его с поля, пока его содержимое не станет соответствовать норме. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2016, 10:49 |
|
Запрет несколько символов в поле
|
|||
---|---|---|---|
#18+
Akina MrShin , так ещё ж есть Ctrl-V... +1 ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2016, 10:53 |
|
Запрет несколько символов в поле
|
|||
---|---|---|---|
#18+
AkinaAbisma2008Я решил проблему по другому, на "потеря фокуса". Пользователь что хочет пишет, а при потери фокуса все не нужные символы удаляются... Тоже не очень хорошо... имхо правильнее выдать оператору баннер, возможно, почистить ввод от лишнего - но не выпускать его с поля, пока его содержимое не станет соответствовать норме. Если честно не понял) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2016, 10:55 |
|
Запрет несколько символов в поле
|
|||
---|---|---|---|
#18+
Abisma2008 , ну если в поле ввода напихано чего не то, выдаём мессаджбокс "В поле ввода обнаружены недопустимые символы", и по закрытии возвращаем фокус обратно в поле ввода. И пока его содержимое не станет нормальным, не даём уйти на редактирование других полей. Впрочем, это не отменяет общего Validate всей записи. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2016, 11:16 |
|
Запрет несколько символов в поле
|
|||
---|---|---|---|
#18+
Akina Abisma2008 , ну если в поле ввода напихано чего не то, выдаём мессаджбокс "В поле ввода обнаружены недопустимые символы", и по закрытии возвращаем фокус обратно в поле ввода. И пока его содержимое не станет нормальным, не даём уйти на редактирование других полей. Впрочем, это не отменяет общего Validate всей записи. Аааа, понял. Да так лучше. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2016, 11:25 |
|
|
start [/forum/topic.php?fid=45&msg=39337555&tid=1613021]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 138ms |
0 / 0 |