Создание базы данных “Овощехранилище”, страница 2

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

Форма “Склад” предназначена для отображения упорядоченной информации о товарах хранящихся на складах. Рисунок 4 отображает внешний вид формы.


Рис.4. Форма “Склад”.

Форма “Склад” организована аналогично форме “Поставщик” и имеет теже элементы управления и редактирования записей. В форму так же введены две кнопки навигации “Поставщик” и “Запросы”.

Кнопка поставщик приводит к возврату на придыдущую форму, а кнопка “Запросы” производит переход на форму “Запросы”, рисунок 5.

          Форма “Запросы” содержит в себе “ссылки” на все запросы реализованные в системе, а также кнопки навигации “Поставщик” и “Склад”.

Так же введена кнопка “Отчет”, реализующая соответствующую функцию.


В целом интерфейс достаточно прост и интуитивно понятен.

Рис.5. Форма “Запросы”

4. Описание работы меню

Согласно заданию, в системе реализовано системное меню.

В меню определено три пункта: Forms, Report, Close menu.

Меню Forms производит создание новой копии выбранной формы.


Report и Close menu соответственно производят вызов отчета и закрытие системного меню. Внешний вид меню показан на рисунке 6.

Рис.6. Системное меню программы.

5. Руководство пользователя.

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

Данная программа может распространяться как exe или app файл (требуется построение загрузочного модуля) либо в виде файлов проекта. В последнем случае есть возможность конфигурировать работу системы.

6. Тексты программ с комментариями

Как было отмечено выше, программа представляет собой набор форм, посредствам которых производятся требуемые действия. По этой причине тексты программ представляют собой обработчики элементов управления.

Обработка запуска splash-формы.

Release ThisForm

Clear Events

Public TForm

Do menu1.mpr

Do form f3

Пример обработки кнопки перехода на новую форму.

Release ThisForm

Clear Events

Do form st

Обработка кнопки найти самый дорогой товар.

if thisform.Check1.value==1

select * from vegetables where prise = (select max(prise) from vegetables group by storage)

else

select top 1 * from vegetables order by prise DESC

endif

Обработка кнопки найти самый дешевый товар.

if thisform.Check1.value==1

select * from vegetables where prise = (select min(prise) from vegetables group by storage)

else

select top 1 * from vegetables order by prise ASC

endif

Обработка кнопки найти среднюю цену.

select avg(prise) from vegetables order by prise DESC

Обработка кнопки найти по ценовому интервалу.

В целом.

x31=ThisForm.T3_1.Value

x32=ThisForm.T3_2.Value

Do query31.qpr

По складу.

select * from vegetables where prise>val(ThisForm.T3_1.text)

and prise<val(ThisForm.T3_2.text) order by storage, prise

Обработка кнопки найти все товары производителя.

x=ThisForm.Combo1.Value

SELECT *;

FROM data1!vegetables;

WHERE vegetables.post = x

Обработка кнопки найти долю дешевого товара.

total=reccount()

count for prise<val(ThisForm.T2.text) to part

ThisForm.L2.caption=ltrim(str(100*part/total))+"%"

Обработка кнопки найти по дате поступления.

x1=ThisForm.T3.Value

SELECT *;

FROM data1!vegetables;

WHERE vegetables.in == x1

Обработка кнопки найти по дате отгрузки.

total=reccount()

count for (out==thisform.T9.value and name==thisForm.Combo9.value) to part

ThisForm.L9.caption=ltrim(str(100*part/total))+"%"

Обработка кнопки найти по интервалу температуры хранения.

x6=ThisForm.Combo6.Value

x61=ThisForm.T6_1.Value

x62=ThisForm.T6_2.Value

SELECT *;

FROM data1!vegetables;

WHERE (vegetables.post = x6)and

(vegetables.temperatur > x61)and(vegetables.temperatur < x62)

Обработка кнопки найти по стране.

x7=ThisForm.Combo2.Value

x71=ThisForm.C1.Value

SELECT *;

FROM data1!post;

WHERE (post.страна == x7)and(val(post.bad)<x71);

ORDER BY bad

Обработка кнопки найти долю проданного товара.

total=reccount()

count for out>x81 and out<x82 to part

ThisForm.L8.caption=ltrim(str(100*part/total))+"%"

7. Аппаратная поддержка

Программа разрабатывалась и успешно функционировала на компьютере следующей конфигурации:

-  Celeron 850, 192M RAM

Программа должна сохранять работоспособность на всех машинах Х86 семейства, при условии установки на них операционной системы Windows 95 и выше.


8. Примеры работы


пример 1.


пример 2.


пример 3.


пример 4.


пример 5.


пример 6.

9. Список литературы

1.  Т.В. Мусина, В.А. Пущенко “Самоучитель Visual FoxPro 6.0”,

          СПБ 1999

2.  Visual FoxPro 6.0 Help System (пакет MSDN)