Мал. 10. Значок компоненту DBNavigator знаходиться на вкладці Data Controls
Мал. 11. Компонент DBNavigator
Табл. 12 містить описи дій, які виконуються в результаті клацання на відповідній кнопці компоненту DBNavigator.
Властивості компоненту DBNavigator перераховані в табл. 17.13.
Таблиця 13. Властивості компоненту DBNavigator
Властивість | Визначає | ||
VisibleButton3 | Видимі командні кнопки | ||
Name DataSource | Ім'я компоненту. Використовується для доступу до властивостей компоненту Ім'я компоненту, що є джерелом даних. Як джерело даних може виступати база даних (компонент Database), таблиця (компонент Table) або результат виконання запиту (компонент Query) | ||
Слід звернути увагу на властивість visibieButtons. Воно дозволяє приховати деякі кнопки компоненту DBNavigator і тим самим заборонити виконання відповідних операцій над файлом даних. Наприклад, привласнивши значення False властивості VisibieButtons.nbDelete можна приховати кнопку nbDelete і тим самим заборонити видалення записів.
На мал. 12 приведений вид форми додатку Архітектурні пам'ятники Санкт-Петербурга після додавання компоненту DBNavigator. Властивості DataSource компоненту DBNavigator1 слід привласнити значення Table1.
Мал. 12. Остаточний вид форми додатку Архітектурні пам'ятники Санкт-Петербурга
В принципі, після додавання у форму компоненту DBNavigator проста програма управління базою даних готова. Ця програма забезпечує перегляд, редагування, додавання нових і видалення непотрібних записів.
Тепер розглянемо, що треба зробити, щоб в полі imagei з'явилося зображення пам'ятника, інформація про яке виведена у формі. Застосування, що розробляється, припускає, що зображення (фотографії) архітектурних пам'ятників знаходяться у файлах в тому ж каталозі, що і таблиця бази даних. Під час додавання інформації в базу даних користувач вводить в поле Photo ім'я файлу фотографії, а під час перегляду фотографія автоматично з'являється в полі image 1.
У лістингу 1 приведений текст модуля програми Архітектурні пам'ятники Санкт-Петербурга.
Лістинг 1. База даних "Архітектурні пам'ятники Санкт-Петербурга"
unit peter_;
interface
Uses
Windows, Messages, SysUtils
Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls
DBCtrls, Mask, Db, DBTables,
jpeg; // щоб можна було виводити JPG-иллюстрации;
Type
TForml = class(TForm)
Tablel: TTable; . // база даних — таблиця
DataSourcel: TDataSource; // джерело даних для полів
// редагування-перегляду
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
DBEditl: TDBEdit;
DBEdit2: TDBEdit;
DBMemo1: TDBMemo;
Image1: Тimage;
DBEdit3: TDBEdit;
DBNavigatorl: TDBNavigator;
Label4: TLabel;
procedureTablelAfterScroll(DataSet: TDataSet);
procedureDBEdit3KeyPress(Sender: TObject; varKey: Char);
procedureDBNavigatorlClick(Sender: TObject; Button: TNavigateBtn)