Друга стадія: додавання в базу даних – додаток перегляду класів у CBuilder

Тепер, коли ми вміємо завантажувати інформацію про класи, розташованих в будь-якому заголовному файлі, було б здорово, якби ми могли якось зберігати її, щоб користувачеві не доводилося щоразу завантажувати все заново для роботи з нею, що дуже уповільнює роботу користувача, тобто робить наш додаток неефективним Нам треба постійно зберігати інформацію (списки класів, властивостей і методів), щоб її можна було використовувати в інших проектах Іншими словами, нам потрібна база даних

Додати необхідні для зберігання завантаженої інформації частини в нашу програму зовсім не складно Все, що нам треба, – це додати кілька таблиць і кнопку для початку імпорту даних зі списків в базу Оновлена ​​версія форми програми перегляду класів показана на рис 173

Рис 172 Додаток перегляду файлів в дії

Рис 173 Оновлена ​​форма програми перегляду класів

У нашій новій версії ми збираємося додати функцію, яка буде зберігати дані про класи в таблицях бази даних Перше, що нам знадобиться, – це, природно, кілька таблиць, в яких ми і будемо зберігати дані

Для їх створення ми скористаємося програмою створення баз даних, освоєної нами в одній з попередніх глав (зрештою, чи не в цьому основна краса багаторазового використання коду)

У цьому додатку нам потрібні три таблиці баз даних – імен класів (ClassNames), методів (Methods) і властивостей (Properties) Очевидно, що таблиця ClassNames, що містить імена класів, завантажені з заголовного файлу, повинна містити поля для імені класу й унікального ідентифікатора класу Оскільки імена класів унікальні тільки в межах однієї іменованої області видимості, для створення звязків між таблицями нам і потрібно унікальний ідентифікатор класу У табл 171 показані поля, які ми будемо використовувати в таблиці імен класів

Таблиця 171 Таблиця ClassNames

Поле Тип Довжина ClassId        Character String    10 ClassName Character String     80

Визначивши поля, можна скористатися програмою створення баз даних для додавання цих полів у таблицю Отже, створіть таблицю з імям NamesDBF – файл dBase, який ми будемо використовувати далі в нашому додатку

Ми визначили основну таблицю для нашої бази даних, тепер треба будувати супровідні У першій буде зберігатися інформація про методи класу У даному випадку нам треба зберігати тільки власне опис методу Нам не треба аналізували вать індивідуальні особливості методу (такі, як повертається значення і аргументи) Насправді ми зовсім не потребуємо навіть в імені методу Чому Все, що ми збираємося зробити, – це дозволити користувачеві генерувати методи в заголовок класу і вихідний файл при генерації нового компонента З цієї причини немає ніякої потреби розділяти імя методу, типи повертаються значень і параметри Більш того, це призвело б до того, що вибрати завантажувані методи в списку стало б попросту неможливо Тому все, що нам треба зберігати, – це клас, якому належить метод (Щоб ми могли знайти його), і опис методу

У табл 172 показана структура таблиці методів Ідентифікатор класу – те ж саме значення, що і в таблиці імен класів Назва методу – це рядок, що містить повний опис методу Коли користувач вибирає метод для запису в новий компонент, ми просто записуємо цілком імя методу, що зберігається в цій таблиці

Таблиця 172 Таблиця Methods

Поле

Тип

Довжина

ClassId

Character String

10

Method

Character String

255

Використовуючи програму створення баз даних, створіть нову таблицю з імям MethodsDBF Це файл dBase, який ми будемо використовувати для зберігання інформації та про методи, отриманої нами при аналізі заголовного файлу Кожен раз, коли в таблицю класів буде заноситися чергове назва, ми будемо привласнювати йому ідентифікатор Той же самий ідентифікатор буде записуватися і при додаванні в таблицю методів, що дозволить нам без праці організувати посилання між таблицями і повязати необхідну нам інформацію

Джерело: Теллес М – Borland C + + Builder Бібліотека програміста – 1998

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*