
- •Розділ 1. Об’єктно-орієнтоване програмування
- •Тема 1.1. Візуальне програмування.
- •Тема 1.2. Приклади та застосування інкапсуляції, успадкування, поліморфізму.
- •Тема 1.3. Бібліотека візуальних компонентів vcl та її базові класи.
- •1. Клас tWinControl.
- •2. Клас tСustomControl.
- •3. Клас tGraphicControl.
- •Тема 1.4. Обробка виняткових ситуацій.
- •1. Використовування виняткових ситуацій.
- •2. Протоколювання виняткових ситуацій.
- •3. Коди помилок у виняткових ситуаціях.
- •4. Виняткова ситуація eAbort. Функція Assert.
- •Розділ 2. Мова програмування Object Pascal.
- •Тема 2.1. Середовище Delphi.
- •Тема 2.2. Елементи мови Object Pascal.
- •1. Коментарі.
- •2. Логічні вирази.
- •Тема 2.3. Типи даних, процедури та функції.
- •1. Вказівники та динамічна пам'ять. Динамічна пам'ять
- •Вказівники
- •Виділення і звільнення динамічної пам'яті
- •Процедури і функції для роботи з динамічною пам'яттю
- •Тема 2.4. Управляючі структури Object Pascal.
- •Розділ 3. Програмування в середовищі Delphi.
- •Тема 3.1. Застосування списків. Способи запису/читання зі списків.
- •Є списком CheckBox елементів.
- •Тема 3.2. Масиви.
- •1. Пошук мінімального (максимального) елементу масиву.
- •2. Пошук в масиві заданого елементу.
- •Тема 3.3. Робота з файлами.
- •Тема 3.4. Типи даних визначені програмістом.
- •1. Показники.
- •2. Динамічні змінні.
- •Тема 3.5. Графічні програми.
- •1. Бітові образи.
- •2. Мультиплікація.
- •Властивості компоненту Timer
- •Тема 3.6. Приклади застосування анімацій у Delphi.
- •Тема 3.7. Рекурсія.
- •1. Крива Гільберта.
- •2. Пошук шляху.|колії|
- •Значення властивостей компоненту stringGrid1
- •3. Пошук найкоротшого шляху.|колії|
- •Тема 3.8. Компоненти для інтернету. Компонента tSocketConnection
- •Розділ 4. Бази даних.
- •Тема 4.1. Види баз даних. Структура та зв’язки між таблицями. Бази даних
- •Класифікація баз даних
- •Структура бази даних
- •Модель бази даних в Delphi
- •Тема 4.2. Модифікація структури таблиці в bde.
- •1. Зміна структури таблиці.
- •2. Встановлення перевірок правильності даних.
- •3. Завдання вторинних індексів.
- •Тема 4.3. Об’єкти відображення даних бази даних Delphi.
- •1. Класифікація компонентів відображення даних.
- •2. Елемент керування тdbGrid.
- •3. Компонент tdbEdit.
- •4. Компонент tdNavigator.
- •Тема 4.4. Обчислювальні поля і поля підстановки в Delphi.
- •1. Створення поля підстановки (поля синхронного перегляду).
- •2. Обчислювальні поля.
- •Тема 4.5. Компонента tdbEdit.
- •Тема 4.6. Переміщення по записам таблиці. Набір методів і властивостей tDataSet. Огляд
- •Клас tDataSet
- •Відкриття і закриття DataSet
- •Тема 4.7. Налаштування фільтрів.|
- •Тема 4.8. Приклади застосування пошуку.
- •Тема 4.9. Поєднання різних видів пошуку.
- •Тема 4.10. Типи даних та пошук в діапазоні.
- •Список літератури
Тема 4.7. Налаштування фільтрів.|
Процедура ApplyRange дозволяє Вам встановити фільтр, який обмежує діапазон записів, що проглядаються. Наприклад, в БД Customers, поле CustNo має діапазон від 1,000 до 10,000. Якщо Ви хочете бачити тільки ті записи, які мають номер замовника між 2000 і 3000, то Ви повинні використовувати метод ApplyRange, і ще два пов'язаних з ним методу. Дані методи працюють тільки з індексованим полем.
Ось|от| процедури, які Ви найчастіше використовуватимете при установці фільтрів:
procedure| SetRangeStart|;
procedure| SetRangeEnd|;
procedure| ApplyRange|;
procedure| CancelRange|;
Крім того, у|біля| TTable| є додаткові методи для управління фільтрами:
procedure| EditRangeStart|;
procedure| EditRangeEnd|;
procedure| SetRange|;
Для використання цих процедур необхідно:
Спочатку викликати SetRangeStart і використовувати властивість Fields для визначення початку діапазону.
Потім викликати SetRangeEnd і знов використовувати властивість Fields для визначення кінця діапазону.
Перші два кроки готують фільтр, і тепер все що Вам необхідне, це викликати ApplyRange, і новий фільтр набуде чинності.
Коли потрібно припинити дію фільтру – викличте CancelRange.
Програма RANGE|, яка є серед прикладів|зразків| Delphi|, показує, як використовувати ці процедури. Щоб|аби| створити програму, помістите TTable|, TDataSource| і TdbGrid| на форму. З'єднаєте їх так, щоб Ви бачити таблицю CUSTOMERS| з|із| підкаталогу DEMOS|. Потім помістите два об'єкти TLabel| на форму і назвіть|накликайте| їх ‘Start| Range|’ і ‘End| Range|’. Потім покладете на форму два об'єкти TEdit|. Нарешті|урешті|, додайте|добавляйте| кнопки ‘ApplyRange|’ і ‘CancelRange|’.
Процедури SetRangeStart і SetRangeEnd дозволяють Вам вказати перше і останнє значення в діапазоні записів, які Ви хочете бачити. Щоб почати використовувати ці процедури, спочатку виконаєте double-click на кнопці ApplyRange, і створіть процедуру, яка виглядає так:
procedure| TForm1|.ApplyRangeBtnClick(Sender|: TObject|);
begin|
Table1|.SetRangeStart;
if| RangeStart|.Text <> ''| then|
Table1|. Fields|[0].AsString := RangeStart|.Text;
Table1|.SetRangeEnd;
if| RangeEnd|.Text <> ''| then|
Table1|.Fields[0].AsString := RangeEnd|.Text;
Table1|.ApplyRange;
end|;
Спочатку викликається процедура SetRangeStart, яка переводить таблицю в режим діапазону (range mode). Потім Ви повинні визначити початок і кінець діапазону. Звернете увагу, що Ви використовуєте властивість Fields для визначення діапазону:
Table1|.Fields[0].AsString := RangeStart|.Text;
Таке використання властивості Fields| – це спеціальний випадок, оскільки|тому що| синтаксис, показаний тут, зазвичай|звично| використовується для установки значення поля. Цей спеціальний випадок має місце тільки|лише| після того, як Ви перевели|перекладали| таблицю в режим діапазону, викликавши|спричиняти| SetRangeStart|.
Завершальний крок в процедурі показаної вищий – виклик ApplyRange. Цей виклик фактично приводить ваш запит в дію. Після виклику ApplyRange, TTable більше не в знаходиться в режимі діапазону, і властивості Fields функціонує як завжди.
Обробник події натиснення кнопки ‘CancelRange|’:
procedure| TForm1|.CancelRangeBtnClick(Sender|: TObject|);
begin|
Table1|.CancelRange;
end|;
Питання для самоконтролю:
Які процедури найчастіше використовують при установці фільтрів?
Що необхідно зробити для виконання цих процедур?
Які є додаткові методи для управління фільтрами?