Показать сообщение отдельно
  #14  
Старый 04.07.2013, 12:16
Ravennt Ravennt вне форума
Прохожий
 
Регистрация: 10.09.2012
Сообщения: 19
Репутация: 10
По умолчанию

Цитата:
Сообщение от Aristarh Dark
Locate, если мне не изменяет мой склероз, это простой перебор записей сверху вниз до тех пор пока не найдем нужную. Напиши сам такой перебор, возможно он будет работать быстрее потому как в "родном" скорее всего учитываются типы полей и т.п. из-за чего происходит замедление процесса.

писал вот такое эффекта не дало
Код:
//поиск по полю
procedure LocateTable(w:TIBQuery; Pole:String;Znachen:Integer);
begin
  try
    w.Close;
    w.Open;
    w.FetchAll;
    w.First;
    while not w.Eof do begin
      if w.FieldByName(''+Pole+'').AsInteger=Znachen then
        Exit;
      w.Next;
    end;
  except
    on E: Exception do
      begin
        Application.MessageBox(PChar(E.Message), 'Ошибка', MB_ICONERROR);
        w.Close;
        Halt;
      end;
  end;
end;
Ответить с цитированием