Продолжаем закреплять полученные знания о компонентах ввода данных и дорабатываем проект “Библиотека” v.2.2

Требования заказчика

Доработать проект Библиотека v.2.2:

  • для книги хранить год издания
  • хранить дату рождения автора
  • сделать форму редактирования для каталога книг

Проектирование

Очевидно, что для реализации требований заказчика требуется доработка структуру хранения данных. Поэтому мы повышаем номер версии проекта, и добавляем новые поля:

  • book.year_of_publishing – целое число
  • author.birthday – дата

В проекте добавляется одна форма для редактирования каталога книг. А на форме редактирования книги добавляются поля для редактирования краткого описания и года издания.

🔨 Внесите данную информацию в проектную документацию.

Новые поля

🔨 Добавьте необходимые поля в таблицы:

Новые поля будут необязательными к заполнению.

📝 В разделе “Редактор структуры БД” содержится подробное описание того, как добавлять новые поля.

Новая форма

🔨 Создайте форму редактирования книги efmBook, установите свойства согласно таблице 1.

СвойствоЗначениеПримечание
NameefmBook
CaptionКнига
Width418
Height230
BorderIcons.MinimizeFalseУбираем кнопку минимизации из заголовка формы.
ShowOnTaskbarFalseПри отображении формы на панели приложений не будет появляться отдельная иконка для формы, будет только иконка приложения (основной формы).

📝 Базовую информацию о форме и её свойствах можно найти в первом проекте.

На форму добавьте компоненты: два поля ввода текста (1) (для названия и для года издания), две кнопки (2) (для сохранения и отмены сохранения), два выпадающих списка (3) (для автора и для жанра) и поле для ввода краткого содержания (4).

🔨 Настройте свойства полей ввода текста.

СвойствоПоле_1Поле_2Примечание
NameedtNameedtYearOfPublishing
TableNamebookbook
FieldNamenameyear_of_publishing
Font.Size1111Увеличим размер отображения данных с 9 до 11 пунктов
Top1616
Left8344
Width32166
Height2828Высота компонента устанавливается автоматически при редактировании свойства Font.Size
TextHintНазвание книгиГод
NumbersOnlyTrue

🔨 Настройте свойства у выпадающих списков.

СвойствоСписок_1Список_2Примечание
NamecmbAuthorcnbGenre
TextHintАвторЖанр
ForeingKeybook.id_authorbook.id_genre
FieldNamenamename
Font.Size1111
Top5656
Left8216
Width193193
Height2828Устанавливается автоматически при смене размера шрифта
Anchors[Right,Bottom][Right,Bottom]

📝 Настройка выпадающего списка подробно описана в разделе “Выпадающий список

🔨 Настройте свойства компонента Memo

СвойствоЗначениеПримечание
NamememSummary
HintКраткое содержание
ShowHintTrue
TableNamebook
FieldNamesummary
Font.Size11
Top96
Left8
Width401
Height89
ScrollBarsssVerticalВертикальная полоса прокрутки позволит просматривать длинные тексты

📝 Настройка многострочного поля ввода подробно описана в разделе “Ввод длинного текста

🔨 Настройте свойства у кнопок.

СвойствоКнопка_1 Кнопка_2Примечание
NamebtnSavebtnCancel
CaptionСохранитьОтменить
Action[Сохранить запись][Закрыть форму]
IconSaveCancel
Top196196
Left210314
Width9797
Height2525
Anchors[Right,Bottom][Right,Bottom]

🔨 У кнопки btnSave укажите компоненты, которые являются источником данных для записи в таблицу book.

Главная форма

На главной форме отключаем редактирование внутри таблицы и добавляем три кнопки для добавления, редактирования и удаления записей.

🔨 Задайте новые значения свойствам таблицы:

СвойствоЗначениеПримечание
Top4040 пикселей выделим для кнопок…
Height320…и уменьшим высоту таблицы на 40 пикселей
Editable.AllowCreatefalseОтключаем редактирование внутри таблицы
Editable.AllowEditfalse
Editable.AllowDeletefalse

На форме справочников нам понадобятся три кнопки: для добавления, редактирования и удаления записей.

🔨 Добавьте на форму frmMain три кнопки. Задайте значения свойствам кнопок:

СвойствоКнопка_1Кнопка_2Кнопка_3Примечание
NamebtnNewbtnEditbtnDelete
CaptionДобавитьРедактироватьУдалить
iconNewEditDelete
StylebsCommandLinebsCommandLinebsCommandLine
Width120150120
Height404040
Top000
Left0120270
Actions[НОВАЯ ЗАПИСЬ][ПОКАЗАТЬ ЗАПИСЬ][УДАЛИТЬ ЗАПИСЬ]

📝 Подробнее о настройках кнопок см. раздел “Проект Библиотека v.2.2

Форма редактирования автора

На форме редактирования необходимо добавить компонент для ввода даты, предварительно увеличив размеры формы. Добавьте новый компонент (dtpBirthday) в список для сохранения данных в кнопке btnSave.

🔨 Настройте свойства компонента Date Time Picker

СвойствоЗначениеПримечание
NamedtpBirthday
HintДень рождения
ShowHintTrue
TableNameauthor
FieldNamebirthday
Font.Size11
Top56
Left8
Width225
Height28

Немного стиля

Кнопки со стилем bsCommandLine лучше сочетаются со светлым дизайном приложения, чем со стилем bsPushButton, поэтому вполне логично заменить стиль на кнопках, которые находятся на формах frmGenre и frmAuthor. Не забудьте сдвинуть таблицы, так как кнопки станут более высокими (оптимальную ширину кнопок подберите самостоятельно) и сменить цвет формы на цвет таблицы (clWindow).

🔨 Самостоятельно выполните корректировки на формах frmGenre и frmAuthor.

Подведение итогов

Теперь у каждой табличной формы есть своя форма редактирования, а вы освоили использование самых популярных компонентов: поля для ввода текста и даты, а также использование выпадающего списка для редактирования ссылочных значений. Теперь можно продолжить знакомство с другими компонентами редактирования.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *