Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab_raboty_BD_2012-13.docx
Скачиваний:
33
Добавлен:
20.03.2016
Размер:
8.97 Mб
Скачать

7.1. Создание формы с использованием таймера

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

  1. Используя таблицы Goods, Ordsaled и Ordsalem, создайте представление данных, содержащее наименование товара, суммарное количество проданного товара и суммы продаж по данному товару.

  2. Сгруппируйте данные по коду товара.

  3. Сохраните созданное представление данных.

  4. Откройте новое окно конструктора форм.

  5. Откройте окно среды окружения формы и добавьте в него созданное представление.

  6. Создайте в форме объект Grid (Таблица), разместив в нем все поля представления данных.

  7. Для отображения текущей даты и времени расположите два поля ввода curdate и curtime. Скорректируйте для данных объектов свойство Readonly (Только чтение), установив значение True (Истина).

  8. Для создания объекта-таймера нажмите кнопку Timer (Таймер) на панели инструментов Form Controls (Элементы управления формы) и расположите его в форме.

  9. Откройте окно процедур для метода Timer (Таймер).

  10. Для присвоения значений созданным полям curdate и curtime, а также для обновления данных о продаже товаров через заданный интервал времени введите в окне процедур следующие значения:

This.Parent.CurDate.Value = DATE()

This. Parent.CurTime.Value = TIME()

This.Parent.CurDate.Refresh()

This.Parent.CurTime.Refresh()

ThisForm.Gridl.Refresh()  

  1. Определите интервал времени, через который необходимо производить обновление данных в таблице. Для этого воспользуйтесь свойством interval (Промежуток времени), значение которого задается в миллисекундах. Для обновления данных каждые 10 мин введите значение 600 000.

  2. Форма готова. Сохраните ее и запустите на выполнение.

Рис. 24. Использование таймера в форме

Рис. 25. Просмотр итоговых продаж через заданный промежуток времени

При работе в сети каждый час на экране будет обновляться информация об итоговом количестве продаж товаров и их стоимости. На рис. 24 показан вид созданной формы, а на рис. 25 — просмотр данных с помощью этой формы.

8. Добавление данных в список

Список может формироваться из значений, содержащихся в поле таблицы, массива, запроса и т. п. В этой главе рассмотрим создание списка, значения которого вводятся в интерактивном режиме пользователем с использованием дополнительного поля ввода.

Создание списка рассмотрим на примере редактирования поля, содержащего город, для таблицы Customer. Для создания формы:

  1. Откройте форму для ввода списка клиентов в окне конструктора форм.

  2. Нажмите кнопку List Box (Список) на панели инструментов Form Controls (Элементы управления формы).

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

  4. Откройте окно свойств для размещенного в форме списка.

  5. Скорректируйте свойство Name (Имя) созданного объекта, присвоив ему имя IstCity.

  6. Чтобы связать созданное поле с полем таблицы customer, выберите свойство controisource (Источник данных). В поле ввода значения свойства воспользуйтесь кнопкой раскрытия списка и из списка всех полей открытой таблицы Customer выберите поле ccity.

  7. Скорректируйте свойство RowSourceType (Тип источника данных), которое указывает тип источника данных. Выберите из списка значение Value (Значение), поскольку список городов будет формироваться с помощью вводимых значений.

  8. Используя кнопку Text Box (Поле ввода) на панели инструментов Form Controls (Элементы управления формы), создайте под списком поле редактирования.

  9. Скорректируйте свойство Name (Имя) поля редактирования, присвоив ему имя txtAddText.

  10. Используя окно процедур свойства Keypress (Нажатие клавиши), введите в нем следующие команды:

LPARAMETERS nKeyCode, nShiftCtrlAlt

IF nKeyCode = 13 && 13 код клавиши <Enter>

IF EMPTY(THIS,Value)

* добавляем значение в список

THISFORM.lstCity.Addltem (THIS.Value}

ENDIF

* очищаем поле ввода

THIS.Value = ""

ENDIF

Эта процедура позволит пользователю ввести текст в поле ввода и нажатием клавиши <Enter> добавить значение в список, освободив окно для ввода следующей информации (рис. 26).

Рис. 26. Определение свойства KeyPress

Теперь при запуске формы на выполнение значения, введенные в поле ввода Поле формирования списка, при нажатии клавиши <Enter> переносятся в список городов (рис. 27).

Рис. 27. Формирование списка с помощью поля ввода в диалоговом режиме

Приложение 2