![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как сделать поиск в таблице по введенной строке в Edit1? [D5]
nitro313 © (2002-06-24 06:57:00)Народ, подскажите:
Как сделать поиск в таблице по введенной строке? Хочется чтобы искала не обязательно вся строка, а по слогам.
VID (2002-06-24 09:07:00) [1]
Var L:TStringList;
Procedure TForm1.FormCreate(...);
begin
L:=TStringList.Create;
//допустим L уже заполнен какими-нибуде строками
end;
Procedure Tform1.FormDestroy(...);
begin
L.Free;
end;
Procedure TForm1.Edit1Change(...);
VAR I, F:INTEGER;
begin
F:=-1;
For I:=0 to L.Count-1 do
begin
IF AnsiUpperCase(Copy(L[I], 1, Length(Edit1.TEXT))) = AnsiUpperCase(Edit1.text) then
begin
F:=I;
Break
end;
end;
IF F<>-1 then
Form1.Caption := "Finded: Word = "+Copy(L[F], 1, Length(Edit1.TEXT))+"; LineNumber = "+Inttostr(F);
end;
Miss (2002-06-24 09:04:00) [2]Если таблица это таблица БД, то Table1.Locate(KeyFields, KeyValues, Options), где
- KeyValues:=Edit1.Text;
- Options:=[loCaseInsensitive,loPartialKey] первая опция-без учета регистра символов, вторая опция - поиск по части поискового контекста и в var нужно определить Options как TLocateOptions (модуль DB);
- KeyFields:="FIO"(или любое другое поле по которому осуществляется поиск);
MBo (2002-06-24 07:24:00) [3]1) что имеется в виду под таблицей?
2) как определить слоги?
функция Pos должна помочь в любом случае