ЛАБОРАТОРНАЯ РАБОТА № 9. Тема: Создание формы прихода продуктов на склад

Тема: Создание формы прихода продуктов на склад.

Цель: Научиться создавать формы и навигатор

Оборудование и/или программное обеспечение: ПК, Delphi

Теоретическая часть

Давайте уберем некоторые кнопки с нашего компонента TDBNavigator. Для этого щелкнем по раскрывающемуся свойству VisibleButtons. Появится список кнопок нашего "навигатора". Чтобы отключить определенную кнопку, надо присвоить ей значение False. Уберите кнопки nbRefresh, nbEdit и nbCancel.

У TDBNavigator есть еще одно очень интересное свойство ShowHint, которое может принимать два значение True и False. Напомним, что это свойство отвечает за то, будут ли появляться всплывающие подсказки при наведение курсора на компонент. Давайте установим это значение в True и запустим нашу программу. Можно заметить, что при наведении курсора мыши на какую либо кнопку появляется подсказка.

Напомним, что эти подсказки можно редактировать. Для этого у компонента TDBNavigator существует свойство Hints, являющееся аналогом свойства Hint, отвечающего за текст подсказки.

Свойство Hints имеет тип TString, оно содержит 10 текстовых строк, определяющих текст подсказок (рисунок 1). Несмотря на то, что мы удалили некоторые кнопки из компонента TDBNavigator, подсказки для них остались, причем они расположены в определенной последовательности. Давайте заменим подсказки следующим образом:

First record -> Первая записьPrior record -> Предыдущая записьNext record -> Следующая записьLast record -> Последняя записьInsert record -> Добавить записьDelete record -> Удалить записьEdit record -> Редактировать записьPost edit -> Сохранить измененияCancel edit -> Отменить измененияRefresh data -> Обновить

ЛАБОРАТОРНАЯ РАБОТА № 9. Тема: Создание формы прихода продуктов на склад - student2.ru
Рис.1. Свойство Hints компонента TDBNavigator

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

ЛАБОРАТОРНАЯ РАБОТА № 9. Тема: Создание формы прихода продуктов на склад - student2.ru
Рис.2. Работающее приложение

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

Практическая часть

На этом уроке мы создадим последнюю форму для прихода продуктов. В ней будет происходить выбор продуктов прихода.

Приступим к созданию формы.

Создаем новую форму File->New->Form –Delphi

В инспекторе объектов устанавливаем следующие свойства для новой формы

Name -> Form_select_prod;

Visible->False;

Сохраните модуль с именем select_prod.

Пропишем uses general, prihod_prod; после раздела implementation {$R *.dfm} в программном модуле unit select_prod.

А программном модуле unit select_prod формы prihod_prod пропишем uses general, prihod, unit_dm, select_prod;

Далее размещаем на форме следующие компоненты

Две кнопки TButtonшесть компонентов TLableиз вкладки Standart

В инспекторе объектов для Button1 устанавливаем свойство Caption -> ОК;

для Button2 устанавливаем свойство Caption -> Отмена;

дляLabel1устанавливаем свойство Caption -> Группа;

дляLabel2устанавливаем свойство Caption -> Ед.изм.;

дляLabel3устанавливаем свойство Caption -> Количество;

дляLabel4устанавливаем свойство Caption -> Цена;

дляLabel5устанавливаем свойство Caption -> Сумма;

дляLabel6устанавливаем свойство Caption ->Срок реализации.


Из вкладки Win32,компонентTDateTimePicker

В инспекторе объектов для него устанавливаем свойство Format -> dd.MM.yyyy, Time -> 0:00:00;


Из вкладки Data Accessпомещаем на форму три компонента TDataSource.

для DataSource1в инспекторе объектов свойство Nameзаписываем product_group,

DataSet-> Form_general.table_product_group;

для DataSource2в инспекторе объектов свойство Nameзаписываем products,

DataSet-> Form_general.table_products;

для DataSource3в инспекторе объектов свойство Nameзаписываем ed_izmer,

DataSet-> Form_general.table_ed_izmer;


Из вкладки Data Controls помещаем на форму три компонента TDBLookupComboBox и три TDBEdit.

для DBLookupComboBox1 в инспекторе объектов свойство Nameзаписываем DBLookup_product_group, ListSource -> product_group , ListField-> product_name, KeyField->id, DataSource-> Form_prihod_prod.storage, DataField-> id_product_group.

для DBLookupComboBox2 в инспекторе объектов свойство Nameзаписываем DBLookup_products, DataSource-> Form_prihod_prod.storage, DataField-> product.

для DBLookupComboBox3в инспекторе объектов свойство Nameзаписываем DBLookup_ed_izmer, DataSource-> Form_prihod_prod.storage, DataField-> ed_izmer.

дляDBEdit1в Name-> quantity, DataSource-> Form_prihod_prod.storage, DataField-> quantity;


дляDBEdit2в Name-> price, DataSource-> Form_prihod_prod.storage, DataField-> price;


дляDBEdit3в Name-> summ, DataSource-> Form_prihod_prod.storage, DataField-> summa, ReadOnly->True.

Далее располагаем компоненты формы как показано на рисунке:

ЛАБОРАТОРНАЯ РАБОТА № 9. Тема: Создание формы прихода продуктов на склад - student2.ru

Вопросы для контроля

1. Для чего служит свойство ShowHint?

2. Для чего служит свойство Hints?

3. Для чего нужен компонент TDateTimePicker?

4. Для чего нужен компонент TDataSource?

5. Для чего нужен компонент TDBLookupComboBox?

Литература

1. Фаронов В.В. Программирование на языке высокого уровня: Учебник для вузов. -СПб.: Питер, 2003.

2. Бобровский С.И. Delphi 7. Учебный курс. - СПб.: Питер, 2005.

3. Кетков Ю.Л., Кетков А.Ю. Практика программирования: Visual Basic, C++ Builder, Delphi. - СПб.: БХВ - Петербург, 2005.

Наши рекомендации