Изменение значения tStringEdit

Вопросы программирования и использования MSEide + MSEgui.

Модератор: Модераторы

Изменение значения tStringEdit

Сообщение t-ea » 25.09.2008 20:32:02

Я раньше уже спрашивал как отследить ввод данных в StringEdit и сейчас использую событие OnTextEdited.

Однако, в случае если в поле ввода содержится какое-то значение и оно через буфер обмена заменяется на новое, то это событие срабатывает дважды: сначала с пустой строкой, затем с новым содержимым вставленным из буфера.
Так StringEdit используется для моментальной фильтрации в зависимости от содержимого, подобное поведение приводит к тому, что выполняется два запроса к базе данных, причём первый запрос — с пустой строкой, а значит и без фильтрации — приводит к выборке всех строк, что мало того что не нужно, так ещё и достаточно долго выполняется.

Что можно сделать, чтобы при вставке строки из буфера обмена, первое событие с пустой строкой пропускалось?
t-ea
новенький
 
Сообщения: 98
Зарегистрирован: 22.09.2006 00:22:34

Re: Изменение значения tStringEdit

Сообщение Logo » 25.09.2008 20:51:29

tStringEdit, Это из какой бибилотеки?
Logo
постоялец
 
Сообщения: 464
Зарегистрирован: 20.08.2008 01:00:47

Re: Изменение значения tStringEdit

Сообщение Attid » 26.09.2008 10:59:30

t-ea
используй onsetvalue, и внутри процедуры используй проверку на avalue

Добавлено спустя 1 минуту 41 секунду:
Logo писал(а):tStringEdit, Это из какой бибилотеки?

это МСЕ, читаем в каком форуме тема.
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Re: Изменение значения tStringEdit

Сообщение t-ea » 26.09.2008 17:53:30

Не-е, для моей текущей идеи не подходит, так как OnSetValue срабатывает только при покидании «контрола».
При нажатии символьной клавиши, Backspace или Delete событие не вызывается.
t-ea
новенький
 
Сообщения: 98
Зарегистрирован: 22.09.2006 00:22:34

Re: Изменение значения tStringEdit

Сообщение Attid » 30.09.2008 11:40:12

ну дык изменение только в OnSetValue все остальное не изменение и по ескейпу будет отменено, в таком случае я бы онкейдоун юзал.
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E


Вернуться в MSEide + MSEgui

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11

Рейтинг@Mail.ru