![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Автозаполнение! [D5, IB5.x]
Sacred © (2003-11-30 00:28:00)
Здрям всем умельцам!
У меня вот такая проблема нужно сделать автозаполнение Едита, думаю все знаю что это такое, то есть при вводе одной буквы в таблице ищеться соотвествие и подставляеться в поле Едита, да так что первая введеная буква не выделена а весь остальной текст выделен...
вот мое решение...
на OnKeyUp Едита написано...
if (key>47) and (key<91) then
qryAuto.Close;
qryAuto.SQL.Clear;
qryAuto.SQL.Add("SELECT S_NAME from STUDENTS");
qryAuto.SQL.Add("GROUP BY S_NAME");
qryAuto.open;
if qryAuto.Locate("S_NAME", edAddStudents.text, [loCaseInsensitive,loPartialKey])
then begin
len1:=length(edAddStudents.text);
edAddStudents.text := qryAuto.fieldbyname("S_NAME").AsString;
edAddStudents.selstart:=len1;
edAddStudents.sellength:=length(text)-len1;
end;
Только есть небольшой глюк, после того как подставлен текст и мне это не подходит, я не могу его БекСпейсом удалить...
может кто то этим занимался и знает другой способ, а может есть компнентик какой то?
Заранее спасибо!
Black King (2003-11-30 22:37:00) [1]
qryAuto.Close;
qryAuto.SQL.Clear;
qryAuto.SQL.Add("SELECT S_NAME from STUDENTS");
qryAuto.SQL.Add("GROUP BY S_NAME");
qryAuto.open;
zachem eto delat" pri nazhatii klavish?
unesi na aktivaciju formi ili jesho kuda
Sacred (2003-11-30 12:02:00) [2]
сЫпасЫба! :)
mfender (2003-11-30 09:31:00) [3]
Просто back не лежит в указанном тобой диапазоне
(key>47) and (key<91)
mfender (2003-11-30 09:29:00) [4]
Напиши продолжение:
if Key=VK_BACK then ...
и далюше как там стирать.