Delphi World - Поиск в непроиндексированном поле таблицы
Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Поиск в непроиндексированном поле таблицы

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

{The following function can be added to your to your unit and called as follows:}

 Locate(Table1, Table1LName, 'Beman');

 {Table1 is your table component, Table1LName is TField you've add with the fields 
editor (double click on the table component) and 'Beman' is the name you want to find.}

 {Locate will find SValue in a non-indexed table}

 function Locate(const oTable: TTable; const oField: TField;
   const sValue: string): Boolean;
 var

   bmPos: TBookMark;
   bFound: Boolean;
 begin
   Locate := False;
   bFound := False;
   if not oTable.Active then Exit;
   if oTable.FieldDefs.IndexOf(oField.FieldName) < 0 then Exit;
   bmPos := oTable.GetBookMark;
   with oTable do
   begin
     DisableControls;
     First;
     while not EOF do
       if oField.AsString = sValue then
       begin
         Locate := True;
         bFound := True;
         Break;
       end
     else
       Next;
   end;
   if (not bFound) then
     oTable.GotoBookMark(bmPos);
   oTable.FreeBookMark(bmPos);
   oTable.EnableControls;
 end;
Проект Delphi World © Выпуск 2002 - 2017
Автор проекта: Эксклюзивные курсы программирования