powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Некрасивое отображение при редактировании значения в TDBEditEh при использовании маски
7 сообщений из 7, страница 1 из 1
Некрасивое отображение при редактировании значения в TDBEditEh при использовании маски
    #39661704
Konstantin-78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброе время,

У меня в БД Firebird в таблице есть поле с типом « NUMERIC(9,1) ».
Мне нужно, чтоб в приложении пользователь не мог ввести больше двух цифр в целой части и 1 в дробной.
Для этого я использую компонент « TDBEditEh », т.к. в нем есть свойство « EditMask », которое я поставил в значение « 99,9;_ »

Все бы ничего, но при установки курсора в окошко « TDBEditEh », выглядет не очень красиво, отображается значение см. рис. внизу введите сюда описание изображения

Может можно как-нибудь поправить? Т.е. чтоб "8" не съезжала влево и не выглядела как "8_".
Честно говоря думал что свойство http://www.ehlib.com/online-help/fra...ile=index.html может поправить ситуацию – но не помогло.
...
Рейтинг: 0 / 0
Некрасивое отображение при редактировании значения в TDBEditEh при использовании маски
    #39661755
vitku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Konstantin-78,
если компонент TDBEditEh имеет только один (стандартный) режим маскирования (точно не знаю, потому как не пользуюсь этой библиотекой), то добиться нужного функционала невозможно ИМХО. Возможно я ошибаюсь, пусть меня поправят. А вот если имеется в этом компоненте режим с использованием регулярных выражений - то вполне возможно. Например - "[0-9]?[0-9],[0-9]" или "\d?\d,\d"
...
Рейтинг: 0 / 0
Некрасивое отображение при редактировании значения в TDBEditEh при использовании маски
    #39661769
чччД__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Konstantin-78,

TDBNumberEditH.
...
Рейтинг: 0 / 0
Некрасивое отображение при редактировании значения в TDBEditEh при использовании маски
    #39662205
Konstantin-78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччД__TDBNumberEditH.

Класс, вот только бы еще ограничить ввод чисел до точки (например в 2 значения)
...
Рейтинг: 0 / 0
Некрасивое отображение при редактировании значения в TDBEditEh при использовании маски
    #39662219
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не знаком с компонентом, но .... если бы у него была возможность вклиниться в событие OnChanging (если такое вообще есть, конечно), то можно было бы в случае выхода текста за допустимые пределы этому помешать.

Или наплевать на эдитор, у нас ведь DB-компонент. Можно было бы повесить у поля датасета обработчик OnSetValue и в нем отсекать лишние знаки.

Вот такой поток мысли.
...
Рейтинг: 0 / 0
Некрасивое отображение при редактировании значения в TDBEditEh при использовании маски
    #39662229
Konstantin-78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроик Семён,

" OnChanging " к сожалению нет, пришлось воспользоваться " OnChange "

Код: pascal
1.
2.
3.
4.
5.
if DBNumberEditEh1.Value > 72 then
begin
    IBDataSet1.FieldByName('ADJUSTMENT_NORM_HOURS').AsFloat := 72;
    DBNumberEditEh1.Value := 72;
end;



Вот только немного странно компонент себя ведет, после "72".
В " DBNumberEditEh1 " (при инкрементации (нажатия кнопки вверх на клавиатуре)) может отображаться и "73" и "74", причем в " DBGridEh " в это время остается "72". Но если при этом сделать "Commit", то в БД сохраниться или "73" или "74".
...
Рейтинг: 0 / 0
Некрасивое отображение при редактировании значения в TDBEditEh при использовании маски
    #39662736
Konstantin-78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konstantin-78,

а, вместо
Код: pascal
1.
DBNumberEditEh1.Value := 72;


нужно было:
Код: pascal
1.
DBNumberEditEh1.EditText := '72';


тогда все работает...

Всем откликнувшимся спасибо...
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Некрасивое отображение при редактировании значения в TDBEditEh при использовании маски
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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