реводиться в режим перегляду. Якщо поточна запис перебувала в режимах редагування або вставки, то перед переміщенням покажчика зроблені в записі зміни набирають чинності, для чого набір даних автоматично викликає метод CheckBrowseMode.
При переміщенні по записах набору даних пов'язані з ним візуальні компоненти відображають зміни даних, причому зміна відображення може відбуватися досить швидко.
Фільтрація записів - це завдання обмежень для записів, що відбираються в набір даних. Набір даних являє собою записи, набрані з однієї або декількох таблиць. Склад записів в наборі даних в даний момент часу залежить від встановлених обмежень, у тому числі і від фільтрів.
Система Delphi дає можливість здійснювати фільтрацію записів:
за висловом;
по діапазону.
При використанні фільтрації за висловом набір даних обмежується записами, що задовольняють висловом фільтра, задающему умови відбору записів.
Перевагою фільтрації за висловом є те, що вона застосовна до будь-яких полях, в тому числі і неіндексованих. У зв'язку з тим, що в процесі відбору проглядаються всі записи таблиці, фільтрація за висловом ефективна при невеликій кількості записів.
Для завдання вираження фільтра являє собою конструкцію, до складу якої можуть входити такі елементи:
імена полів таблиці;
літерали;
операції порівняння;
арифметичні операції;
логічні операції;
круглі і квадратні дужки.
Якщо ім'я поля містить пробіли, його укладають в квадратні дужки. Імена змінних у виразі фільтра використовувати не можна. Якщо у виразі фільтра потрібно включити значення змінної або властивості якого-небудь компонента, то це значення має бути перетворено в строковий тип. Операції порівняння являють собою звичайні відносини lt;, gt;, =, lt; =, gt; =, lt; gt ;. Арифметичними є операції +, -, * і /. В якості логічних операцій можна використовувати AND, OR і NOT. Круглі дужки застосовуються для зміни порядку виконання арифметичних і логічних операцій.
Набір даних Table допускається дві сп?? соба завдання умови фільтрації: су допомогою виразу фільтра Filter і в обробнику події OnFilterRecord.
При фільтрації по діапазону в набір даних включаються записи, значення полів яких потрапляють в заданий діапазон, тобто умовою фільтрації є вираз виду значення gt; нижня межа AND значення lt; верхньої межі raquo ;. Така фільтрація застосовується до наборів даних Table.
Для включення і виключення фільтрації по діапазону застосовуються методи ApplyRange і CancelRange. Перший з них активізує фільтрацію, а інший - деактивізує. Попередньо для індексного поля або полів, за яким виконується фільтрація, слід задати діапазон допустимих значень. Коли одна з меж діапазону не задана, то діапазон відкритий, тобто нижня межа стає рівною мінімально можливого, а верхня межа - максимально можливому значенню цього поля.
Пошук запису, що задовольняє певним умовам, означає перехід на цю запису. Пошук в чому схожий на фільтрацію, так як в процесі пошуку також виконується перевірка полів записів на деякі умови.
Відмінність полягає в тому, що в результаті пошуку кількість записів в наборі даних не змінюється. При організації пошуку записів важливе значення має наявність індекси для полів, за якими ведеться пошук. Індексування значно підвищує швидкість обробки даних, крім того, ряд методів може працювати тільки з індексованими полями.
Для пошуку записів по полях служать методи Locate і Lookup, причому поля можуть бути не індексованими. Функція Locate шукає запис із заданими значеннями полів. Якщо задовольняють умовам пошуку записи існує, то покажчик поточної запису встановлюється на першу з них. Якщо запис знайдений, функція повертає значення True, в іншому випадку значення False. Зазвичай при розробки додатку користувачеві надається можливість впливати на процес пошуку су допомогою керуючих елементів, розташованих на формі. Функція Lookup так само здійснює пошуку запису, що задовольняє певним умовам, але, на відміну від методу Locate, не переміщує покажчик поточного запису, а зчитує інформацію з полів запису. Ще одна відмінність між двома методами полягає в тому, що метод Lookup здійснює пошук на точну відповідність значень для пошуку і значень в полях записів з урахуванням регістру букв.
2. Розробка бази даних Бібліотека
Для розробки програми База даних Бібліотека обрана об'єктно-орієнтована інтерактивна середу Delphi 7.
База складає...