:: Visual Foxpro, Foxpro for DOS
Пробелы в textbox
ou
Автор

Сообщений: 118
Дата регистрации: 07.08.2007
Здравствуйте, уважаемые коллеги!

Есть текстовое поле. Без ControlSource, без маски, без формата. Используется для ввода пароля.
Проблема в том, что пароль может включать пробелы в начале и в конце.

Фокс автоматически дополняет любой введенный текст пробелами в конце. Количество пробелов зависит от размера textbox.

Не получается определить, сколько пробелов введено вручную в конце пароля.

Пароль может вводиться с клавиатуры или при помощи Copy/Paste, то есть считать символы по KeyPress не получится.

Может быть, есть какое-то простое решение, но я его не вижу

Отлавливать, был ли ввод с клавиатуры или Copy/Paste очень не хочется, к тому же там есть дополнительные нюансы.

Это действительно так сложно - определить, сколько пробелов введено в конце строки, или я чего-то не вижу?
Ratings: 0 negative/0 positive
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
Ratings: 0 negative/0 positive
Re: Пробелы в textbox
ssa

Сообщений: 13007
Откуда: Москва
Дата регистрации: 23.03.2005
ou
Это действительно так сложно - определить, сколько пробелов введено в конце строки, или я чего-то не вижу?
А, собственно, зачем?

------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: Пробелы в textbox
ou
Автор

Сообщений: 118
Дата регистрации: 07.08.2007
ssa
А, собственно, зачем?
Могут входить в пароль
Ratings: 0 negative/0 positive
Re: Пробелы в textbox
ssa

Сообщений: 13007
Откуда: Москва
Дата регистрации: 23.03.2005
ou
ssa
А, собственно, зачем?
Могут входить в пароль
И что? Цель вычислений какая?

------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: Пробелы в textbox
ou
Автор

Сообщений: 118
Дата регистрации: 07.08.2007
Нужно получить реально введенное значение, со всеми хвостовыми пробелами. Без пробелов, добавленных фоксом.
Ratings: 0 negative/0 positive
Re: Пробелы в textbox
of63

Сообщений: 25254
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Лучше не закладываться на пробелы, тем более в паролях, это и не символы вовсе, не состоят в алфавите...

Навскидку. Можно заморочиться на событии InteractiveChange (ProgrammaticChange), в котором взять и переиграть (CHRTRAN) пробелы на реальный символ (хоть на неразрывный пробел, или древнерусский символ какой, который никто никогда не наберет). При считывании значения из .Value сделать обратное преобразование этих символов в пробелы.
Ratings: 0 negative/0 positive
Re: Пробелы в textbox
akvvohinc

Сообщений: 4219
Откуда: Москва
Дата регистрации: 11.11.2008
ou
Есть текстовое поле. Без ControlSource, без маски, без формата. Используется для ввода пароля.
Проблема в том, что пароль может включать пробелы в начале и в конце.

Это действительно так сложно - определить, сколько пробелов введено в конце строки, или я чего-то не вижу?

Не думаю, что для ввода пароля принципиально использовать именно Textbox.
Замените на Editbox и проблемы не будет.
Ratings: 0 negative/0 positive
Re: Пробелы в textbox
ou
Автор

Сообщений: 118
Дата регистрации: 07.08.2007
Возможность пробелов в пароле - условие заказчика.

Дело в том, что как только в textbox введен первый символ, Value сразу же дополняется пробелами автоматически. И как потом понять, что пробел в конце введен юзером, а не один из этих автоматически добавленных? То есть проблема именно и только в хвостовых пробелах.

Причем сам фокс понимает, что именно введено. Используется PasswordChar = '*', и он показывает правильное количество звездочек.

Если бы еще не Copy/Paste, то можно было бы считать пробелы в KeyPress, хотя тоже не очень хорошо.
Ratings: 0 negative/0 positive
Re: Пробелы в textbox
ou
Автор

Сообщений: 118
Дата регистрации: 07.08.2007
akvvohinc
Не думаю, что для ввода пароля принципиально использовать именно Textbox.
Замените на Editbox и проблемы не будет.
Да, спасибо, рассматриваю, как вариант.
Ratings: 0 negative/0 positive
Re: Пробелы в textbox
of63

Сообщений: 25254
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
> Причем сам фокс понимает, что именно введено. Используется PasswordChar = '*', и он показывает правильное количество звездочек.
Интересно, что возвращает DisplayValue (вроде такой есть, если с VB не путаю, или еще с чем)
Ratings: 0 negative/0 positive
Re: Пробелы в textbox
Taran

Сообщений: 13624
Откуда: Красноярск
Дата регистрации: 16.01.2008
Привязать временный курсор и поле varchar.
Ratings: 0 negative/0 positive
Re: Пробелы в textbox
of63

Сообщений: 25254
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Taran
Привязать временный курсор и поле varchar.
Скорее всего вернет в поле тот же обсуждаемый .Value
Ratings: 0 negative/0 positive
Re: Пробелы в textbox
ou
Автор

Сообщений: 118
Дата регистрации: 07.08.2007
of63
> Интересно, что возвращает DisplayValue (вроде такой есть, если с VB не путаю, или еще с чем)
У textbox нет DisplayValue

Taran
Привязать временный курсор и поле varchar.
Надо попробовать.

Замена на EditBox помогла и заняла мало времени.

Всем спасибо
Ratings: 0 negative/0 positive
Re: Пробелы в textbox
akvvohinc

Сообщений: 4219
Откуда: Москва
Дата регистрации: 11.11.2008
Taran
Привязать временный курсор и поле varchar.

Не думаю, что такое сработает - поведение контрола не должно зависеть от типа поля.
Ratings: 0 negative/0 positive
Re: Пробелы в textbox
sphinx

Сообщений: 31180
Откуда: Каменск-Уральски
Дата регистрации: 22.11.2006
akvvohinc
Не думаю, что такое сработает - поведение контрола не должно зависеть от типа поля.

То есть готового решения нет? А можно пример, когда в контроле хранятся разные типы? Я про одновременно..


------------------
"Veni, vidi, vici!"(с)
Ratings: 0 negative/0 positive
Re: Пробелы в textbox
akvvohinc

Сообщений: 4219
Откуда: Москва
Дата регистрации: 11.11.2008
sphinx
А можно пример, когда в контроле хранятся разные типы? Я про одновременно..

А я не про одновременно, а про возможные отличия в поведении текстбокса, связанного с Character-полем и Varchar-полем, применительно к вопросу данной темы.



Исправлено 1 раз(а). Последнее : akvvohinc, 01.05.20 01:21
Ratings: 0 negative/0 positive
Re: Пробелы в textbox
sphinx

Сообщений: 31180
Откуда: Каменск-Уральски
Дата регистрации: 22.11.2006
akvvohinc
sphinx
А можно пример, когда в контроле хранятся разные типы? Я про одновременно..

А я не про одновременно, а про возможные отличия в поведении текстбокса, связанного с Character-полем и Varchar-полем.

Теперь стало понятно. По идее отличий не должно быть. Но я не все знаю.


------------------
"Veni, vidi, vici!"(с)
Ratings: 0 negative/0 positive
Re: Пробелы в textbox
sphinx

Сообщений: 31180
Откуда: Каменск-Уральски
Дата регистрации: 22.11.2006
Да идея Олега (Taran) понятна - varchar не хранит хвостовые пробелы, только само выражение, независимо от длины поля.


------------------
"Veni, vidi, vici!"(с)
Ratings: 0 negative/0 positive
Re: Пробелы в textbox
akvvohinc

Сообщений: 4219
Откуда: Москва
Дата регистрации: 11.11.2008
sphinx
Да идея Олега (Taran) понятна - varchar не хранит хвостовые пробелы.

Его идея и мне понятна, а вот что ты имел в виду под "varchar не хранит хвостовые пробелы", я не понял.
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 22 (Гостей: 22)

© 2000-2024 Fox Club 
Яндекс.Метрика