Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Метод CompareBookmarks



Вы можете вызвать CompareBookmarks, чтобы определить отличается ли закладка на которую Вы хотите перейти, от другого закладки. Если две закладки ссылаются на ту же запись (или если оба нуль), CompareBookmarks возврат 0.

Метод FreeBookmark

Используется в комбинации с GetBookamrk. Я не рекомендую пользоваться этим методом. Детально об этом методе читайте в документации по VCL.

Поиск в TMemTableEh

Вы можете осуществлять поиск в TMemTableEh используя следующие методы:

  1. Locate

Метод locate перемещает курсор на первую строку, удовлетворяющую критерию поиска. В своей самой простой форме, Вы передаете имя поля, в котором искать, значение которое надо найти, и влаг определяющий нужно ли искать с без учета регистра букв или/и использовать сопоставление. (Частичное сопоставление, значит что строка поиска должна только префиксом значения искомого значения.) Например, следующей код перемещает курсор в первую колонку в CustTable где величина в поле Company, "Professional Divers, Ltd.":

Var

LocateSuccess: Boolean;

SearchOptions: TLocateOptions;

Begin

SearchOptions:= [loPartialKey];

LocateSuccess:= CustTable.Locate('Company', 'Professional Divers, Ltd.', SearchOptions);

End;

Если Locate находит совпадение, то первая запись, удовлетворяющая критерию поиска становится текущей записью. Locate возвращает True если он находит запись, False если это нет. Если поиск ничего не находит, текущая запись не изменяется.

Реальная мощность Locate начинает действовать, когда Вы хотите найти по нескольким полям и определяете множественные значения поиска. Величины Искомые значения являются переменной типа Variant, что означает что вы можете определить различные типы данных в своих критериях поиска. Для того, чтобы задать несколько полей по которым нужно искать, разделите каждое поле в строке точками с запятой.

Поскольку искомые значения являются набором значений типа Variant, Вы должны либо передать несколько значений как Variant array в качестве аргумента, либо Вы должны сконструировать выражение типа Variant array в коде, используя функцию VarArrayOf. Следующий код иллюстрирует поиск по нескольким столбцам используя список величин поиска и частичное совпадение:

with CustTable do

Locate('Company;Contact;Phone', VarArrayOf(['Sight Diver','P']), loPartialKey);

Locate использует самый быстрый из возможных методов поиска. Если столбцы в поиске проиндексированы и индекс совместимый с опциями поиска Locate использует индекс.

  1. Lookup

Lookup ищет первую запись, которая соответствует критериям определенного поиска. Если он находит запись то возвращает значение одного или набор полей заданных параметром ResultFields. Поиск не перемещает курсор на найденную запись, а только возвращает найденные значения.

В своей самой простой форме, Вы передаете Lookup имя поля, в котором надо искать, искомую величину, и поле или поля значение которых надо врзвраить из найденной записи. Например, следующий код ищет первую запись в CustTable где величина области Компании - "Профессиональные Ныряльщики, Ltd." и возвращает имя компании, контактный человек, и номер телефона для компании:

Var

LookupResults: Variant;

Begin

LookupResults:= CustTable.Lookup('Company', 'Professional Divers, Ltd.', 'Company;Contact;Phone');

End;

Lookup возвращает значения заданных полей из первой найденной записи. Значения величин имеют тип Variant. Если задано несколько полей, Lookup возвращает массив Variant’ов. Если ни одной записи не находится, Lookup возвращает значение Null.

Подобно, Locate, Lookup использует самый быстрый из возможных методов поиска.

  1. FindRec

Метод FindRec ищет первую запись, которая соответствует критериям поиска и возвращает номер первой найденной записи. Синтаксис вызова метода совпадает с синтаксисом метода Locate.

При работе MemTableEh в режиме дерева методы Locate и FindRec ищут записи только в узлах которые находятся в открытых (Expanded) ветках. Для поиска во всех узлах и автоматического раскрытия владельцев найденного узла используйте метод MemTableEh.TreeList.Locate.

  1. GotoRec

Метод GotoRec перемещает курсор в позицию запись которой указывает на запись заданную параметром Rec. GotoRec возвращает True если он находит запись, False если это нет.





Дата публикования: 2014-11-28; Прочитано: 457 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2025 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.085 с)...