Закладки на записях НД
Подобно тому, как в книге нужную страницу можно заложить закладкой и впоследствии быстро найти эту страницу, в НД аналогичные действия можно осуществить для записи. Для этой цели НД обладает следующими методами:
function GetBookmark: Tbookmark -
создает для текущей записи объект-закладку и возвращает ссылку на него;procedure GotoBookmark(Bookmark : Tbookmark) -
перемещает курсор БД на запись, определяемую закладкой-параметром;procedure FreeBookmark(Bookmark : Tbookmark)
- освобождает системные ресурсы закладки Bookmark;function Bookmark Valid(Bookmark: TBookmark): Boolean; -
возвращает True, если закладке Bookmark назначено значение, и False - если не назначено;function CompareBookmarks(Bookmarkl, Bookmark!: TBookmark): Integer; -
сравнивает две закладки, Bookmark 1 и Bookmark!, и возвращает: 0 - если закладки идентичны; 1 - если различаются;тип TBookmark - указатель на экземпляр типа "закладка".
ЗАМЕЧАНИЕ
Метод GotoBookmark возбуждает исключительную ситуацию, если передаваемый параметр не указывает на закладку (т.е. если закладка не создана, а мы пытаемся на нее перейти). Примерvar MyBookmark : TBookMark;
{ заложить закладку }
MyBookmark := Tablel.GetBookmark;
{ перейти на запись, на которой заложена закладка}
IF Tablel. BookmarkValid. (MyBookmark) THEN
Tablel.GotoBookmark(MyBookmark);
{ освободить ресурсы, выделенные для закладки}
IF Tablel. BookmarkValid(MyBookmark) THEN
Tablel.FreeBookmark(MyBookmark);
Закладки используются в первую очередь тогда, когда :
1. Нужно проделать какие-либо действия над НД, изменяющие местоположение курсора БД;
2. Вернуться к той записи, которая была текущей перед выполнением п. 1.