Форум: "Базы";
Текущий архив: 2002.11.25;
Скачать: [xml.tar.bz2];
Внизавтоподставление Найти похожие ветки
← →
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
Надо выделять после Locate тот кусок слова который ты вытянул.
SelStart
(Набрал "Ки" - 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.01 c