Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.25;
Скачать: CL | DM;

Вниз

автоподставление   Найти похожие ветки 

 
dim- ©   (2002-11-04 11:47) [0]

на событие ONChange Edita пишу код:
if Table.Locate("name",edit1.text,[Locase...,LoParti..] then begin
s:=Edit1.Text;
Edit1.Text:=Table.FieldValues["name"];
Edit1.SelStart:=Length(s);
Edit1.SelLength:=Length(Edit1.Text);
end;
Все работает, но если нажимаешь забой или del то символ не удаляется и надо выделять всю строку и начинать ввод снова.
Может кто чего посоветует?


 
dim- ©   (2002-11-04 16:08) [1]

Народ!!! неужели ни кто не делал


 
Wolf226 ©   (2002-11-04 16:35) [2]

Давно делал это.
К сожалению исходники не под рукой, не могу кинуть.
Надо использовать свойства.
SelLength
SelStart
Надо выделять после Locate тот кусок слова который ты вытянул.
(Набрал "Ки" - Locate - "Килька", значит выделяем "лька".
SelLength:=4; SelStart=3;)
И получишь то, что по нажатию клавиши, попутно будет удаляться выделенный фрагмент, что тебе и надо.
Т.е. по нажатию "Забоя" удаляется "лька" и "и".
А дальше выполняется Locate по "К".


 
dim- ©   (2002-11-04 17:57) [3]

по теории понятно что должно удалятся, а оно не удаляется


 
kaif ©   (2002-11-05 01:23) [4]

Мне кажется, у тебя что-то не то.
Видимо, ты хотел переместить карет в конец строки.
Для этого нужно сделать:
Edit1.SelLength:=0;


 
MsGuns ©   (2002-11-05 02:49) [5]

Убери выделение в котнроле, и делов-то !


 
dim- ©   (2002-11-05 09:24) [6]

в смысле убрать выделение, тогда как будет подставлятся строка
Если наблал "А" то подставится первое что найдется на "А" и дальше не пойдет


 
SaS13 ©   (2002-11-05 09:30) [7]

когда задаешь текст в onChange Edit"a сделай:
Edit1.OnChange := nil;
Edit1.Text:=Table.FieldValues["name"];
Edit1.OnChange := Edit1Change;
а иначе он у тебя еще раз отработается...


 
Wolf226 ©   (2002-11-05 09:59) [8]

Sas13 - прав, я ловил KeyPress и это не учел.


 
dim- ©   (2002-11-05 10:58) [9]

спасибо SaS13 © наталкнул на мысль
в onkeydown пишу:
if key=#8 then Edit1.OnChange := nil else
Edit1.OnChange := Edit1Change;
и вроде работает



Страницы: 1 вся ветка

Текущий архив: 2002.11.25;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.023 c
1-82764
chips
2002-11-15 14:26
2002.11.25
string в PChar ?


4-83039
Tihas
2002-10-13 02:26
2002.11.25
Вопрос связанный с Меткой созданной CreateWindow


8-82867
mk2002
2002-07-15 21:58
2002.11.25
TPicture


14-82992
Bboy
2002-11-03 09:48
2002.11.25
Помогите определиться с выбором 3d программы


1-82684
smok_er
2002-11-10 00:14
2002.11.25
Момент нажатия чекбокса в ListView