Пробелы в textbox | |
---|---|
ou Автор Сообщений: 118 Дата регистрации: 07.08.2007 |
Здравствуйте, уважаемые коллеги!
Есть текстовое поле. Без ControlSource, без маски, без формата. Используется для ввода пароля. Проблема в том, что пароль может включать пробелы в начале и в конце. Фокс автоматически дополняет любой введенный текст пробелами в конце. Количество пробелов зависит от размера textbox. Не получается определить, сколько пробелов введено вручную в конце пароля. Пароль может вводиться с клавиатуры или при помощи Copy/Paste, то есть считать символы по KeyPress не получится. Может быть, есть какое-то простое решение, но я его не вижу Отлавливать, был ли ввод с клавиатуры или Copy/Paste очень не хочется, к тому же там есть дополнительные нюансы. Это действительно так сложно - определить, сколько пробелов введено в конце строки, или я чего-то не вижу? |
Re: Пробелы в textbox | |
---|---|
of63 Сообщений: 25254 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
> Проблема в том, что пароль может включать пробелы в начале и в конце.
> Фокс автоматически дополняет любой введенный текст пробелами в конце. Так что нужно узнать? Если сосчитать кол пробелов перед TextBox.Value, то типа x = TextBox.Value ? LEN(x) - LEN(LTRIM(x)) && количество пробелов перед текстом Доб. Аа > Не получается определить, сколько пробелов введено вручную в конце пароля. Никак > Количество пробелов зависит от размера textbox нет (если нет форматирования, типа "T") Исправлено 2 раз(а). Последнее : of63, 30.04.20 20:12 |
Re: Пробелы в textbox | |
---|---|
ssa Сообщений: 13007 Откуда: Москва Дата регистрации: 23.03.2005 |
А, собственно, зачем? ------------------ Лень - это неосознанная мудрость. |
Re: Пробелы в textbox | |
---|---|
ou Автор Сообщений: 118 Дата регистрации: 07.08.2007 |
Могут входить в пароль |
Re: Пробелы в textbox | |
---|---|
ssa Сообщений: 13007 Откуда: Москва Дата регистрации: 23.03.2005 |
И что? Цель вычислений какая? ------------------ Лень - это неосознанная мудрость. |
Re: Пробелы в textbox | |
---|---|
ou Автор Сообщений: 118 Дата регистрации: 07.08.2007 |
Нужно получить реально введенное значение, со всеми хвостовыми пробелами. Без пробелов, добавленных фоксом.
|
Re: Пробелы в textbox | |
---|---|
of63 Сообщений: 25254 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Лучше не закладываться на пробелы, тем более в паролях, это и не символы вовсе, не состоят в алфавите...
Навскидку. Можно заморочиться на событии InteractiveChange (ProgrammaticChange), в котором взять и переиграть (CHRTRAN) пробелы на реальный символ (хоть на неразрывный пробел, или древнерусский символ какой, который никто никогда не наберет). При считывании значения из .Value сделать обратное преобразование этих символов в пробелы. |
Re: Пробелы в textbox | |
---|---|
akvvohinc Сообщений: 4219 Откуда: Москва Дата регистрации: 11.11.2008 |
Не думаю, что для ввода пароля принципиально использовать именно Textbox. Замените на Editbox и проблемы не будет. |
Re: Пробелы в textbox | |
---|---|
ou Автор Сообщений: 118 Дата регистрации: 07.08.2007 |
Возможность пробелов в пароле - условие заказчика.
Дело в том, что как только в textbox введен первый символ, Value сразу же дополняется пробелами автоматически. И как потом понять, что пробел в конце введен юзером, а не один из этих автоматически добавленных? То есть проблема именно и только в хвостовых пробелах. Причем сам фокс понимает, что именно введено. Используется PasswordChar = '*', и он показывает правильное количество звездочек. Если бы еще не Copy/Paste, то можно было бы считать пробелы в KeyPress, хотя тоже не очень хорошо. |
Re: Пробелы в textbox | |
---|---|
ou Автор Сообщений: 118 Дата регистрации: 07.08.2007 |
Да, спасибо, рассматриваю, как вариант. |
Re: Пробелы в textbox | |
---|---|
of63 Сообщений: 25254 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
> Причем сам фокс понимает, что именно введено. Используется PasswordChar = '*', и он показывает правильное количество звездочек.
Интересно, что возвращает DisplayValue (вроде такой есть, если с VB не путаю, или еще с чем) |
Re: Пробелы в textbox | |
---|---|
Taran Сообщений: 13624 Откуда: Красноярск Дата регистрации: 16.01.2008 |
Привязать временный курсор и поле varchar.
|
Re: Пробелы в textbox | |
---|---|
of63 Сообщений: 25254 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Скорее всего вернет в поле тот же обсуждаемый .Value |
Re: Пробелы в textbox | |
---|---|
ou Автор Сообщений: 118 Дата регистрации: 07.08.2007 |
У textbox нет DisplayValue Надо попробовать. Замена на EditBox помогла и заняла мало времени. Всем спасибо |
Re: Пробелы в textbox | |
---|---|
akvvohinc Сообщений: 4219 Откуда: Москва Дата регистрации: 11.11.2008 |
Не думаю, что такое сработает - поведение контрола не должно зависеть от типа поля. |
Re: Пробелы в textbox | |
---|---|
sphinx Сообщений: 31180 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
То есть готового решения нет? А можно пример, когда в контроле хранятся разные типы? Я про одновременно.. ------------------ "Veni, vidi, vici!"(с) |
Re: Пробелы в textbox | |
---|---|
akvvohinc Сообщений: 4219 Откуда: Москва Дата регистрации: 11.11.2008 |
А я не про одновременно, а про возможные отличия в поведении текстбокса, связанного с Character-полем и Varchar-полем, применительно к вопросу данной темы. Исправлено 1 раз(а). Последнее : akvvohinc, 01.05.20 01:21 |
Re: Пробелы в textbox | |
---|---|
sphinx Сообщений: 31180 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
Теперь стало понятно. По идее отличий не должно быть. Но я не все знаю. ------------------ "Veni, vidi, vici!"(с) |
Re: Пробелы в textbox | |
---|---|
sphinx Сообщений: 31180 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
Да идея Олега (Taran) понятна - varchar не хранит хвостовые пробелы, только само выражение, независимо от длины поля.
------------------ "Veni, vidi, vici!"(с) |
Re: Пробелы в textbox | |
---|---|
akvvohinc Сообщений: 4219 Откуда: Москва Дата регистрации: 11.11.2008 |
Его идея и мне понятна, а вот что ты имел в виду под "varchar не хранит хвостовые пробелы", я не понял. |
© 2000-2024 Fox Club  |