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

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

Автозаполнение [D5, Win95/98, WinME, NT4, Win2k, WinXP]


Карелин Артем ©   (2002-11-20 14:13:00) 

Может кто видел компонент с сабжем.
Нужна штука типа как в експлорере при вводе в строке адреса при включенном сабже.


Alx2   (2002-11-20 15:08:00) [1]

>Alx2 © (20.11.02 15:04)
Добавлю, что _TEdit=TEdit, переменная FName - просто имя поля, в котором ищут autocomplete значения


Карелин Артем   (2002-11-20 15:07:00) [2]

> Alx2 © (20.11.02 15:04)
Спасибо за фрагмент. Может понадобится и такое, но не в этом контексте.


Карелин Артем   (2002-11-20 15:05:00) [3]

Не смотрел, но выбор желателен. А то есть у меня инкрементальный комбобокс. Засунул туда справку по выни - так он завис при поиске. (Celeron-900, win2k"serv)
А мне надо ОЧЕНЬ много значений пихать туда.


Alx2   (2002-11-20 15:04:00) [4]

>Карелин Артем © (20.11.02 14:37
Из моей проги фрагмент:

Procedure TAutoIncTable.OnEditChange(Sender: TObject);
Var S, S1, FName: String;
len: integer;
Begin
If Not canFindForEdit Then exit;
S := AnsiUpperCase(_TEdit(Sender).text);
FName := GetFieldsList(";",[_TEdit(Sender).Tag]);
Try
If DataSet.Locate(FName, S,[loCaseInsensitive, loPartialKey])
Then
Begin
S1 := DataSet[FName];
If pos(S, AnsiUpperCase(S1)) = 1 Then
Begin
_TEdit(Sender).OnChange := Nil;
len := Length(S);
_TEdit(Sender).text := S1;
_TEdit(Sender).SelStart := len;
_TEdit(Sender).SelLength := Length(_TEdit(Sender).text);
_TEdit(Sender).OnChange := OnEditChange;
End;
End;
Except
End;
End;

Procedure TAutoIncTable.OnEditKeyDown(Sender: TObject; Var KEY: Word;
Shift: TShiftState);
Begin
Case KEY Of
VK_BACK, VK_DELETE: canFindForEdit := False;
End;
End;

Procedure TAutoIncTable.OnEditKeyUp(Sender: TObject; Var KEY: Word;
Shift: TShiftState);
Begin
canFindForEdit := true;
End;



PS.
Onchange, OnKeyDown, OnKeyUp - соответствующие события компонента TEdit


Дмитрий К.К.   (2002-11-20 15:02:00) [5]

Не по душе?


Карелин Артем   (2002-11-20 14:59:00) [6]

А еще есть что-то подобное?


Дмитрий К.К.   (2002-11-20 14:51:00) [7]

Нашел.
Называется он IECombo.
Лежит... хотя бы на http://www.mirdelphi.narod.ru/compon/compon.htm


Дмитрий К.К.   (2002-11-20 14:44:00) [8]

Видел такой компонент.


Карелин Артем   (2002-11-20 14:37:00) [9]

Я в дельфине пятом страдаю.


Anatoly P   (2002-11-20 14:30:00) [10]

В D6 ComboBox поддерживает автозаполнение


Наверх

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