Основной методикой при работе с программой является просто использование команд меню и наблюдение за результатами работы той или иной команды. Подробное описание пунктов приведены в соответствующем пункте отчёта. Для запуска нужно в оболочке Visual FoxPro 6. открыть проект, после чего запустить программу на выполнение. Стандартное меню Visual FoxPro будет заменено на меню программы. Теперь можно выбирать команды меню и осуществлять необходимые действия.
Ниже приводится текст программы указанных запросов.
n По году выпуска
SELECT *;
FROM data1!table1;
ORDER BY table1.year
n В алфавитном порядке все фильмы
SELECT *;
FROM data1!table1;
ORDER BY table1.title
n По стоимости
SELECT *;
FROM data1!table1;
ORDER BY table1.cost
n По странам
SELECT *;
FROM data1!table1;
ORDER BY table1.country
n Самый дорогой фильм
SELECT *;
FROM data1!table1;
WHERE table1.cost IN (select max(table1.cost) from data1!table1)
n Наиболее популярный
SELECT *;
FROM data1!table1;
WHERE table1.visitors IN (select max(table1.visitors) from data1!table1)
n Самый старый по году выпуска
SELECT *;
FROM data1!table1;
WHERE table1.year IN (select min(table1.year) from data1!table1)
n Для заданного жанра (ввод, выбор) определить все фильмы, чья стоимость меньше, чем заданный фильм (выбор) из заданной страны (выбор)
SELECT *;
FROM data1!table1;
WHERE table1.genre = thisform.combo1.value;
AND table1.cost < (select table1.cost from data1!table1 where thisform.combo2.value = table1.title)
n Найти все фильмы со стоимостью в заданных пределах (выбор) по заданному году выпуска (выбор) для заданной страны (выбор)
SELECT *;
FROM data1!table1;
WHERE table1.cost >= thisform.spinner1.value;
AND table1.cost <= thisform.spinner2.value;
AND table1.year = thisform.spinner3.value;
AND table1.country = thisform.combo1.value
n Найти долю дешевых, долю дорогих фильмов для заданной страны (выбор) заданного жанра (выбор)
public q,qall
CALCULATE CNT();
for genre = thisform.combo2.value;
AND country = thisform.combo1.value to qall
ThisForm.Label6.Caption = alltr(str(qall))
ThisForm.Label11.Caption = alltr(str(qall))
CALCULATE CNT();
for genre = thisform.combo2.value;
AND country = thisform.combo1.value;
AND cost < 1000000 to q
ThisForm.Label3.Caption = alltr(str(q))
thisform.Spinner1.Value=(q/qall)
ThisForm.Label10.Caption = alltr(str(qall-q))
thisform.Spinner2.Value=((qall-q)/qall)
n Найти страны, где произведено наибольшее число фильмов заданного жанра
public q,maxcountry,maxnum,tempcountry,rec
calculate cnt() to rec
maxcountry="qwe"
maxnum=-1
for i=1 to rec
go i
tempcountry=country
go top
CALCULATE CNT();
for genre = thisform.combo1.value;
AND country = tempcountry to q
if maxnum < q
maxnum = q
maxcountry=tempcountry
endif
endfor
thisform.label2.caption = maxcountry
&&WHERE table1.cost IN (select max(table1.cost);
&&from data1!table1)
· Основная программа:
PUSH MENU _MSYSMENU
do c:\1\menu1.mpr
read events
POP MENU _MSYSMENU
Данная расчётно-графическая работа написана полностью в среде Microsoft Visual FoxPro 6.0, входящей в состав Microsoft Visual Studio 6.0. Все запросы выполнены с помощью языка запросов SQL. Работа выполнялась в среде операционной системы Windows 98 Second Edition.
Работа тестировалась на следующей конфигурации компьютера:
Процессор – AMD K6-2 400
Память – 288 Mb RAM
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.