Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Автозаполнение в TEdit


neodream ©   (2007-08-14 18:01:00) 

Здравствуйте.
Нужна помощь. Необходимо сделать автозаполнение в TEdit, как в некоторых базах данных(например Access).
Тоесть пользователь вводит в TEdit слово а программа сама добавляет остальные буквы(производя поиск, например, по масиву).
Заранее огромное спасибо.


Юрий Зотов   (2007-08-16 16:56:00) [1]

> Игорь Шевченко ©   (16.08.07 15:20) [10]

По всей видимости, дизайнер назначает парента только если он еще не назначен (что, в общем-то, и правильно). Поэтому такое и получается.


Игорь Шевченко   (2007-08-16 15:20:00) [2]


> 1. Тут дело не в Owner'e, а в Parent'е. Что будет, если
> этот компонент положить на панель, например? Или будем надеяться
> на то, что после отработки конструктора дизайнер все равно
> назначит правильного парента?


Все, спасибо.

Хотя компоненты и выглядят лежащими на панели, parent у них все равно форма.


Юрий Зотов   (2007-08-16 14:33:00) [3]

> Игорь Шевченко ©   (16.08.07 12:52) [6]

1. Тут дело не в Owner'e, а в Parent'е. Что будет, если этот компонент положить на панель, например? Или будем надеяться на то, что после отработки конструктора дизайнер все равно назначит правильного парента?

2. Независимо ни от чего компоненты надо писать грамотно. Грамотно писать надо, конечно, все, но компоненты - особенно. Потому что каждая ошибка в компоненте умножается на число его экземпляров в программе.


Игорь Шевченко   (2007-08-16 13:03:00) [4]


> TAutoCompleteEdit.Create(nill); не сработает?


И Parent будет nil. И что ?
Ты читай вопрос [6] внимательно


etc   (2007-08-16 13:01:00) [5]


> Игорь Шевченко ©   (16.08.07 12:52) [6]

TAutoCompleteEdit.Create(nill); не сработает?


Игорь Шевченко   (2007-08-16 12:52:00) [6]


> Без которых написать действительно грамотный, надежный код
> вряд ли возможно.


А что, можно легко и просто создавать визуальные компоненты, владельцем которых не является WinControl ?

Интересно мне стало.
Код, конечно, не ахти, но представить реальную ситуацию, исключив ошибку программиста, когда такое возможно (Owner-ом будет не TWinControl) я затрудняюсь.


Юрий Зотов   (2007-08-16 11:44:00) [7]


constructor TAutoCompleteEdit.Create(AOwner: TComponent);
begin
 inherited Create(AOwner);
  Parent := TWinControl(AOwner);
 FStringList := TStringList.Create;
 SearchListChange;
end;

Ни за какие коврижки не стал бы использовал компоненты, авторы которых пишут ТАКОЕ. Поскольку подчеркнутая строка совершенно откровенно указывает на полное незнание (или непонимание) даже концептуальных азов VCL. Без которых написать действительно грамотный, надежный код вряд ли возможно.


Игорь Шевченко   (2007-08-16 11:31:00) [8]

http://www.delphi3000.com/articles/article_1533.asp?SK=


AZIZE   (2007-08-16 10:39:00) [9]


> такое обычно не в TEdit, а в TComboBox делается...

и не обычно а всегда
ЗЫ: зачем изобретать велосипед


Ega23   (2007-08-16 10:09:00) [10]

такое обычно не в TEdit, а в TComboBox делается...


Сергей М.   (2007-08-15 09:29:00) [11]

И в чем сложности ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо