В форму введена панель кнопок, предназначенная для навигации и управления в отображаемых таблицах, а также кнопка перехода на форму “Склад”. При переходе форма “Поставщик” закрывается, а её место занимает форма “Склад ”.
Форма “Склад” предназначена для отображения упорядоченной информации о товарах хранящихся на складах. Рисунок 4 отображает внешний вид формы.
Рис.4. Форма “Склад”.
Форма “Склад” организована аналогично форме “Поставщик” и имеет теже элементы управления и редактирования записей. В форму так же введены две кнопки навигации “Поставщик” и “Запросы”.
Кнопка поставщик приводит к возврату на придыдущую форму, а кнопка “Запросы” производит переход на форму “Запросы”, рисунок 5.
Форма “Запросы” содержит в себе “ссылки” на все запросы реализованные в системе, а также кнопки навигации “Поставщик” и “Склад”.
Так же введена кнопка “Отчет”, реализующая соответствующую функцию.
В целом интерфейс достаточно прост и
интуитивно понятен.
Рис.5. Форма “Запросы”
Согласно заданию, в системе реализовано системное меню.
В меню определено три пункта: Forms, Report, Close menu.
Меню Forms производит создание новой копии выбранной формы.
Рис.6. Системное меню программы.
Разработанная система проста в эксплуатации благодаря, главным образом, дружественному интерфейсу. Тем не менее она, как и все приложения FoxPro, требует наличия либо установленной Visual FoxPro 6.0 и выше, либо системных библиотек, обеспечивающих поддержку приложений FoxPro.
Данная программа может распространяться как exe или app файл (требуется построение загрузочного модуля) либо в виде файлов проекта. В последнем случае есть возможность конфигурировать работу системы.
Как было отмечено выше, программа представляет собой набор форм, посредствам которых производятся требуемые действия. По этой причине тексты программ представляют собой обработчики элементов управления.
Обработка запуска 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))+"%"
Обработка кнопки “найти по интервалу температуры хранения”.
Обработка кнопки “найти по стране”.
Обработка кнопки “найти долю проданного товара”.
Программа разрабатывалась и успешно функционировала на компьютере следующей конфигурации:
- Celeron 850, 192M RAM
Программа должна сохранять работоспособность на всех машинах Х86 семейства, при условии установки на них операционной системы Windows 95 и выше.
пример 4.
пример 6.
1. Т.В. Мусина, В.А. Пущенко “Самоучитель Visual FoxPro 6.0”,
СПБ 1999
2. Visual FoxPro 6.0 Help System (пакет MSDN)
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.