Серверы автоматической обработки информации Visual FoxPro могут работать как на локальных компьютерах, так и на сетевом сервере, предназначенном для распределенных многоуровневых приложений. Это обеспечивает использование уже существующих приложений, созданных с помощью FoxPro и Visual FoxPro, и создает новый класс распределенных приложений на базе Visual FoxPro. Распределенная архитектура обеспечивает высокопроизводительный доступ к данным, уменьшает требования к компьютеру клиента и упрощает обслуживание централизованных компонентов». [4]
«Внутренние изменения также были внесены: в FoxPro появился новый тип индексов, ставших более компактными. Обеспечивается внутренняя поддержка SQL - структурированного языка запросов. Метод RushMore реализует оптимизацию доступа и выборок. При грамотном применении этого метода скорость выборок возрастает в сотни и тысячи раз». [5]
«В версии 5.0 возросла эффективность обработки больших массивов данных, повысилась распределения памяти и исполнения объектов. По разным направлениям был достигнут прирост быстродействия от 10 до 300%.
Максимальное количество записей в таблице 1’000’000’000
Максимальное количество символов на запись 65’500
Максимальное количество полей в записи 255
Максимальное количество символов в поле 254
Максимальное количество открытых индексов на таблицу не ограничено (*)
Максимальное количество открытых индексов во всех рабочих областях не ограничено (*)
Максимальное количество связей между таблицами не ограничено
Максимальное количество переменных 65’000
Максимальный размер откомпилированного программного модуля (**) 64K
Максимальное количество процедур Не ограничено
Максимальное количество параметров 27
Максимальный размер символьной строки 2 GB
Максимальное количество полей, которые может выбрать оператор SQL SELECT 255
(*) Разумеется, у каждого компьютера есть ограничения, накладываемые аппаратным и базовым программным обеспечением.
(**) Программный модуль считается одной процедурой. Приложение может содержать неограниченное число программных модулей». [4]
Благодаря всем этим возможностям VFP (его более новые версии 6.0 и 7.0) является одной из наиболее популярных СУБД.
Разработка программы приложения:
Создаваемое приложение базы данных должно осуществлять реакцию на запросы, сделанные пользователем. Поэтому для поддержания дружественного интерфейса мы воспользуемся базовым классом VFP - Forms. С помощью элементов управления (Form Controls, в данном случае PageFrame и TextBox) можно задать условия выборки записей.
Для разработанной базы данных был построен проект приложения, в который включены все программы, запросы, формы и отчеты, вызываемые при выборе соответствующих пунктов меню. Приложение находится в файле my_kurs.app. Главным файлом приложения является программа – start.prg, которая вызывается первой при запуске my_kurs.app.
Эта программа осуществляет настройку окружения базы данных, проверку введённого пароля и в случае его совпадения с ключом осуществляет запуск меню и начало работы с приложением.
Листинг программы start.prg :
SET DEFAULT TO C:\Users && задание пути к текущему катологу
SET DATE British && установка английского формата даты дд/мм/гг
CLOSE ALL && закрываем все активные файлы
OPEN DATABASE medicine && открытие базы данных «Расход медикаментов»
Public lControl && объявляем глобальную переменную для контроля пароля
lControl=.F.
DO FORM title.scx && запускаем форму-заставку (рис.2)
READ EVENTS && ожидание реакции пользователя
IF lControl && если пароль верный, то при уничтожении формы lControl=.Т.
DO menu.mpr && запуск меню (рис.3)
ENDIF
Рис.2 Общий вид заставки
Процедуры обработки событий для формы заставки:
Text1.Init( ):
Public cCode, iCount && объявляем глобальные переменные
cCode="" && хранит введённый пароль
iCount=1 && подсчёт числа попыток ввода кода
Text1.KeyPress( ):
LPARAMETERS nKeyCode, nShiftAltCtrl
IF nKeyCode=13 && если нажата клавиша Enter – автоматически нажимается кнопка OK
THISFORM.Command1.Click()
ENDIF
Command1.Click( ): && кнопка OK
cCode=THISFORM.Text1.Value && сохраняем введённый пароль
IF (cCode = "alex123") && alex123 – ключевое слово
lControl=.T.
Release THISFORM
Release cCode,iCount
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.