Visual FoxPro   Обзор графических пакетов 3GL   Компьютерная графика к экономической информатике   к 4GL - визуальному программированию

Программирование в VisualFoxPro 7.0

Знакомство с Visual FoxPro

 

Перемены, произошедшие в нашей стране в последнее время, не могли не затронуть областей информатики и вычислительной техники. Еще десять лет назад работа с базами данных была уделом профессиональных программистов. Сами системы не были предназначены для простого пользователя. Основным потребителем таких систем был военно-промышленный комплекс. С появлением банков, акционерных обществ, частных компаний базы данных нашли более широкое применение. Люди понимают, что информация — это деньги. Ее потеря или несвоевременное получение могут дорого стоить. Именно этим можно объяснить столь бурный рост информационных технологий и стремительное развитие систем управления базами данных (СУБД).

  Реляционные базы данных

Первые системы управления базами данных появились в середине шестидесятых годов XX века и поддерживали иерархическую модель данных в которой между записями существовали отношения предок/потомок. Спустя короткое время, были разработаны сетевые базы данных, в основу которых была заложена значительно более сложная сетевая модель. У каждой из этих моделей имелись свои достоинства и недостатки, которые сыграли ключевую роль в развитии реляционной модели.

В 1970 году статья научного сотрудника компании IBM доктора Е. Ф. Коддао реляционной модели данных произвела революцию в подходе к хранению и обработке информации. На основе этой модели в семидесятые годы были разработаны первые реляционные базы данных, а в настоящее время они рассматриваются как стандарт для современных коммерческих СУБД.

В реляционных базах данных вся информация сведена в таблицы, строки и столбцы которых называются записями и полями соответственно. Эти таблицы получили название реляций [Отношение — математический термин из теории множеств, которая легла в основу реляционной модели данных. В английском языке слову "отношение" соответствует слово relation, отсюда название "реляция". — Ред. ], поэтому модель стала называться реляционной. Записи в таблицах не повторяются. Их уникальность обеспечивается первичным ключом, содержащим набор полей, однозначно определяющих запись. Для быстрого поиска информации в базе данных создаются индексы по одному или нескольким полям таблицы. Значения индексов хранятся в упорядоченном виде и содержат ссылки на записи таблицы. Для автоматической поддержки целостности связанных данных, находящихся в разных таблицах, используются первичные и внешние ключи. Для выборки данных из нескольких связанных таблиц используются значения одного или нескольких совпадающих полей. Например, таблица регистрации междугородних телефонных разговоров может содержать следующие сведения:

Записи о междугородних разговорах заносятся в книгу регистрации в табличном виде в хронологическом порядке (рис. 1.1). Каждая строка имеет одинаковую структуру и состоит из восьми полей. В рассматриваемом примере это поля: Номер заказа, Код услуги, Номер телефона, Дата разговора, Код города, Продолжительность, Стоимость.

gl1-1.jpg

Рис. 1.1. Книга регистрации междугородних разговоров

Замечание

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

Одним из важных требований к базам данных является быстрая выборка хранимой в ней информации. Используя телефонно-адресную книгу, в которой данные упорядочены по фамилиям, вы можете найти номер телефона по фамилии его владельца. Однако, если записи в книге регистрации междугородних разговоров упорядочены в хронологическом порядке, вам придется потратить значительное время на получение списка клиентов, заказывавших разговор с определенным городом, или на выяснение того, в каком районе проживают абоненты, приносящие наибольшую прибыль телефонной компании своими продолжительными разговорами.

На помощь приходят компьютерные базы данных. Они, несмотря на огромный объем хранящейся в них информации, обеспечивают высокую скорость поиска необходимой информации. В таких базах данных пользователь может выполнить поиск по любому интересующему его параметру. Кроме того, компьютерные базы данных очень компактны. База данных, содержащая несколько тысяч записей, может поместиться на одной дискете.

  Современные реляционные СУБД

Для создания базы данных, изменения ее структуры, редактирования и выборки данных используются системы управления базами данных. Современные реляционные системы управления базами данных содержат:

На рис. 1.2 показан пример учета междугородних телефонных разговоров с помощью двух таблиц реляционной базы данных в Visual FoxPro.

С помощью средств СУБД вы можете:

gl1-2.jpg

Рис. 1.2. Учет заказов с помощью реляционных таблиц

gl1-3.jpg

Рис. 1.3. Отчет в табличном виде, содержащий информацию о клиентах телефонной компании

gl1-4.jpg

Рис. 1.4. Информационное письмо, использующее сведения из базы данных

В настоящее время имеется более десяти популярных СУБД для персональных компьютеров. Традиционно одной из наиболее распространенных в России и странах СНГ является СУБД Visual FoxPro, новая версия которой, Visual FoxPro 7.0, содержит дополнения и улучшения, расширяющие возможности системы.

gl1-5.jpg

Рис. 1.5. Графическое представление информации о количестве клиентов торговой фирмы

  Объекты Visual FoxPro

Visual FoxPro состоит из отдельных компонентов, которые используются для хранения информации, ее отображения и редактирования. В Visual FoxPro вся информация хранится в базе данных, которая состоит из таблиц, отношений между таблицами, индексов, триггеров и хранимых процедур. Каждая таблица имеет уникальное имя и хранится в отдельном файле, наименование которого совпадает с именем таблицы. Созданный файл имеет расширение DBF.

Каждая создаваемая таблица может иметь связанные с ней индексы, используемые для упорядочения данных и быстрого поиска необходимых записей, причем каждая таблица может иметь несколько индексов. Для хранения значений полей типа Memo и General применяются отдельные файлы. Memo-поля таблиц содержат текстовую информацию, а поля типа General используются, как правило, для хранения двоичной информации и данных других приложений, работающих в среде Windows.В Visual FoxPro реализованы триггеры, которые позволяют централизованно обрабатывать события, возникающие при любых изменениях в базе данных.Вы также можете создавать хранимые процедуры, которые являются частью базы данных и могут использоваться при описании таблиц, для проверки введенных данных, определения значения по умолчанию и т. п.

Чрезвычайно удобным и полезным средством доступа к базе данных являются представления данных. Представления данных позволяют объединять данные таблиц и отображать их в более удобном виде. Вы можете выбрать только интересующие вас поля таблиц, объединить несколько полей в одно поле, вычислить итоговые значения и задать новые имена полей таблицы. Как правило, количество представлений в базе данных намного превосходит количество таблиц. По мере эксплуатации базы данных их количество непрерывно растет. Во многих информационных системах доступ к данным, включая просмотр, добавление и редактирование, осуществляется только с помощью представлений данных. Данный подход позволяет осуществить гибкое управление доступом к информации. При использовании представлений для выборки данных в формах, отчетах, при создании запросов и в программах применяются те же правила, что и для таблиц. Редактирование данных, включенных в представление, возможно только при определенных условиях. Например, в том случае, если оно создано на основе только одной таблицы.

Для отображения и редактирования данных используются формы, отчеты, запросы и программы. При создании форм, отчетов и запросов применяются конструкторы. Поэтому эти компоненты часто называют конструкторскими объектами. Формы и отчеты являются составными объектами, т. к. они состоят из более мелких объектов (таких как поля, кнопки, диаграммы, рамки, OLE-компоненты и т. п.), которые называются объектами интерфейса.

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

Отчеты используются для просмотра и вывода на печать содержащейся в базе данных информации. Примерами отчетов являются прайс-лист товаров, список покупателей, оборотная складская ведомость. Как правило, отчеты создаются в том случае, если информацию необходимо передавать кому-либо в печатном виде. Для создания отчетов в Visual FoxPro, как и для форм, используются мастер и конструктор отчетов. С помощью мастера отчетов вы можете быстро создать собственный отчет на основе имеющихся шаблонов. Применение конструктора отчетов позволяет создавать отчеты произвольной сложности, включая многоуровневую группировку данных и размещение вычисляемых полей.

Запросы являются средством выборки данных из одной или нескольких таблиц. В Visual FoxPro для создания запроса вы можете использовать как конструктор запросов, так и специализированный язык Structured Query Language (SQL). Результаты выполнения запроса могут отображаться в форме, выводиться в виде отчетов и диаграмм или сохраняться в указанной вами таблице.

Программы, написанные на языке Visual FoxPro, являются объектно-ориентированными. С помощью них вы обрабатываете события в форме, создаете объекты, осуществляете различные вычисления, управляете базой данных. Для удобства работы вы можете объединить программы в библиотеки.

Для создания форм в Visual FoxPro можно использовать не только базовые классы, но и создавать собственные. Например, вы можете определить класс форм, в котором задан определенный цвет фона и стандартный набор кнопок для управления данными. Чтобы стандартизировать разработку, полезно иметь один или несколько пользовательских классов для каждого базового класса. Классы, созданные в Visual FoxPro, хранятся в библиотеках классов.

Для объединения компонентов создаваемого приложения используется проект, в который включаются все перечисленные выше компоненты. Использование проекта упрощает разработку приложения и его сопровождение.

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

Каждый компонент хранится в отдельном файле, причем имена файлов, содержащих основные компоненты, вы задаете самостоятельно, а наименования файлов, содержащих объекты, связанные с таблицей, совпадают с именем таблицы. В зависимости от типа содержащегося в нем объекта Visual FoxPro автоматически присваивает каждому файлу расширение, которое помогает в идентификации объекта. Список расширений файлов приведен в табл. 1.1.

Таблица 1.1. Расширения имен файлов объектов Visual FoxPro

Наименование объекта Расширения
Проект PRJ, FPC, CAT, PJX, PJT
База данных DBC
Таблица Visual FoxPro DBF
Составной индексный файл CDX
Memo-поле и поле типа General FRT
Форма sex
Запрос QPR
Отчет FRX, FRM
Почтовая наклейка LBX, LBL
Меню MNX
Библиотека класса VCX
Программа, библиотека программ,текст меню, текст запроса PRG, FXP, MPR, QPR
Рисунок BMP, JPG, GIF, ICO, DIB, CUR, ANI
Звукозапись WAV

  Что нового появилосьв Visual FoxPro 7.0

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

Visual FoxPro 7.0 поддерживает технологию IntelliSense, облегчающую создание программного кода. Суть данной технологии состоит в том, что при вводе операторов, свойств и функций FoxPro предлагает на выбор возможные варианты написания. Это уменьшает количество вводимого вручную кода и избавляет разработчика от необходимости лишний раз обращаться к документации. Технология IntelliSense Visual FoxPro содержит следующие функции:

В редактор Visual FoxPro были добавлены следующие возможности:

Для настройки параметров редактора используются новые вкладки Editor (Редактор) и IDE (Интерактивная среда разработки) диалогового окна Options (Параметры), которое открывается при выполнении команды Options (Параметры) из меню Tools (Сервис).

Для облегчения работы пользователя с несколькими окнами, такими как Command (Команда), Properties (Свойства) и окном редактора, VisualFoxPro 7.0 позволяет перемещать и закреплять окна, т. е. манипулировать ими по своему усмотрению. Например, вы можете установить командное окно и окно свойств в одно окно-контейнер и привязать его к правому краю экрана, а окно редактора — в другое окно-контейнер, привязав его к левому краю экрана.

СОМ-компоненты Visual FoxPro могут использовать свойства, события и методы СОМ-интерфейса, определенного в другом СОМ-компоненте. В Visual FoxPro появилось средство Task List (Список заданий), позволяющее пользователю формировать список задач в проекте и управлять их выполнением.

Приложение Object Browser (Браузер объекта), входящее в состав Visual FoxPro и запускаемое из меню Tools (Сервис), позволяет просматривать свойства, методы и события СОМ-объектов, что очень удобно при работе с объектами, на которые нет документации.

В Visual FoxPro появились новые средства управления XML-файлами:

В базе данных, созданной в Visual FoxPro, вы можете использовать события, связанные с базой данных, такие как открытие таблицы, добавление или удаление таблицы для проверки прав доступа при открытии таблицы, трассировки выполняемых действий и т. п.

Visual FoxPro   Обзор графических пакетов 3GL   Компьютерная графика к экономической информатике   к 4GL - визуальному программированию

Знаете ли Вы, что любой разумный человек скажет, что не может быть улыбки без кота и дыма без огня, что-то там, в космосе, должно быть, теплое, излучающее ЭМ-волны, соответствующее температуре 2.7ºК. Действительно, наблюдаемое космическое микроволновое излучение (CMB) есть тепловое излучение частиц эфира, имеющих температуру 2.7ºK. Еще в начале ХХ века великие химики и физики Д. И. Менделеев и Вальтер Нернст предсказали, что такое излучение (температура) должно обнаруживаться в космосе. В 1933 году проф. Эрих Регенер из Штуттгарта с помощью стратосферных зондов измерил эту температуру. Его измерения дали 2.8ºK - практически точное современное значение. Подробнее читайте в FAQ по эфирной физике.

НОВОСТИ ФОРУМА

Форум Рыцари теории эфира


Рыцари теории эфира
 10.11.2021 - 12:37: ПЕРСОНАЛИИ - Personalias -> WHO IS WHO - КТО ЕСТЬ КТО - Карим_Хайдаров.
10.11.2021 - 12:36: СОВЕСТЬ - Conscience -> РАСЧЕЛОВЕЧИВАНИЕ ЧЕЛОВЕКА. КОМУ ЭТО НАДО? - Карим_Хайдаров.
10.11.2021 - 12:36: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от д.м.н. Александра Алексеевича Редько - Карим_Хайдаров.
10.11.2021 - 12:35: ЭКОЛОГИЯ - Ecology -> Биологическая безопасность населения - Карим_Хайдаров.
10.11.2021 - 12:34: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> Проблема государственного терроризма - Карим_Хайдаров.
10.11.2021 - 12:34: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> ПРАВОСУДИЯ.НЕТ - Карим_Хайдаров.
10.11.2021 - 12:34: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вадима Глогера, США - Карим_Хайдаров.
10.11.2021 - 09:18: НОВЫЕ ТЕХНОЛОГИИ - New Technologies -> Волновая генетика Петра Гаряева, 5G-контроль и управление - Карим_Хайдаров.
10.11.2021 - 09:18: ЭКОЛОГИЯ - Ecology -> ЭКОЛОГИЯ ДЛЯ ВСЕХ - Карим_Хайдаров.
10.11.2021 - 09:16: ЭКОЛОГИЯ - Ecology -> ПРОБЛЕМЫ МЕДИЦИНЫ - Карим_Хайдаров.
10.11.2021 - 09:15: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Екатерины Коваленко - Карим_Хайдаров.
10.11.2021 - 09:13: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вильгельма Варкентина - Карим_Хайдаров.
Bourabai Research - Технологии XXI века Bourabai Research Institution