Введение
Используемые в книге обозначения
Специальные элементы книги
Глава 1. Что такое Visual FoxPro?
Что такое база данных?
Реляционные базы данных
Новые возможности Visual FoxPro 7.0
Компоненты Visual FoxPro
Запуск Visual FoxPro
Знакомство с главным окном Visual FoxPro
Заголовок главного окна
Стандартная панель инструментов Visual FoxPro
Меню Visual FoxPro
Выбор команд меню
Отказ от выбора команды
Обзор команд меню
Немного о клавиатуре
Специальные клавиши.
Функциональные клавиши
Цифровая часть
Комбинации клавиш.
Управление окнами
Изменение масштаба изображения окон
Изменение размеров окон
Перемещение окон
Настройка панелей инструментов Visual FoxPro
Глава 2. Настройка параметров Visual FoxPro и знакомство с проектом приложения
Окно для настройки параметров Visual FoxPro
Вкладка "Controls"
Вкладка "Data"
Вкладка "File Locations"
Вкладка "Forms"
Вкладка "General"
Вкладка "Projects"
Вкладка "Regional".
Вкладка "Remote Data"
Вкладка "View"
Вкладка "Editor"
Вкладка "Debug"
Вкладка "Filed Mapping"


Вкладка "IDE".
Выход из Visual FoxPro
Знакомство с проектом приложения.
Меню конструктора проекта
Управление файлами
Создание проекта Sales
Создание проекта с помощью мастера
Вкладка "General"
Вкладка "Credits"
Вкладка "Data"
Вкладка "Forms"
Вкладка "Reports"
Вкладка "Advanced"
Глава 3. Проектирование структуры базы данных
Реляционные базы данных
Соглашения по именованию полей таблиц
Структура таблиц
Отношение один-к-одному
Отношение один-ко-многим
Отношение много-к-одному
Отношение много-ко-многим
Проектирование нормализованных баз данных
Первая нормальная форма таблицы
Вторая нормальная форма таблицы
Третья нормальная форма таблицы.
Создание базы данных
Создание базы данных с использованием мастера
Создание базы данных в конструкторе проектов
Создание базы данных вне конструктора проектов
Создание таблиц
Использование мастера для создания таблиц
Создание таблицы с помощью конструктора таблиц
Модификация структуры таблицы
Изменение наименования поля и/или его типа
Вставка и удаление поля
Изменение порядка следования полей
Переопределение полей.
Сортировка таблиц
Индексы
Создание первичного ключа
Создание составного индекса
Определение отношений между таблицами
Определение условий целостности данных
Глава 4. Основные элементы программирования
Выражения
Символьные выражения
Числовые выражения
Выражения типа даты и времени
Логические выражения
Переменные
Имена переменных

Присвоение значения переменной
Область действия переменных
Определение типа, Преобразование типов,
Преобразование значений в строку
Преобразование значений в число
Преобразование в дату
Преобразование в дату/время
Константы
Математические функции и команды
Определение статистических значений
Символьные функции
Определения вхождения одной строки в другую строку
Удаление пробелов в символьной строке
Выделение подстроки
Преобразование строки
Обработка данных типа дата и дата/время
Функции Between, Inlist
Установка формата даты
Битовые функции
Логические функции
Массивы
Объявление массива
Изменение размеров массивов
Обмен данными между массивом и таблицей
Операторы
Арифметические операторы
Операторы сравнения.
Логические операторы
конструкции IF…ENDIF
Конструкция IIF
Конструкции DO CASE/ ENDCASE
Цикл FOR/ENDEFOR
Цикл DO WHILE/ ENDO
Цикл SCAN/ ENDSCAN
Команда ЕХIТ
Функции и процедуры
Передача аргументов
Глава 5. Визуальное объектно-ориентированное программирование
В чем особенности объектно-ориентированного подхода?
Объекты и классы в Visual FoxPro
Базовые классы.
Создание объектов на основе базовых классов.
Вложенность объектов
Характеристики объектно-ориентированного программирования
Инкапсуляция
Наследование и подклассы
Полиморфизм
Глава 6. Использование форм для ввода и редактирования данных
Отображение данных в виде формы
Использование мастера для создания формы
Запуск формы на выполнение
Окно конструктора форм
Свойства и методы объектов формы
Управление объектами
Выделение объектов
Отмена выделения
Изменение размеров объекта
Перемещение объектов
Удаление объектов
Выравнивание и изменение размеров объектов
Линии сетки
Изменение порядка обхода объектов
Создание стандартной формы с помощью построителя
Создание формы в конструкторе форм
Настройка формы
Размещение текстовой информации
Размещение полей ввода
Размещение поля ввода с помощью построителя
Размещение поля редактирования
Размещение полей и текста в форме
Создание кнопок управления
Создание одиночных кнопок
Режим редактирования составных объектов
Создание набора кнопок
Размещение графического изображения
Размещение объекта типа General
Размещение флажка
Размещение переключателя
Размещение списка
Размещение раскрывающегося списка
Размещение раскрывающегося списка с помощью построителя
Размещение счетчика
Использование линий и прямоугольников
Линия
Контуры
Глава 7. Отчеты
Рекомендации, предшествующие созданию отчета
Общие понятия
Использование мастера для создания отчета:
Просмотр и печать отчета
Окно конструктора отчетов
Типы полос окна конструктора отчета
Создание стандартного отчета
Установка среды окружения
Размещение текста.
Добавление заголовка и итогов

Создание стандартного отчета и добавление заголовка отчета
Размещение полей
Определение выражения поля.
Формат
Условие печати
Расположение поля в полосе
Размещение итогового поля.
Создание отчета в свободной форме
Размещение линий и прямоугольников.
Работа с панелью инструментов "Соlоr Раlеttе"
Размещение рисунков
Создание табличного отчета
Группировка данных.
Добавление группировки данных
Переменные отчета
Разметка страницы отчета
Многоколоночный отчет
Глава 8. Выборка данных
Что такое "Запрос по образцу"
Окно конструктора запросов
Команда SELECT
Определение полей результирующей таблицы
Выбор полей исходной таблицы
Просмотр результатов выборки
Использование в запросах вычисляемых полей
Упорядочение данных в запросе
Упорядочение по нескольким полям
Построение условий для выбора записей
Точное совпадение значений одного поля
Точное несовпадение значений одного из полей.
Условие неточного совпадения
Выбор записей по диапазону значений
Задание списка условий отбора
Многотабличные запросы
Выборка из трех таблиц.
Группировка полей запроса
Включение в запрос выражений и функций полей.
Вычисление итоговых значений
Изменение наименований полей
Использование условий выбора при вычислениях
Вывод результатов запроса
Режим Browse
Вывод результатов запроса в курсор
Вывод результатов запроса в таблицу
Использование результатов запроса для создания диаграммы
Вывод результатов запроса на экран
Вывод результатов запроса в отчет
Использование результатов запроса при создании этикеток
Сохранение результата выполнения запроса в формате НТМL
Использование выборки данных в программах
Использование переменных.

Использование функций совместно с подзапросом
Функция в коррелированном подзапросе
Использование квантора существования в запросах
Объединение множеств
Глава 9. Создание перекрестных таблиц и диаграмм
Создание перекрестных таблиц
Одномерные перекрестные таблицы.
Двумерные перекрестные таблицы
Использование мастера для создания перекрестной таблицы
Программа создания перекрестной таблицы
Экспорт перекрестной таблицы
Диаграммы
Создание диаграммы ежемесячных продаж компьютеров
Глава ТО. Система меню приложения
Планирование приложения
Создание строки меню
Окно конструктора меню
Определение текста пунктов строки меню
Сохранение, генерация и запуск меню
Команда определения пункта строки меню
Определение оперативных клавиш для пунктов меню
Окно диалога "Prompt Options"
Определение клавиш ускоренного действия
Определение сообщения для пункта меню
Блокирование команд меню
Определение имени пункта меню
Определение действий для пунктов меню
Определение параметров меню
Команда создания строки меню
Создание подменю
Команды описания подменю
Создание разделителей элементов меню
Создание меню типа Shortcut
Список команд и функций
Глава 11. Управление разработкой и создание приложения
Определение свойств окна проекта.
Задание параметров проекта
Информация о разработчике
Место хранения проекта
Определение пиктограммы для выполняемого файла
Определение класса проекта
Остальные параметры вкладки "Project:"
Просмотр файлов проекта
Установка основной программы
Исключение файла из проекта
Очистка проекта
Построение проекта и создание приложения
Галерея компонентов
Запуск Галереи компонентов
Настройка Галереи компонентов

Каталоги Галереи компонентов
Использование представлений данных
Управление проектами
Перемещение объектов из Галереи компонентов
Всплывающее меню
Галереи компонентов
Просмотр и редактирование классов
Глава 12. Редактор Visual FoxPro и обработка ошибок
Редактор Visual FoxPro
Запуск редактора
Меню редактора
Перемещения в редакторе и ввод текста.
Операции с блоками
Обмен данными с другими приложениями Windows
Поиск и замена строк
Завершение редактирования
Использование цвета в программах
Всплывающее меню редактора
Ошибки в программах
Синтаксические ошибки
Ошибки выполнения
Логические ошибки
Отладчик
Запуск отладчика
Панель инструментов отладчика
Команды меню отладчика
Окно трассировки "Тrасе"
Точки останова
Просмотр и изменение текущих значений переменных
Управление выполнением программы в точке останова
Ошибки выполнения
Предотвращение ошибок выполнения.
Обработка ошибок выполнения
Coverage Profiler
Задание файла, содержащего профиль выполнения программы
Анализ работы программы
Окно программы Coverage Profiler
Настройка параметров программы Coverale Profiler
Просмотр статистики
Глава 13. Расширенные средства управления базой данных
Свойства таблицы и хранимые процедуры
Определение свойств таблицы
Создание хранимых процедур
Определение условия достоверности данных
Определение триггера Insert
Определение хранимой процедуры
Свойства полей таблицы
Определение условия достоверности данных на уровне поля таблицы
Использование хранимой процедуры для определения
начального значения поля таблицы
Представление данных.
Создание представления данных

Просмотр объема продаж товаров покупателям
Определение параметров представления данных
Редактирование исходных таблиц с помощью представления данных
Дополнительные параметры
Команда CREATE SQL VIEW
Функции DBSETPROP( ) и DBGETPROP ( )
Определение заголовков полей
Управление данными таблиц с помощью SQL операторов
Модификация данных
Удаление данных
Добавление записей
Создание и модификация таблиц с помощью SQL конструкций
Создание таблиц
Модификация структуры таблицы
Удаление таблиц
Создание первичных и внешних ключей
Глава 14. Расширенные средства ввода данных
Отображение данных в табличном виде
Создание объекта Grig с помощью построителя
Настройка свойств объекта Grig
Просмотр и редактирование таблиц, имеющих отношение один-ко-многим.
Создание многотабличных форм с помощью мастера форм
Использование конструктора форм
Создание в форме вкладок
Создание набора форм.
Использование набора форм для настройки параметров
Использование объекта-таймера
Создание форм с использованием объекта-таймера
Использование кнопок с графическими изображениями
Добавление данных в список.
Использование внешних библиотек
Библиотека Buttons
Использование АсtivХ-компонентов
Отображение АсtivХ объектов на панели инструментов "Form Contros"
Размещение АctivеХ-компонентов в форме
Работа с АсtivХ-компонентами после запуска формы на выполнение
Глава 15. Расширенные средства вывода данных
Использование представления данных в отчетах
Создание этикеток.
Создание этикеток с помощью мастера
Создание этикетки с помощью конструктора этикеток
Команда управления отчетом
Использование в отчетах отношения один-ко-многим
Печать счета на заказ товаров
Использование в отчетах пользовательских функций
Отображение прописью итоговой суммы продаж
Печать отчета в текстовом режиме
Установка принтера
Создание отчета и его печать
Дополнительные замечания по созданию отчетов

Глава 16. Создание и использование классов
Создание пользовательского класса на основе базовых классов Visual FoxPro
Конструктор классов
Создание класса типа форма
Библиотека классов.
Создание подклассов
Создание кнопки для перехода на следующую запись
Размещение в классе объектов, основанных на пользовательских классах
Просмотр основной информации о классе и определение пиктограмм
для обозначения класса
Определение списка библиотек, используемых в конструкторах форм и классов . . Использование пользовательских классов при создании форм
Создание формы просмотра информации о покупателях.
Использование формы для создания класса
Работа с Class Browser
Просмотр библиотеки
Управление классами
Просмотр исходных текстов класса
Поиск
Создание панели инструментов
Создание класса панели инструментов
Использование класса панели инструментов в формах
Создание невизуальных классов
Использование класса запуска приложений
Определение файла заголовков
Использование файла заголовков
Глава 17. Динамический обмен данными (DDЕ)
Клиенты и серверы
Настройка связи с другим приложением
Создание DDЕ-связи
Завершение связи
Выборка данных из другого приложения
Управление приложением-сервером
Управление Microsoft Word для Windows с помощью DDЕ
Передача данных другому приложению
Передача данных в Microsoft Exele
Обработка ошибок DDЕ
Установка параметров DDЕ-связи
Асинхронное выполнение команд
Использование приложения Visual FoxPro в качестве приложения-сервера
Функции приложения-сервера
Настройка службы DDЕ
Установка тем
Реакция на действия DDЕ
Действия типа INITIATE и TERMINATE
Действие типа REQUEST
Действие типа EXECUTE
Действие типа РОКЕ
Действие типа ADVANSE

Глава 18. Связывание и внедрение объектов (OLЕ), экспорт и импорт данных
Использование ОLЕ в Visual FoxPro
Внедрение ОLЕ-объектов
Встраивание нового ОLЕ-объекта
Связывание ОLЕ-объектов
Связывание ОLЕ-объекта
Удаление ОLЕ-объекта
Применение команд Visual FoxPro к ОLЕ-объектам
Объектно-ориентированное программирование и ОLЕ-объекты
Передача данных в Microsoft Exele с помощью ОLЕ
Экспорт данных
Использование команд Visual FoxPro
Импорт данных
Импорт данных с помощью мастера
Использование команд Visual FoxPro
Слияние данных из Visual FoxPro и Microsoft Word
Использование приложений типа Active Document
Создание приложения типа Active Document
Запуск Active Document
Глава 19. Работа в локальной сети
Планирование работы
Типы блокировок
Установка блокировок таблиц
Блокировка записей
Снятие блокировок таблиц и записей
Пример использования блокировки таблицы
Использование сеансов работы.
Использование буферов при редактировании данных
Типы блокировок при использовании буферов
Модификация данных при использовании буферов
Использование транзакций
Обработка сетевых ошибок
Перевывод экрана при изменении данных в сети.
Автонумерация для сетевых приложений
Глава 2О. Организация справочной системы Visual FoxPro
Использование файла справки
Окно справочной системы
Использование вкладки "Содержание"
Поиск справки по предметному указателю
Использование вкладки "Поиск"
Вкладка "Избранное"
Просмотр справочной информации в Интернете
Глава 21. Создание справочной системы
Использование окон диалога.
Создание справочной системы в стандарте Windows
Создание файла справочной системы в стандарте
Создание файла проекта справочной системы

Раздел [Files]
Раздел [Options]
Раздел [Мар]
Трансляция справочной системы
Создание файла с содержанием справочной системы
Использование справочной системы в стандарте Windows в приложениях
Команды Visual FoxPro для управления справочной системой
Определение темы справочной системы для формы и объектов, входящих в нее
Глава 22. Макросы
Макросы клавиатуры
Стандартные макросы Visual FoxPro
Макроподстановки
Оператор выражения имени
Использование макроподстановок для управления установками среды
Глава 23. Файл ресурсов
Определение расположения файла ресурсов
Структура файла ресурсов
Работа с файлом ресурсов.
Управление файлом ресурсов
Поиск Visual FoxPro файла ресурсов
Файл ресурсов и производительность
Глава 24. Упалеииые представления данных
Драйверы ОDВС.
Определение источника данных ОDВС
Именованное соединение
Конструктор соединений
Использование команд для создания именованного соединения
Настройка параметров удаленных представлений и соединений в окне диалога "Options"
Создание удаленного представления данных
Использование мастера удаленных представлений
Использование конструктора представлений
Использование команды Create sql view
Особенности использования удаленных представлений данных для электронных таблиц Microsoft Exele
Совместно используемые соединения
Комбинирование в представлении локальных и удаленных данных
Настройка представления с помощью словаря базы данных.
Глава 25. Сквозные SQL запросы
Функции сквозных запросов SQL в Visual FoxPro
Функция SQLCONNECT
Функция SQLSTRINGCONNRCT()
Функция SQLLDISCONNECT()
Функция SQLCANCEL()
Функция SQLEXEC()
Функция SQLPREPARE()
Функция SQLMORERESULTS()
Функция SQLCOMMIT()
Функция SQLROLLBACK()

ФУНКЦИЯ SQLCOLUMNS()
Функция SQLTABLES()
Функция SQLGETPROP()
Функция SQLSETPROP()
Использование хранимых процедур сервера
Возвращение нескольких результирующих наборов
Как сервер обрабатывает результирующие наборы и ошибки
Создание внешних объединений с удаленными данными
Комбинирование сквозных запросов и удаленных представлений
Глава 26. Перенос паяных из Visual FoxPro на платформу клиент/сервер
Использования мастера наращивания для переноса данных в базу данных SQL Server
Соответствие типов данных
Отображение выражений из Visual FoxPro в SQL Server
мастером наращивания
Отображение типов индексов мастером наращивания
Отображение объектов мастером наращивания
Отображение правил и ссылочной целостности мастером наращивания
Установка драйвера ОDВС
Выбор базы данных и источника данных
Выбор переносимых таблиц
Определение базы данных назначения и ее параметров
Приложение I. Установка и настройка Visual FoxPro
Требования к системе
Основные характеристики Visual FoxPro
Установка Visual FoxPro
Настройка Visual FoxPro
Стартовые ключи
Файлы инициализации
Установка параметров среды в окне диалога "Options"
Приложение II. Функции и команпы обработки данных
Математические функции и команды
Статистические функции
Символьные функции
Функции даты и времени
Логические функции
Функции и команды управления базой данных
Управление полями таблицы
Управление индексами
Управление записями.
Установка связи
Управление таблицами
Управление средой FохРго
Управление окружением
Управление файлами
Ввод и вывод данных
Форматы
Команды меню
Управление печатью
Отчеты и этикетки

Клавиши и мышь
Управление окнами
Сетевые команды и функции
Команды и функции общего назначения
Управление массивами
Обработка ошибок
Управление событиями
Функции файлов низкого уровня
Управление переменными памяти
Выполнение программы
Объектно-ориентированное программирование
Приложение III. Системные переменные