- •Microsoft Visual FoxPro. Учебно-справочное пособие
 - •Предисловие
 - •1. Соглашения
 - •1.1. Имена
 - •1.1.1. Имена в тексте и комментарии
 - •1.1.2. Имена в программе
 - •1.1.3. Рекомендуемые имена
 - •1.1.3.1. Переменные
 - •Возможные значения scope
 - •Возможные значения type
 - •1.1.3.2. Поля таблиц
 - •Возможные значения type
 - •1.1.3.3. Объекты
 - •Возможные значения prefix
 - •1.1.3.4. Константы и окна
 - •1.2. Команды, функции и объекты
 - •1.2.1. Способ представления
 - •1.2.2. Синтаксис команд и функций
 - •1.2.3. Параметры команд и функций
 - •Возможные значения type
 - •1.3. Примеры
 - •1.4. Структура пособия и поиск материала
 - •1.5. Часто употребляемые опции и параметры
 - •Общие опции команд, оперирующих диалогами и файлами
 - •Общие опции команд, оперирующих таблицами
 - •2. Простое приложение
 - •2.1. Назначение и состав приложения
 - •2.2. База данных и проект HomeLibrary
 - •Поля таблиц базы данных HomeLibrary
 - •Индексы таблиц базы данных HomeLibrary
 - •2.3. Связи между таблицами
 - •2.4. Триггеры и правило проверки записи
 - •2.5. Файлы проекта
 - •2.5.1. Перечень файлов и порядок их описания
 - •Файлы приложения HomeLibrary
 - •2.5.2. Главный файл проекта
 - •2.5.3. Форма "Авторы"
 - •2.5.3.1. Состав формы
 - •Элементы управления формы "Авторы"
 - •2.5.3.2. Добавленные свойства формы
 - •2.5.3.3. Обработчики событий формы и ее элементов
 - •Действия кнопок формы
 - •2.5.4. Форма AuthorEdit
 - •2.5.4.1. Обработчик события Init
 - •2.5.4.2. Запись данных на диск
 - •2.5.4.3. Ввод даты
 - •2.5.4.4. Альтернативный вариант ввода и записи данных
 - •2.5.5. Форма "Книги"
 - •2.5.6. Форма BookEdit
 - •2.5.7. Форма "Содержание книг"
 - •2.5.8. Форма WorkEdit
 - •2.5.9. Форма "Виды произведений"
 - •2.5.10. Анализ ошибки 1995
 - •2.5.11. Отображение пометки удаления
 - •2.5.12. Упаковка таблиц
 - •2.5.13. Меню приложения
 - •3. Типы данных
 - •3.1. Общие сведения
 - •3.1.1. Перечень функций
 - •Список функций
 - •3.1.2. Перечень типов данных
 - •Типы данных vfp
 - •Типы данных vfp, употребляемые только для полей таблиц
 - •3.1.3. Получение информации о типе данных
 - •Символ, возвращаемый type( ) и vartype( )
 - •3.1.4. Null-величины
 - •3.1.4.1. Понятие null
 - •3.1.4.2. Функции и команда для null
 - •3.1.4.3. Null в логических выражениях
 - •Null в логических выражениях
 - •3.1.4.4. Null в командах и встроенных функциях vfp
 - •3.1.5. Пустые значения
 - •Пустые значения
 - •3.1.6. Чистые значения
 - •Чистые значения
 - •3.1.7. Преобразование типов данных
 - •Значения параметра cDataType и флаги присутствия параметров nFieldWidth и nPrecision
 - •Возможные преобразования типов данных, выполняемые cast( )
 - •3.2. Числовые типы данных
 - •3.2.1. Перечень команд
 - •Список команд для числовых данных
 - •3.2.2. Числовые константы
 - •3.2.3. Операции для числовых данных
 - •Операции для числовых данных
 - •3.2.4. Преобразование числовых данных
 - •3.2.5. Форматирование числовых данных
 - •3.2.6. Функции для числовых данных
 - •Функции для числовых данных
 - •3.2.7. Вычисления в таблицах
 - •Опции и параметры команд, выполняющих вычисления в таблицах
 - •Функции, употребляемые в eExpressionList команды calculate
 - •Данные таблицы Test.Dbf
 - •3.3. Битовые функции
 - •Результаты битовых операций
 - •Битовые функции
 - •3.4. Тип данных Currency
 - •3.4.1. Перечень команд и функций
 - •Список команд и функций
 - •3.4.2. Употребление типа Currency
 - •3.5. Логический тип данных
 - •3.5.1. Логические операции
 - •Логические операции
 - •3.5.2. Операции отношения
 - •Операции отношения
 - •3.6. Приоритет выполнения операций
 - •3.7. Типы данных Character и Varbinary. Кодовые страницы
 - •3.7.1. Перечень команд
 - •Список команд для символьных данных и кодовых страниц
 - •3.7.2. Символьные константы
 - •3.7.3. Операции для символьных данных
 - •3.7.4. Команды для символьных данных
 - •Примеры влияния set exact на результат сравнения
 - •3.7.5. Функции для символьных данных
 - •Символьные функции
 - •Описание параметра nConversionSetting
 - •Описание параметра nFlag
 - •Описание параметра nFlag
 - •Преобразования transform( ) при опущенном cFormatCodes
 - •3.7.6. Кодовые страницы, поддерживаемые vfp
 - •Кодовые страницы
 - •3.7.7. Команды и функции для кодовых страниц
 - •Функции для кодовых страниц
 - •3.7.8. Тип данных Varbinary
 - •3.7.9. Типы данных Varchar и Varchar (Binary)
 - •3.8. Работа с полями типа Memo
 - •3.8.1. Перечень команд и функций
 - •Список команд и функция для memo-полей
 - •3.8.2. Интеактивное редактирование memo-поля
 - •3.8.3. Функции для memo-полей
 - •3.9. Дата и время
 - •3.9.1. Перечень команд и функций
 - •Список команд и функций
 - •3.9.2. Задание даты и времени
 - •3.9.3. Изменение представления даты и времени
 - •3.9.4. Константы, задающие дату и время
 - •3.9.5. Даты по григорианскому и юлианскому календарям
 - •3.9.6. Операции для данных типа Date и DateTime
 - •3.9.7. Команды для данных типа Date и DateTime
 - •Установки set date и соответствующие им форматы представления дат и дат и времени
 - •3.9.8. Функции для данных типа Date и DateTime
 - •Встроенные функции для данных типа Date и DateTime
 - •3.9.9. Вывод системных календаря и часов
 - •3.9.9.1. Вывод системных часов
 - •3.9.9.2. Вывод системного календаря
 - •3.9.10. Использование ole-календаря
 - •4. Вывод данных в окно vfp, текстовый файл, на принтер и в порт
 - •4.1. Перечень команд, функций и системных переменных
 - •Список команд, функций и системных переменных
 - •4.1.1. Слияние текста и его выражений
 - •Значения параметра eExpression
 - •4.1.2. Управление выводом
 - •4.1.2.1. Организация вывода на принтер
 - •4.1.2.2. Команды и функции, управляющие выводом
 - •Символы, входящие в cFontStyle
 - •Значения параметра nAttribute
 - •Функциональные коды
 - •Картинные коды
 - •4.2. Вывод сообщений
 - •Значения, применяемые для задания nDialogBoxType
 - •Возвращаемые значения
 - •Кнопки диалога и их действия
 - •Варианты получения дополнительных данных о set-команде
 - •4.3. Команды display и list
 - •Display-команды
 - •Опции и параметры display-команд
 - •4.4. РАбота с текстовыми файлами
 - •Функции для работы с текстовыми файлами
 - •5. Элементы программирования
 - •5.1. Перечень команд, функций и директив
 - •Список команд, функций и директив
 - •5.2. Основная программа
 - •5.3. Структура программы
 - •5.4. Вложенные вызовы программ
 - •5.5. Создание констант и переменных
 - •5.5.1. Константы
 - •5.5.2. Переменные
 - •5.5.2.1. Виды переменных
 - •5.5.2.2. Имя переменной
 - •5.5.2.3. Локальные переменные
 - •5.5.2.4. Глобальные переменные
 - •5.5.2.5. Частные переменные
 - •5.5.2.6. Инициализация переменных
 - •Ограничения на скалярные переменные и массивы
 - •5.5.2.7. Освобождение переменных
 - •5.5.2.8. Сохранение и восстановление значений переменных
 - •5.6. Выражения
 - •5.6.1. Построение и вычисление выражения
 - •5.6.2. Оценка выражения
 - •5.7. Управляющие конструкции
 - •5.8. Процедуры и функции
 - •5.8.1. Способы употребления
 - •5.8.2. Обмен данными между программными компонентами
 - •5.8.3. Число переданных параметров
 - •5.8.4. Передача параметров по значению и ссылке
 - •5.8.5. Поиск программных компонентов
 - •5.8.6. Компиляция исходного текста
 - •Расширения исходных и объектных файлов
 - •5.8.7. Команды для процедур и функций
 - •5.8.7.1. Задание и редактирование программных компонентов
 - •Результаты, возвращаемые EditSource( )
 - •Редакторы, открываемые функцией EditSource( )
 - •5.8.7.2. Вызов Внешних функций
 - •Возможные значения параметров cFunctionType и cParameterType1
 - •5.8.7.3. Запуск программных компонентов
 - •Имена для параметра KeyLabelName
 - •Значения параметра cOnCommand
 - •5.9. Макросы
 - •5.9.1. Понятие макроса
 - •5.9.2. Интерактивное формирование макроса
 - •5.9.2.1. Запись макроса
 - •5.9.2.2. Программирование макроса
 - •5.9.3. Команды для макросов
 - •6. Массивы
 - •6.1. Перечень команд и функций
 - •Список команд и функций для массивов
 - •6.1.2. Создание и присваивание массива
 - •6.1.3. Создание массива
 - •Значения cType и варианты преобразования типа, заданного cType
 - •6.1.4. Массив как параметр программных компонентов
 - •6.1.5. Функции для массивов
 - •Содержимое строки массива, формируемого adir( )
 - •Содержимое строки массива, формируемого adockstate( )
 - •Состав массива arrayDockState
 - •Значения элементов массива ArrayName, созданного aerror( )
 - •Элементы массива ArrayName, когда второй параметр равен 0
 - •Элементы массива ArrayName, когда второй параметр равен 1
 - •Содержимое строки массива ArrayName, когда задан параметр oEventObject
 - •Содержимое строки массива, формируемого afields( )
 - •Значения параметра nType и варианты возвращаемых результатов
 - •Значения параметра nFlags
 - •Информация об объекте vFunc
 - •Состав массива ArrayName
 - •Состав массива ArrayName для разных объектов проектирования
 - •Значения параметра nValue
 - •Действие параметра nType
 - •Биты параметра nFlags
 - •Условия поиска, задаваемые параметром nFlags
 - •Элементы строки массива, формируемого astackinfo( )
 - •Состав строки массива, формируемого ataginfo( )
 - •Состав строки массива, формируемого avcxclasses( )
 - •6.1. Отображение массива в форме
 - •6.2.1. Решаемые задачи
 - •6.2.2. Элементы управления формы
 - •Элементы управления формы ArrayShow
 - •6.2.3. Свойства и событие Init формы
 - •Новое и измененные свойства формы
 - •6.2.4. Поле списка формы
 - •6.2.5. Кнопки формы
 - •6.2.6. Счетчик и переключатели формы
 - •6.2.7. Надписи формы
 - •6.2.8. Массив как параметр формы
 - •7. Обработка ошибок исполнения
 - •7.1. Перечень команд и функций
 - •Список команд и функций
 - •7.2. Виды обработчиков ошибок
 - •Значения, возвращаемые функцией sys(2410)
 - •7.3. On error-обработчик ошибок
 - •Функции для локализации и расшифровки ошибки
 - •Команды cancel, resume, retry, return и suspend
 - •7.4. Обработчик события Error
 - •7.5. Конструкция try ... Catch ... Finally
 - •7.5.1. Синтаксис и порядок выполнения конструкции
 - •7.5.2. Дополнительные команды конструкции
 - •7.5.3. Throw в try-конструкции
 - •7.5.4. Итоговые замечания
 - •7.6. Взаимодействие обработчиков
 - •7.7. Генерация ошибок vfp
 - •8. Оптимизация функционирования
 - •8.1. Перечень команд и функций
 - •Список команд и функций
 - •8.2. Рашмор-оптимизация
 - •8.2.1. Бинарный поиск
 - •8.2.2. Сравнение последовательного и бинарного поиска
 - •8.2.3. Использование индексов для оптимизации вычислений
 - •8.2.4. Потенциально оптимизируемые Команды
 - •8.2.5. Управление рашмор-оптимизацией
 - •Уровни рашмор-оптимизации запроса
 - •8.2.6. Оптимизация выражений
 - •8.2.7. Составление оптимизируемых выражений
 - •Варианты рашмор-выражений
 - •8.3. Оптимизация программ
 - •8.3.1. Некоторые приемы программирования
 - •8.3.2. Оптимизация повторных обращений к свойствам объектов
 - •8.3.3. Обращение к нескольким свойствам объекта
 - •9. Проект
 - •9.1. Перечень Команд и объектов
 - •Список команд и объектов, употребляемых с проектом
 - •9.2. Проект и диспетчер проекта
 - •9.3. Проект как объект vfp
 - •9.4. Создание и редактирование проекта
 - •9.5. Включаемые и не включаемые файлы
 - •9.6. Главный файл проекта
 - •9.7. Добавление, изменение и удаление файлов проекта
 - •9.8. Закрытие проекта
 - •9.9. Построение приложения
 - •Значения параметра nBuildAction
 - •9.10. Запуск и выход из приложения
 - •10. Формы
 - •10.1. Перечень команд, функций и объектов
 - •Список команд, функций и объектов
 - •10.2. Создание формы
 - •10.3. Выполнение формы
 - •10.3.1. Команда do form
 - •10.3.2. Отображение формы, созданной программно
 - •10.4. Форма как объект
 - •10.4.1. Свойства, события и методы формы
 - •Категории доступности свойств формы
 - •10.4.2. Форма как контейнер
 - •10.4.3. Обеспечение доступа к объектам формы и набора форм
 - •10.5. Набор форм
 - •10.6. Окружение данных
 - •10.6.1. Объект DataEnvironment
 - •10.6.2. Объекты Cursor и Relation
 - •10.7. Объекты, размещаемые в форме
 - •10.7.1. Перечень объектов
 - •Объекты формы
 - •10.7.2. Координаты объектов
 - •10.7.3. Примеры управления вложенными объектами
 - •10.7.4. Список с различными источниками данных
 - •10.8. Панель инструментов: создание и пример употребления
 - •10.9. Дополнительные сведения для форм
 - •10.9.1. Обмен данными между формами
 - •10.9.2. Устранение главного окна vfp
 - •10.9.3. Использование изображений
 - •10.9.4. Сессия данных
 - •11. Меню
 - •11.1. Команды и функции для меню
 - •Команды и функции
 - •11.2. Применение меню
 - •11.2.1. Проектировщик меню
 - •11.2.2. Создание меню средствами проектировщика
 - •Skip For-выражения
 - •11.2.3. Короткое меню
 - •11.2.4. Меню в sdi-форме
 - •11.3. Системное меню
 - •Заголовки и имена пунктов горизонтального подменю системного меню vfp
 - •Заголовки и имена пунктов вертикальных подменю системного меню vfp
 - •12. Извлечение и отображение данных
 - •12.1. Перечень команд и системных переменных
 - •Список команд и системных переменных
 - •12.2. Проектировщик запроса
 - •12.3. Перекрестные таблицы
 - •Параметры генератора перекрестной таблицы
 - •12.4. Диаграммы
 - •12.5. Проектировщик отчета
 - •12.6. Проектировщик этикетки
 - •12.7. Команды для отчета и этикетки
 - •13. Классы и объекты
 - •13.1. Перечень команд и функций
 - •Список команд и функций
 - •13.2. Классы
 - •Базовые классы vfp
 - •Описание элементов массива pemName_comattrib
 - •Флаги атрибута
 - •13.3. Объекты
 - •13.4. События объектов vfp
 - •Значения параметра nFlags
 - •Значения параметра nInfoType
 - •Значения cProperty
 - •Значения параметра nNewValue
 - •13.6. Информация о классе и объекте
 - •Значения параметра nAttribute
 - •13.7. Объекты, встроенные в vfp
 - •Объекты, встроенные в vfp
 - •14. БазА данных
 - •14.1. Перечень команд и функций
 - •Список команд и функций
 - •14.2. Реляционная модель данных
 - •Отношение "Сотрудник – Дата рождения"
 - •14.3. Функциональные зависимости и нормализация таблиц данных
 - •14.3.1. Представление функциональных зависимостей
 - •Уточненное однотабличное представление зависимости "Сотрудник – Дата рождения"
 - •Уточненное двухтабличное представление зависимости "Сотрудник – Дата рождения"
 - •14.3.2. Нормализация отношений
 - •Изделия и поставщики
 - •Реализация изделий
 - •Изделия
 - •Поставщики изделий
 - •Поставщики
 - •Поставщики изделий
 - •Виды изделий
 - •Изделия
 - •14.4. Ссылочная целостность данных
 - •14.5. Состав и свойства базы данных и ее компонентов
 - •14.6. Команды для баз данных
 - •14.6.1. Команды, оперирующие базой данных
 - •14.6.2. Команды, оперирующие таблицей базы данных
 - •14.6.3. Триггеры
 - •14.6.4. Хранимые процедуры
 - •14.7. Функции для баз данных
 - •Возможные значения параметра cType
 - •Возможные значения параметра cType
 - •15. Команды и функции для таблиц и их индексов
 - •15.1. Перечень команд
 - •Список команд и функций
 - •15.2. Выбор рабочей области
 - •15.3. Открытие и закрытие таблицы
 - •15.4. Создание и изменение таблиц
 - •Варианты задания параметров FieldType, nFieldWidth и nPrecision
 - •Поля таблицы, создаваемой copy structure extended
 - •15.5. Сортировка таблицы
 - •15.6. Редактирование записей таблиц
 - •15.6.1. Общие опции и параметры команд
 - •Опции и параметры команд
 - •15.6.2. Предварительные замечания
 - •15.6.3. Добавление записей
 - •Значения по умолчанию полей разных типов
 - •15.6.4. Обновление записей
 - •15.6.5. Копирование записей
 - •15.6.6. Удаление и восстановление записей
 - •15.7. Сопутствующие команды
 - •Значения для параметра nLevel
 - •Команды и функции, на которые влияет установка set compatible
 - •15.8. Функции для таблиц
 - •15.9. Управление индексами
 - •15.9.1. Индексирование таблиц
 - •15.9.2. Команды для индексов
 - •15.9.3. Функции для индексов
 - •Значения nIndexNumber
 - •15.10. Поиск и перемещение в таблице
 - •15.10.1. Команды для Поиска и перемещения в таблице
 - •15.10.2. Функции для Поиска и перемещения в таблице
 - •15.11. Блокировка таблиц и записей
 - •15.11.1. Автоматическая блокировка
 - •Команды и функции, выполняющие автоматическую блокировку
 - •15.11.2. Команды, используемые при блокировке таблиц и записей
 - •15.11.3. Функции, используемые при блокировке таблиц и записей
 - •15.12. Экспорт и импорт данных
 - •Типы экспортируемых и импортируемых файлов
 - •15.13. Управление свойствами таблиц и курсоров
 - •Свойства курсора vfp
 - •Свойства курсора vfp, не описанные в табл. 15.11
 - •15.14. Курсор-адаптер
 - •15.15. Буферизация
 - •15.15.1. Виды буферизации
 - •15.15.2. Фиксация и отмена изменений
 - •Значения параметра nRows
 - •Результаты функции getfldstate( ) и параметр nFieldState функции setfldstate( )
 - •15.16. Транзакции
 - •15.17. Связывание таблиц
 - •15.18. Просмотр и редактирование таблиц
 - •15.18.1. Команда browse
 - •Возможные символы cFormatCodes
 - •15.18.2. Вычисляемые поля
 - •15.18.3. Поддержка set skip
 - •15.18.4. Обновление данных
 - •15.18.5. Команды edit и change
 - •15.19. Выбор данных
 - •Агрегатные функции
 - •Значения параметра JoinType
 - •Опции и параметры выражения отбора
 - •Допустимые неявные преобразования типов данных
 - •Результаты неявного преобразования типов данных двух полей
 - •Особенности поведения sql-опций в версии 8.0
 - •Особенности поведения sql-опций в версии 9.0
 - •16. Представление данных
 - •16.1. Перечень команд и функций
 - •Перечень команд и функций для именованных соединений
 - •Перечень функций для sql-соединений
 - •Перечень команд и функций для sql-видов
 - •16.2. Именованные Соединения
 - •16.2.1. Создание Именованного Соединения
 - •16.2.2. Команды для именованных соединений
 - •16.3.1. Работа с удаленным источником данных
 - •16.3.2. Описание базы данных BookSale
 - •Некоторые таблицы базы данных BookSale.Mdb
 - •Поля таблиц базы данных BookSale.Mdb
 - •Индексы таблиц базы данных BookSale.Mdb
 - •16.3.3. Параметр и результат sql-Функций
 - •16.3.4. Выполнение sql-функций в асинхронном режиме
 - •Свойства sql-соединения
 - •Столбцы курсора, создаваемого sqltables( )
 - •Имена столбцов курсора в формате "foxpro"
 - •Имена столбцов курсора в формате "native"
 - •Состав массива aCountInfo
 - •16.3.6. Пример с запросом к нескольким таблицам
 - •16.4. Виды
 - •16.4.1. Понятие вида. Интерактивное построение
 - •16.4.2. Команды и функции для sql-видов
 - •16.4.3. Автономные виды
 - •17. Динамический обмен данными
 - •Список dde-функций
 - •Служебные имена dde-серверов
 - •Параметры, передаваемые процедуры, заданной cUdfName
 - •Значения параметра cOption
 - •Параметр Action и соответствующие значения параметров Item, Data и AdviseStatus
 - •Значения параметра cOption
 - •Параметры cUdfName-функции
 - •Номера dde-ошибок
 - •18. Окна, клавиатура, мышь и цвет
 - •Команды и функции для окон
 - •Команды и функции для клавиатуры
 - •Команда и функции для мыши
 - •Управление цветом
 - •19. Файлы и директории
 - •19.1. Перечень команд
 - •Список команд
 - •19.2. Команды для файлов и директорий
 - •19.3. Функции для файлов и директорий
 - •Функции для файлов и директорий
 - •19.4. Диалоги
 - •Одноименные параметры рассматриваемых в разделе функций
 - •Наиболее часто употребляемые значения параметра nFlags
 - •Форматы графических файлов, поддерживаемые vfp
 - •20.1. Перечень команд и функций
 - •Список команд и функций
 - •20.2. Некоторые понятия xml
 - •20.3. Набор символов Unicode
 - •20.4. Кодировка utf-8
 - •20.5. Базовые правила xml
 - •Кодирование зарезервированных символов
 - •Формы представления различных типов данных
 - •20.6. Схемы
 - •20.7. Формат экспортируемых данных
 - •20.8. Описание xml-функций
 - •Значения параметра nOutputFormat
 - •Значения для параметра nFlags
 - •Значения параметра nFlags
 - •Соответствия Windows-совместимых кодовых страницы и значений xml-атрибута encoding
 - •Значения параметра cSchemaName
 - •Значения для параметра nFlags
 - •Соответствие типов данных vfp и xsd
 - •Значения для параметра nFlags
 - •Литература
 - •Предметный указатель
 - •Содержание
 
Состав строки массива, формируемого avcxclasses( )
Номер столбца  | 
		Что содержит  | 
		VCX-поле  | 
	
1  | 
		Имя класса  | 
		OBJNAME  | 
	
2  | 
		Базовый класс класса  | 
		BASECLASS  | 
	
3  | 
		Родительский класс класса  | 
		CLASS  | 
	
4  | 
		Относительный путь и имя файла библиотеки родительского класса  | 
		CLASSLOC  | 
	
5  | 
		Относительный путь и имя файла иконки класса  | 
		RESERVED4  | 
	
6  | 
		Относительный путь и имя файла иконки класса в диспетчере проектов или браузере классов  | 
		RESERVED5  | 
	
7  | 
		Единица измерения изображения (пиксель или фоксель (знакоместо))  | 
		RESERVED6  | 
	
8  | 
		Описание класса  | 
		RESERVED7  | 
	
9  | 
		Относительный путь INCLUDE-файла класса  | 
		RESERVED8  | 
	
10  | 
		Информация для класса, занесенная пользователем  | 
		USER  | 
	
11  | 
		.T., если класс является OLEPUBLIC, или .F. – в противном случае  | 
		RESERVED2  | 
	
cLibraryName – имя файла библиотеки класса; может содержать путь к библиотеке. Если имя файла указано неверно, то возникнет ошибка исполнения.
Функция AVCXCLASSES( ) возвращает число строк в массиве, равное числу классов в библиотеке классов.
Пример. Выбирается, используя GETFILE( ), библиотека классов. Выбранное значение передается функции AVCXCLASSES( ). Сформированный ею массив arrayOfClasses выводится на печать.
vcxFile = GetFile("VCX", "Имя файла:", "Выбрать", 0, "Выбор VCX-файла")
if not Empty(vcxFile) then
&& Выделяем расширение выбранного файла
fileExt = JustExt(vcxFile)
&& Проверяем, имеет ли выбранный файл расширение VCX
if Upper(fileExt) = 'VCX' then
&& Печатаем имя файла
? vcxFile
&& Формируем массив arrayOfClasses и печатаем число классов
? "Всего классов в библиотеке:", AVCXClasses(arrayOfClasses, vcxFile)
? "Печатаем информацию о первом классе библиотеки"
for iCol = 1 to Alen(arrayOfClasses, 2)
? iCol, arrayOfClasses(1, iCol)
endFor
endif
endif
Возможный результат (выбран класс _DIALOGS.VCX):
C:\PROGRAM FILES\MICROSOFT VISUAL FOXPRO 9\FFC\_DIALOGS.VCX
Всего классов в библиотеке: 7
Печатаем информацию о первом классе библиотеки
1 _splash
2 form
3 _form
4 _base.vcx
5
6
7 Pixels
8
9
10
11 .F.
6.1. Отображение массива в форме
6.2.1. Решаемые задачи
В форме ArrayShow (рис. 6.4) создается двумерный числовой массив FormArray, который отображается в поле списка ListArray.
Рис. 6.4. Двумерный массив в поле списка формы
С массивом выполняются следующие операции:
очистка;
заполнение;
запись на диск в текстовый файл;
сортировка (по возрастанию или убыванию) заданного столбца массива.
При открытии формы массив заполняется целыми случайными числами в диапазоне от 0 до 9.
6.2.2. Элементы управления формы
Создадим форму в проекте HomeLibrary на его вкладке Documents, сохранив форму в файле d:\ArrayShow.scx.
Поместим в форме, используя панель управления Form Controls, приведенные в табл. 6.24 элементы управления (в последнем столбце таблицы указывается соответствующая иконка панели управления Form Controls).
Таблица 6.24
