powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Возможно "детский" вопрос
12 сообщений из 12, страница 1 из 1
Возможно "детский" вопрос
    #32674115
Reznichenko Y.V.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему в текстбоксе после ввода последнего символа курсор остается слева от него ? Мелочь, а неприятно. Решение "слету" что-то не приходит. Подскажите пожалуйста можно ли и как от этого избавиться.
...
Рейтинг: 0 / 0
Возможно "детский" вопрос
    #32674431
Онуфрий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
так бывает, когда текстбокс заполнен до предела символами. Поможет, если Text.MaxLength или длину связанного поля таблицы сделать побольше, чем предполагаемая длина вводимого текста.
...
Рейтинг: 0 / 0
Возможно "детский" вопрос
    #32674607
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А какую реакцию Вы собственно ожидали?

При достижении конца объекта ввода указатель перемещается на следующий объект ввода. В Вашем случае, видимо, на форме только один TextBox, т.е. некуда перемещаться. Вот он и остается на месте.

Если же у Вас несколько объектов ввода, то тогда верните настройку по умолчанию

SET CONFIRM OFF

А также настройки всех объектов TabStop=.T.
...
Рейтинг: 0 / 0
Возможно "детский" вопрос
    #32675892
Reznichenko Y.V.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВладимирМА какую реакцию Вы собственно ожидали? ...

Я видел как в подобных случаях ведут себя текстбоксы в Access, Delphi, и.т.п.
Там после ввода последнего символа курсор становиться справа и не переходит в следующее поле до нажатия Enter, если не запрограммировать иначе.
Просто у пользователя может создаться ложное впечатление о незавершенности ввода. А про SET CONFIRM я знаю.
Похоже, что такое поведение текстбокса является чисто "фоксовским", не стандартным.
...
Рейтинг: 0 / 0
Возможно "детский" вопрос
    #33148573
Reznichenko Y.V.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И все-таки вопрос кажется мне принципиальным. Ну почему при MaxLength=5 (к примеру) в компоненте Edit в C++Builder после ввода пятого символа имеем
12345|,
а в Фоксе, в т.ч. и 9-ом, в текстбоксе получаем
1234|5 ?
При беглом вводе данных это создает определенные неудобства. Особенно если пользователь обнаружил в строке ввода ошибку и для ее исправления привык применять backspace.
Странно, что до сих пор эту досадную, на мой взгляд, особенность не исправили разработчики. А может кто-то из коллег уже нашел лекарство ? Поделитесь пожалуйста.
...
Рейтинг: 0 / 0
Возможно "детский" вопрос
    #33149009
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Между прочим, Владимир М не зря упомянул о SET CONFIRM OFF. К слову, я такое решение уже давно считаю наиболее естественным.
Уже много лет прошло с тех пор, когда я разлюбил строить формы с SET CONFIRM ON, и те, кто с такими интерфейсами работают, очень даже довольны. Это только кажется, что SET CONFIRM ON дает дополнительную гарантию от ошибок. На деле, так от них не убережешься, а гарантией являются всякого рода проверки консистентности введенных данных, которые обязательно должны быть.
Плюс к тому, в OLTP-системах каждое лишнее нажатие на клавишу и каждый лишний клик мышкой на счету. Неделя-другая для освоения - и вот уже девушка-оператор должна молотить по 300 документов в день, штук по 10 строк в каждом, почти не глядя в монитор - план у нее такой, по 10 секунд на строчку. Если надо заполнять полностью, к примеру, 3 поля в заголовке и по 1 полю в строке, то SET CONFIRM OFF позволяет девушке в течение рабочего дня нажать почти на 4000 клавиш меньше. Это, как ни крути, почти полчаса в день! За это время можно чашки две кофе выпить, не торопясь, с конфетами. ;-)
...
Рейтинг: 0 / 0
Возможно "детский" вопрос
    #33149871
Crispy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2Urri :

Насчет SET CONFIRM ON - это, конечно же, только для бухгалтера с одним пальцем :) - когда происходит особо важный ввод информации :)

2Reznichenko Y.V. :

По поводу 12345| - 1234|5 в текстбоксе. Это же просто такая фича :)... И наверно неисправимая... Только, если свой класс какой-нибудь лепить. Особенно наглядно она видна при попытке войти в текстбокс "сзади" - курсор сразу прыгает на предпоследний символ. Кстати, все "опытные бухгалтеры" обычно для удаления символа пользуются не BackSpace, а именно Delete! (заводят курсор перед символом и только потом стирают:) Видимо для них вот это и сделано
В то же время, в EditBox-е курсор движется, вполне логически предсказуемо, разве что не входит и не выходит по-простоиу.
О таких "удобных" полях ввода интересно написал Джоэл Сполски (пару раз его статьи по UI дизайну уже упоминались на этом форуме), когда конечный результат был навязан программистам-разработчикам (IE4 кажется) руководителем проекта. Скорее всего, здесь тоже похожий случай.
...
Рейтинг: 0 / 0
Возможно "детский" вопрос
    #33150209
Reznichenko Y.V.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UrriМежду прочим, Владимир М не зря упомянул о SET CONFIRM OFF. К слову, я такое решение уже давно считаю наиболее естественным.
Возможно Вы и правы, но кассиры привыкли пользоваться Enter для подтверждения ввода еще с ДОСовских времен. Вот и требуют. Попробую повоевать.
...
Рейтинг: 0 / 0
Возможно "детский" вопрос
    #33150255
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Reznichenko Y.V.
Есть еще метод interactivechange и методы управления позицией курсора
когда-то писал ответ на подобный вопрос желание писать код повторно нет
так что ищите
идея в том что бы контролировать позицию курсора и иметь один символ в запасе всегда !
ищите :) ВладимирМ тогда еще назвал это что-то типа фокусов, а я сказал что я по правилам не играю
как бы не стандартное решение
...
Рейтинг: 0 / 0
Возможно "детский" вопрос
    #33150398
Crispy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Reznichenko Y.V. кассиры привыкли пользоваться Enter для подтверждения ввода еще с ДОСовских времен. Вот и требуют.
Так может тогда просто TextBox заменить EditBox-ом? Он в этом отношении (с курсором) - куда как примернее себя ведет :)
...
Рейтинг: 0 / 0
Возможно "детский" вопрос
    #33151076
Reznichenko Y.V.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Crispy Reznichenko Y.V. кассиры привыкли пользоваться Enter для подтверждения ввода еще с ДОСовских времен. Вот и требуют.
Так может тогда просто TextBox заменить EditBox-ом? Он в этом отношении (с курсором) - куда как примернее себя ведет :)
Ну, ну. Давайте еще и Grid заменим Listbox-ом. Каждый элемент управления должен выполнять свои функции, причем корректно выполнять. Ясно, что ничего идеального не бывает, но стремиться нужно.
Впрочем согласен на "неисправимую фичу".
...
Рейтинг: 0 / 0
Возможно "детский" вопрос
    #33155834
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Reznichenko!

Помимо втроенного фоксового Textbox-а есть много других контролов - например Textbox из MSForms - более чем "штатный" виндовый контрол :)

Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Возможно "детский" вопрос
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]