- •Палітра Компонентів Delphi
- •Редактор Коду Delphi
- •Конструктор Форм
- •Інспектор Об’єктів. Принцип візуальної розробки програм
- •Завершення роботи з проектом та створення нового проекту
- •Збереження проекту
- •Відкриття існуючого проекту
- •Завершення виконання Delphi-програми
- •Лабораторна робота №1
- •Робота з Delphi-програмою Структура Delphi-програм
- •Виконання Delphi-програми
- •Завдання
- •Теоретичні відомості
- •Лабораторна робота №2
- •Розробка проекту «Діалог»
- •Мал. Діалог Аналіз проекту
- •Хід роботи
- •Завдання для самостійного виконання
- •Лабораторна робота №3
- •Завдання
- •Теоретичні відомості
- •Лабораторна робота №4
- •Розробка проекту «Ваша вага»
- •Хід роботи
- •Розробка проекту «Обмін валюти»
- •Хід роботи
- •Лабораторна робота №5
- •Завдання
- •Хід роботи
- •Теоретичні відомості Оператори if і case мови Паскаль
- •Кнопки-перемикачі в Delphi|
- •Лабораторна робота №6
- •Завдання
- •Хід роботи
- •Теоретичні відомості Типи даних для роботи з|із| рядками Короткі рядки типу|типа| ShortString| і String|[n]
- •Довгий рядок типу|типа| String|
- •Компонент tComboBox|
- •Компонент tBitBtn|
- •Обробка подій
- •Лабораторна робота №7
- •Розробка проекту «Гороскоп»
- •Хід роботи
- •Розробка проекту «Фізичний конвектор»
- •Хід роботи
- •Лабораторна робота №8
- •Розробка проекту «Рейтинг країн за результатами олімпійських змагань»
- •Хід роботи
- •Лабораторна робота №9
- •Розробка проекту «Журнал олімпіади»
- •Хід роботи
- •Лабораторна робота №10
- •Завдання
- •Хід роботи
- •2. Установка
- •3. Тестування створеної компоненти
- •Лабораторна робота №11
- •Розробка проекту «Побудова графіка функції»
- •Хід роботи
- •Лабораторна робота №12
- •Розробка проекту «Графічний конструктор»
- •Хід роботи
- •Лабораторна робота №13
- •Розробка проекту «Чат для локальної та глобальної мережі»
- •Хід роботи
- •Розробка форми на настройок
- •Розробка програмного коду
- •Лабораторна робота №14.
- •Завдання
- •Хід роботи
- •Теоретичні відомості
- •Етапи створення баз даних в Delphi.
- •Компонент тТаblе
- •Модуль даних
- •Лабораторна робота №15
- •Завдання
- •Хід роботи
- •Теоретичні відомості
- •Лабораторна робота №16
- •Завдання
- •Хід роботи
- •Теоретичні відомості
- •Лабораторна робота №17
- •Завдання
- •Хід роботи
- •Теоретичні відомості
- •Лабораторна робота №18
- •Завдання
- •Хід роботи
- •Теоретичні відомості
- •Список літератури
Лабораторна робота №18
Тема: Пошук в діапазоні значень в базах даних Delphi.
Мета роботи: Навчити використовувати функції SetRangeStart, SetRangeEnd, ApplyRange.
Завдання
Створити програму для пошуку в діапазоні значень.
Хід роботи
Відкрийте попередній проект і доповніть інтерфейс форми 2, як показано на рисунку 1.
Запишіть коди для обробника натискування на кнопку Locate, за допомогою яких здійснюється пошук запису в наборі Замовлення за заданими значеннями Дата замовлення та Замовлена кількість (при цьому необхідно перетворбвати дані задані в рядковому редакторі до типу, який присвоєний відповідному полю).
Доповніть інтерфейс форми 2, як показано на рисунку 2.
Запишіть коди для обробника натискування на кнопку FindKey, за допомогою яких здійснюється пошук запису в наборі Замовлення за заданими його номером.
Запишіть коди для обробника натискування на кнопку FindNearest, за допомогою яких здійснюється приблизний пошук запису в наборі Замовлення за заданими його номером.
Перевірте роботу програми.
|
Рис 2. |
За допомогою програми Database Desctop встановіть в таблиці замовлення вторинний індекс по полю Data_zamov.
Запишіть коди для обробника натискування на кнопку SetKeyGotoKey, за допомогою яких здійснюється пошук запису в наборі Замовлення за вказаною датою замовлення (використавши вторинний індекс Data_zamov).
Запишіть коди для обробника натискування на кнопку GotoNearestet, за допомогою яких здійснюється наближений пошук запису в наборі Замовлення за вказаною датою замовлення (використавши вторинний індекс Data_zamov).
Доповніть інтерфейс форми 2, як показано на рисунку.
Запишіть коди для обробника натискування на кнопку Пошук в діапазоні, за допомогою яких здійснюється пошук набору записів в наборі Замовлення за заданими початковою і кінцевою датою замовлення.
Теоретичні відомості
В наборі даних, окрім фільтрів, є ще один засіб відбору записів. Група методів дозволяє на основі використання індексів відбирати до набору даних тільки ті записи, значення індексованих полів яких (для поточного індексу) відповідають діапазону заданих величин.
Діапазони працюють швидше фільтрів, але менш гнучкі і не так зручні в роботі. При використанні діапазонів набір даних обов’язково повинен знаходитися в стані dsSetKey.
Для того щоб включити діапазон, необхідно задати стартове і кінцеве значення діапазону для індексованих полів, потім примінити створений діапазон до набору даних. Працюючий діапазон можна модифікувати.
Всі методи роботи з діапазонами використовують ті поля, які задані в поточному індексі. Для таблиць Paradox і dBASE це властивість IndexName. Для таблиць серверів SQL це властивість indexFieldNames.
Метод SetRangeStart переводить набір даних в режим dsSetKey, наступні за цим присвоювання ключовим полям означає завдання початкової межі діапазону.
Метод SetRangeEnd також переводить набір даних в режим dsSetKey, наступне за цим присвоювання ключовим полям означає завдання кінцевої межі діапазону.
Після цього необхідно використати метод ApplyRange, який застосовує створений діапазон до набору даних:
with Tablel do begin
SetRangeStart;
Fields[0].Value := '439';
SetRangeEnd;
Fields[1].Value := '522';
ApplyRange;
end;
Працюючий діапазон можна модифікувати аналогічним чином: після виклику методів EditRangeStart і EditRangeEnd необхідно задати нові межі для ключових полів і знову викликати метод ApplyRange:
with Tablel do begin
EditRangeStart;
Fields [0] .Value := '500';
EditRangeEnd;
Fields[1].Value := '522';
ApplyRange;
end;
Відміна діапазону здійснюється методом CancelRange.
Якщо індекс містить декілька полів, то перед викликом методу ApplyRange необхідно задати значення для всіх ключових полів.
Для одночасного завдання верхньої і нижньої межі діапазону можна використати метод SetRange.
with Tablel do begin
SetRange(['500'], ['522']);
ApplyRange;
end;
Тим, яка границя буде у діапазону – відкрита чи закрита, керує властивість KeyExclusive. Якщо вона має значення True, граничні значення в діапазон не включаються, в противному випадку – включаються.
Зауваження. Значення кінцевих величин діапазону повинні бути реальними даними для заданого поля в наборі записів.
Питання для самоконтролю:
Які методи можна використати для пошуку по довільній виборці полів?
Яке призначення закладок у таблицях?
Які методи використовуються для роботи із закладками в наборі даних?
Які існуються методи пошуку по індексних полях?
Які методи використовуються для пошуку по вторинних індексах?
Які методи використовуються для пошуку у діапазоні даних?
Які переметри потрібно передати для пошуку у діапазоні даних?
Які методи використовуються для відміни діапазону і для застосування діапазону?

Рис
1.