уку не задається, а використовуються індексні поля відповідно до поточного індексом. Якщо пошук завершився успішно, то знайдений запис стає поточною, а метод повертає значення True. При невдалому пошуку покажчик поточного запису не рухається, а результатом методу буде значення False.
Якщо заданим умовам пошуку відповідає кілька записів, то покажчик поточного запису встановлюється на першу з них. Порядок сортування і, відповідно, порядок розташування записів у наборі даних визначається поточним індексом, за яким і ведеться пошук.
Замість методу FindKey можна використовувати методи SetKey, EditKey і GotoKey, які застосовуються спільно. Їх використання схоже на використання вже розглянутих методів SetRangeStart, EditRangeStart і ApplyRange для фільтрації набору даних по діапазону значень.
Метод SetKey переводить набір даних в режим dsSetKey пошуку запису. Цей метод викликається один раз для поточного індексу. Згодом для переходу в режим пошуку можна викликати метод EditKey. Якщо набір даних знаходиться в режимі пошуку, значення полів встановлюються за допомогою операторів присвоювання. Метод GotoKey: Boolean виконує власне пошук запису, що задовольняє заданій умові.
Метод FindNearest, на відміну від методу FindKey, здійснює пошук значень полів записів набору даних Table, які частково збігаються зі значеннями, заданими для пошуку. Частковий збіг допускається для початку значення поля запису. Такий пошук можна застосовувати до рядків і до даних іншого типу, наприклад, целочисленного. Пошук за допомогою процедури FindNearest (const KeyValues: array of const) Завжди є успішним і перемішає покажчик поточного запису на запис, яка найбільш відповідає умовам пошуку.
Замість методу FindNearest можна використовувати комбінацію методів SetNearest, EditNearest І GotoNearest, робота з якими аналогічна роботі з відповідними методами пошуку, які вимагають точної відповідності значень полів і значень, заданих для пошуку.
2.6 Модифікація набору даних
Модифікація набору даних - це редагування, додавання і видалення його записів. Відзначимо, що фільтрація не призводить до зміни набору даних, в результаті фільтрації тільки змінюється кількість записів, видимих ??в наборі даних.
Щоб набір даних можна було змінювати, він повинен бути модифікується. За допомогою відповідних властивостей розробник може дозволити або заборонити зміну набору даних.
Управляти зміною набору даних Table можна за допомогою властивості ReadOnly типу Boolean, при установці якого значення True зміни записів заборонені. За замовчуванням властивість ReadOnly має значення False, тобто набір даних можна модифікувати.
Значення властивості ReadOnly можна змінювати тільки для закритого набору даних. На відміну від багатьох керуючих елементів, наприклад, редакторів Edit і Memo, заборона редагування відноситься до візуального (користувачем) і програмному зміни записів набору даних.
Можливість модифікації набору даних Query визначає властивість RequestLive типу Boolean. За умовчанням це властивість має значення False, тобто набір даних Query доступний тільки для читання. Для отримання можливості редагування записів властивості RequestLive потрібно встановити значення True. Крі...