Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.05.30;
Скачать: [xml.tar.bz2];

Вниз

Bookmark   Найти похожие ветки 

 
Litr   (2004-05-06 09:06) [0]

Доброе утро Мастера. Подскажите ссылки, где можно почитать об использовании закладок. В хелпе больно скудно. Заранее спасибо.


 
DenK_vrtz ©   (2004-05-06 09:14) [1]

Закладка - это метка, которой можно пометить запись набора данных, чтобы впоследствии быстро переходить на нее
Классы TDataSet, TBDEDataSet

Определения
type TBookmarkStr: string;
property Bookmark: TBookmarkStr;

type TBookmark = Pointer;
function BookmarkValid(Bookmark: TBookmark): Boolean;
function CompareBookmarks(Bookmark1, Bookmark2: TBookmark): Integer;

function GetBookmark: TBookmark;
procedure GotoBookmark(Bookmark: TBookmark);
procedure FreeBookmark(Bookmark: TBookmark);

Описание
Закладки позволяют пометить одну или несколько записей набора данных и затем при необходимости быстро переходить на них. Свойство Bookmark - текущая закладка (ею становится каждая новая закладка) и методы работы с закладками BookmarkValid, CompareBookmarks, GetBookmark, GotoBookmark, FreeBookmark объявлены в классе TDataSet и переопределены в классе TBDEDataSet.

Чтобы создать новую закладку в приложении, надо объявить переменную типа TBookmark и присвоить ей функцией GetBookmark значение, соответствующее текущей записи. Процедура GotoBookmark позволяет в дальнейшем в любой момент перейти на запись, к которой относится введенная вами закладка. Метод FreeBookmark освобождает память, выделенную под закладку. Этот метод необходимо вызывать перед тем, как присвоить вашей переменной типа TBookmark новое значение.

Перед переходом на закладку можно проверить, доступна ли она, методом BookmarkValid. Он вернет true, если указанная в его параметре закладка существует. Метод CompareBookmarks позволяет сравнить две закладки Bookmark1 и Bookmark2, в частности, установить, не указывают ли они на одну и ту же запись. Этот метод возвращает -1, если Bookmark1 < Bookmark2, возвращает 1, если Bookmark1 > Bookmark2, и возвращает 0, если закладки идентичны или равны nil.

В следующем примере делается закладка на текущей записи и после цикла по набору данных осуществляется возврат на запись, которая до этого была текущей.

var SavePlace: TBookmark;
begin
{Закладка на текущей записи}
SavePlace := Query1.GetBookmark;
{Цикл по записям}
Query1.First;
while not Query1.eof do
 begin
{Операции с текущей записью}
Query1.Next;
 end;
{Возвращение на текущую запись}
Query1.GotoBookmark(SavePlace);
{Очистка закладки}
Query1.FreeBookmark(SavePlace);

...

end;

Весь приведенный выше текст из справки.


 
Litr   (2004-05-06 09:23) [2]

у меня проблема такого рода, есть запрос возвращающий некий набор данных, связываю его с Grid -ом и по этим данным строю график в DBCharte, при щелчке на графике в точке, функцией Locate нахожу запись, т.е она становится текущей и ставлю закладку, после возвращаюсь к ней, как в примере и до конца набора, с закладки, ввожу изменения, а требуется, чтоб изменения вводились не до конца набора, а скажем до второй выбранной точки, т.е в каком то интервале. Есть какие нить мысли ?


 
DenK_vrtz ©   (2004-05-06 09:45) [3]

"выбранные точки" чем характеризуются?

исходя из этого условия, делай изменения в наборе данных


 
Litr   (2004-05-06 10:03) [4]

я сделал две закладки, SavePlace1,SavePlace2 теперь нужно убедится, что они не указывают на одну и ту же запись и что SavePlace1<SavePlace2 ?


 
Reindeer Moss Eater ©   (2004-05-06 10:07) [5]

CompareBookMark



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2004.05.30;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.052 c
14-1083794584
AlerX
2004-05-06 02:03
2004.05.30
RPG что происходит внутри


3-1083924108
WondeRu
2004-05-07 14:01
2004.05.30
Помогите написать SQL-запрос


7-1082626574
Alex_s
2004-04-22 13:36
2004.05.30
Работа с контроллером


6-1081768676
Геннадий
2004-04-12 15:17
2004.05.30
Как создать вложение при отправке электронного письма? idSMTP


4-1082381434
S_S_S
2004-04-19 17:30
2004.05.30
Как переместить системные кнопки управления окном





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский